Команды LVM - копирование LV между двумя дисками

Я хотел бы просто скопировать LV с одного диска на другой, но как бы просто это ни звучало, для меня это становится действительно абстрактным после долгих поисков, чтобы придумать правильный процесс. Поэтому я думаю, что мне нужно подтолкнуть в правильном направлении.

-Как мне переместить lv.root сделать MD10, у меня есть подсказки, что мне нужно, чтобы расширить vg.system на MD10 и MD20, а затем скопировать Л.В. Есть много возможностей для команд 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 точно такой же.

1 ответ

Я думаю, что вам лучше создать новые тома и просто скопировать данные, чем пытаться сделать следующее:

Шаги приблизительные (и, конечно, не проверенные, поэтому начните с проверки резервных копий ваших данных):

  • преобразовать новые блочные устройства в хранилище, подходящее для 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
    
Другие вопросы по тегам