Tính đến LVM trong Debian căng (9.0), cụ thể là 2.02.168-2, nó có thể làm một bản sao của một khối lượng hợp lý giữa các nhóm khối lượng sử dụng kết hợp vgmerge, lvconvertvà vgsplit. Vì di chuyển là sự kết hợp của một bản sao và xóa, nên điều này cũng sẽ hoạt động cho một di chuyển.
Ngoài ra, bạn có thể sử dụng pvmoveđể chỉ di chuyển âm lượng.
Một phiên ví dụ độc lập hoàn chỉnh sử dụng các thiết bị lặp và làm
lvconverttheo.
Tóm tắt: chúng ta tạo ra volume group vg1với khối lượng hợp lý lv1, và vg2với lv2, và tạo một bản sao của lv1năm vg2.
Tạo tập tin.
truncate pv1 --size 100MB
truncate pv2 --size 100MB
Thiết lập các thiết bị lặp trên các tập tin.
losetup /dev/loop1 pv1
losetup /dev/loop2 pv2
Tạo khối lượng vật lý trên các thiết bị vòng lặp (khởi tạo các thiết bị vòng lặp để LVM sử dụng).
pvcreate /dev/loop1 /dev/loop2
Tạo các nhóm khối lượng vg1và vg2trên /dev/loop1và /dev/loop2
tương ứng.
vgcreate vg1 /dev/loop1
vgcreate vg2 /dev/loop2
Tạo khối lượng logic lv1và lv2trên vg1và vg2tương ứng.
lvcreate -L 10M -n lv1 vg1
lvcreate -L 10M -n lv2 vg2
Tạo hệ thống tập tin ext4 trên lv1và lv2.
mkfs.ext4 -j /dev/vg1/lv1
mkfs.ext4 -j /dev/vg2/lv2
Tùy chọn, viết một cái gì đó lên lv1để sau này bạn có thể kiểm tra bản sao đã được tạo chính xác. Làm cho vg1không hoạt động.
vgchange -a n vg1
Chạy lệnh hợp nhất trong chế độ thử nghiệm. Điều này hợp nhất lv1thành lv2.
vgmerge -A y -l -t -v <<destination-vg>> <<source-vg>>
vgmerge -A y -l -t -v vg2 vg1
Và sau đó là thật.
vgmerge -A y -l -v vg2 vg1
Sau đó, tạo một cặp nhân bản RAID 1 lv1bằng cách sử dụng lvconvert. Đối số <> nói lvconvertđể làm cho bản sao nhân bản
lv1_copytrên /dev/loop2.
lvconvert --type raid1 --mirrors 1 <<source-lv>> <<dest-pv>>
lvconvert --type raid1 --mirrors 1 /dev/vg2/lv1 /dev/loop2
Sau đó tách gương. LV mới bây giờ lv1_copy.
lvconvert --splitmirrors 1 --name <<source-lv-copy>> <<source-lv>>
lvconvert --splitmirrors 1 --name lv1_copy /dev/vg2/lv1
Làm cho vg2không hoạt động.
vgchange -a n vg2
Sau đó (chế độ thử nghiệm)
vgsplit -t -v <<source-vg>> <<destination-vg>> <<moved-to-pv>>
vgsplit -t -v /dev/vg2 /dev/vg1 /dev/loop1
Cho thật
vgsplit -v /dev/vg2 /dev/vg1 /dev/loop1
Kết quả đầu ra:
lvs
[...]
lv1 vg1 -wi-a----- 12.00m
lv1_copy vg2 -wi-a----- 12.00m
lv2 vg2 -wi-a----- 12.00m
GHI CHÚ:
1) Hầu hết các lệnh này sẽ cần phải được chạy dưới quyền root.
2) Nếu có bất kỳ sự trùng lặp nào về tên của các khối hợp lý trong hai nhóm âm lượng, vgmergesẽ từ chối tiếp tục.
3) Khi hợp nhất:
Logical volumes in `vg1` must be inactive
Và chia tay:
Logical volume `vg2/lv1` must be inactive.