В настоящее время у меня есть несколько логических томов (LV) в группе томов (VG). Эта группа VG размещается на одном физическом томе (PV). У меня есть запасной диск, который я могу использовать для перетасовки данных.
У меня также теперь есть новый привод, который соответствует моему оригинальному приводу PV. Я хотел бы переместить существующие LV, чтобы в итоге LV были разделены на два PV. Это возможно? Как ты это делаешь?
Похоже, это невозможно из командной строки. striping
сильно отличается от значения по умолчанию linear
схема размещения. Таким образом, хотя вы можете расширить файловую систему на несколько физических томов (PV
), вы не получите преимуществ чередования по «балансировке нагрузки».
Чтобы расширить файловую систему, сделайте что-то вроде этого:
pvcreate /dev/mapper/md2_crypt
vgextend crypto /dev/mapper/md2_crypt
umount /dev/mapper/crypto-srv
fsck.ext4 -C0 -f /dev/mapper/crypto-srv
lvresize -l +100%FREE /dev/mapper/crypto-srv
resize2fs /dev/mapper/crypto-srv
mount /srv
В приведенном выше примере md2_crypt
представляет собой криптографический том поверх массива RAID-1, но это может быть любое устройство. crypto
группа томов (VG
) и crypto-srv
это логический том, который содержит файловую систему, смонтированную на /srv
.
Напоминание: вы действительно должны использовать как минимум массив RAID-1, потому что, если PV выходит из строя в
linear
логический том (LV
), вы можете потерять все данные.
Это будет не сделать /srv
перегородки с полосами поперек PV. Это потому что нет инструментов пользовательского пространства для поддержки linear
к striped
конверсии. Логично, что это было бы в lvconvert
команда, но это поддерживает только переход от linear
к mirror
режим и обратно, например. И со всеми новыми разработками BTRFSЯ был бы удивлен, если бы это когда-нибудь задокументировали.
Одно вы жестяная банка однако, есть новый данные на диске будут чередоваться. Это довольно сложно, но возможно. Предположим, мы хотим полоску crypto-tmp
, LV для /tmp
. Сначала нам нужно освободить место для полос в первом PV:
pvmove -n crypto/tmp /dev/mapper/md1_crypt
Это перераспределит LV по PV, в моем случае он переместил все это во второй PV:
root@foo:~# pvs --segments -o+lv_name,seg_start_pe,segtype
PV VG Fmt Attr PSize PFree Start SSize LV Start Type
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 10.00g 0 2384 root 0 linear
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 10.00g 2384 256 swap 0 linear
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 10.00g 2640 2560 0 free
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 10.00g 5200 709901 srv 0 linear
/dev/mapper/md2_crypt crypto lvm2 a-- 1.82t 1.81t 0 2560 tmp 0 linear
/dev/mapper/md2_crypt crypto lvm2 a-- 1.82t 1.81t 2560 474077 0 free
Теперь вы можете увеличить файловую систему (скажем, мы удвоим ее размер) и указать LVM разделить новые данные:
root@foo:~# lvresize -i 2 -l 5120 /dev/crypto/tmp
Using default stripesize 64.00 KiB
Extending logical volume tmp to 20.00 GiB
Logical volume tmp successfully resized
Теперь новые данные для /tmp
проходит через два PV:
root@foo:~# pvs --segments -o+lv_name,seg_start_pe,segtype
PV VG Fmt Attr PSize PFree Start SSize LV Start Type
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 5.00g 0 2384 root 0 linear
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 5.00g 2384 256 swap 0 linear
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 5.00g 2640 1280 tmp 2560 striped
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 5.00g 3920 1280 0 free
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 5.00g 5200 709901 srv 0 linear
/dev/mapper/md2_crypt crypto lvm2 a-- 1.82t 1.80t 0 2560 tmp 0 linear
/dev/mapper/md2_crypt crypto lvm2 a-- 1.82t 1.80t 2560 1280 tmp 2560 striped
/dev/mapper/md2_crypt crypto lvm2 a-- 1.82t 1.80t 3840 472797 0 free
Но исходные данные все еще в linear
Режим. Может быть возможно шаг файловую систему до полосатой границы, но считайте это упражнением для читателя на данном этапе. :)
Смотрите также Увеличение объема LVM с чередованием и Redhat LVM меняет полосы?.
Также обратите внимание, что обратное (преобразование striped
к linear
) возможно, однако: Можно ли преобразовать чередующийся логический том в линейный логический том?.