id хотел бы просто скопировать LV с одного диска на другой, но, как бы просто это ни звучало, для меня это становится действительно абстрактным после долгих поисков в Google, чтобы найти правильный процесс. Так что я думаю, что мне нужен толчок в правильном направлении.
-Как перенести lv.root на md10, у меня есть подсказки, что мне нужно расширить vg.system на md10 и md20, а затем скопировать lv. Для команд vg * и lv * существует множество возможностей, и я не уверен, какая из них лучше всего подходит для этой цели.
Ситуация такая:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 119.2G 0 disk
|-sda1 8:1 0 9M 0 part
`-sda2 8:2 0 119.2G 0 part
`-md0 9:0 0 119.2G 0 raid1
|-vg.system-lv.root 253:0 0 30G 0 lvm /
`-vg.system-lv.cache 253:1 0 80G 0 lvm /mnt/cdn-cache
sdb 8:16 0 119.2G 0 disk
|-sdb1 8:17 0 9M 0 part
|-sdb2 8:18 0 29.3G 0 part
| `-md10 9:10 0 29.3G 0 raid1
`-sdb3 8:19 0 90G 0 part
`-md20 9:20 0 89.9G 0 raid0
ожидаемый результат должен выглядеть примерно так:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 119.2G 0 disk
|-sda1 8:1 0 9M 0 part
`-sda2 8:2 0 119.2G 0 part
`-md0 9:0 0 119.2G 0 raid1
|-vg.system-lv.root 253:0 0 30G 0 lvm /
`-vg.system-lv.cache 253:1 0 80G 0 lvm /mnt/cdn-cache
sdb 8:16 0 119.2G 0 disk
|-sdb1 8:17 0 9M 0 part
|-sdb2 8:18 0 29.3G 0 part
| `-md10 9:10 0 29.3G 0 raid1
vg.system-lv.root
`-sdb3 8:19 0 90G 0 part
`-md20 9:20 0 89.9G 0 raid0
-vg.system-lv.cache
Я думаю, цель не так важна, но на всякий случай - позже я отформатирую sda2 и разделю его так же, как sdb, и объединю диск в подготовленные пулы рейдов, ожидая более высокой производительности от раздела кеша.
РЕДАКТИРОВАТЬ: Спасибо, ребята, я понял, что размер немного отличается, поэтому я скорректировал его, теперь его точное совпадение, странно, что размер отличается -
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 119.2G 0 disk
|-sda1 8:1 0 9M 0 part
`-sda2 8:2 0 119.2G 0 part
`-md0 9:0 0 119.2G 0 raid1
|-vg.system-lv.root 253:0 0 30G 0 lvm /
`-vg.system-lv.cache 253:1 0 80G 0 lvm /mnt/cdn-cache
sdb 8:16 0 119.2G 0 disk
|-sdb1 8:17 0 10M 0 part
|-sdb2 8:18 0 30G 0 part
| `-md10 9:10 0 30G 0 raid1
`-sdb3 8:19 0 80.1G 0 part
`-md20 9:20 0 80G 0 raid0
PV Name /dev/md0
VG Name vg.system
PV Size 119.17 GiB / not usable 1.31 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 30507
Free PE 2347
Allocated PE 28160
PV UUID 97qFfS-qcNo-Wp8W-QfWj-Ilqx-e7Jw-uMLXX7
--- Physical Segments ---
Physical extent 0 to 7679:
Logical volume /dev/vg.system/lv.root
Logical extents 0 to 7679
Physical extent 7680 to 28159:
Logical volume /dev/vg.system/lv.cache
Logical extents 0 to 20479
Physical extent 28160 to 30506:
FREE
--- Physical volume ---
PV Name /dev/md10
VG Name vg.system
PV Size 30.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 7679
Free PE 7679
Allocated PE 0
PV UUID gLYsRF-kNlb-F7c9-9BS5-Xi05-pfCY-z093pb
--- Physical Segments ---
Physical extent 0 to 7678:
FREE
--- Physical volume ---
PV Name /dev/md20
VG Name vg.system
PV Size 80.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 20479
Free PE 20479
Allocated PE 0
PV UUID vYljv8-tNc3-9jdE-p5rk-eI3y-8FVs-l1bCSF
--- Physical Segments ---
Physical extent 0 to 20478:
Странный. Мне удалось использовать
pvmove -v -n lv.cache /dev/md20 /dev/md0
раньше, а затем я вернул его обратно в md0, потому что после этого я использовал gparted для изменения размера дисков, чтобы общее количество PE совпадало, и не происходило переполнения, и продолжалось.
У меня сейчас две проблемы. Вышеуказанная команда больше не работает
pvmove -v -n lv.cache /dev/md20 /dev/md0
Cluster mirror log daemon is not running.
Wiping internal VG cache
Wiping cache of LVM-capable devices
Archiving volume group "vg.system" metadata (seqno 28).
Creating logical volume pvmove0
No data to move for vg.system
А также меня немного беспокоит, что небольшое несоответствие в размерах ergo 80G на 80,1G создаст проблемы при сборке в пул RAID позже: / Не уверен, почему размер отличается, а TOTAL PE точно такой же.
Я думаю, вам может быть лучше создать новые тома и просто скопировать данные, чем пытаться сделать следующее:
Шаги примерно (и, конечно, не проверены, поэтому начните с проверки резервных копий ваших данных):
преобразовать новые блочные устройства в хранилище, подходящее для LVM
pvcreate /dev/md10
pvcreate /dev/md20
добавить новое хранилище в существующую группу томов с именем "vg.system"
vgextend vg.system /dev/md10
vgextend vg.system /dev/md20
Обычно вы бы сейчас бежали pvmove /dev/md01
и vgreduce vg.system /dev/md01
чтобы переместить все данные из / dev / md01, но хотите контролировать, какие данные lvm куда идут, поэтому:
Я думаю, вы можете изменить существующие логические тома, чтобы использовать определенный физический том для внутреннего хранилища с lvconvert
:
lvconvert --replace /dev/md01 vg.system/lv.root /dev/md10
lvconvert --replace /dev/md01 vg.system/lv.cache /dev/md20
подтвердить прогресс
lvs -a -o name,copy_percent,devices
Наконец, удалите блочное устройство md01 из группы томов lv, и все ваши данные должны быть перенесены.
vgreduce vg.system /dev/md01