Sampai dengan LVM di Debian peregangan (9.0), yaitu 2.02.168-2, itu mungkin untuk melakukan copy dari volume logis di seluruh kelompok volume dengan menggunakan kombinasi dari vgmerge
, lvconvert
, dan vgsplit
. Karena langkah adalah kombinasi dari salinan dan penghapusan, ini juga akan berfungsi untuk bergerak.
Atau, Anda dapat menggunakan pvmove
untuk hanya memindahkan volume.
Sesi contoh lengkap mandiri menggunakan perangkat loop dan
lvconvert
ikuti.
Ringkasan: kita menciptakan kelompok volume vg1
dengan volume logis lv1
, dan vg2
dengan lv2
, dan membuat salinan dari lv1
dalam vg2
.
Buat file.
truncate pv1 --size 100MB
truncate pv2 --size 100MB
Siapkan perangkat loop pada file.
losetup /dev/loop1 pv1
losetup /dev/loop2 pv2
Buat volume fisik pada perangkat loop (inisialisasi perangkat loop untuk digunakan oleh LVM).
pvcreate /dev/loop1 /dev/loop2
Buat kelompok Volume vg1
dan vg2
di /dev/loop1
dan /dev/loop2
masing-masing.
vgcreate vg1 /dev/loop1
vgcreate vg2 /dev/loop2
Buat volume logis lv1
dan lv2
terus vg1
dan vg2
masing - masing.
lvcreate -L 10M -n lv1 vg1
lvcreate -L 10M -n lv2 vg2
Buat sistem file ext4 di lv1
dan lv2
.
mkfs.ext4 -j /dev/vg1/lv1
mkfs.ext4 -j /dev/vg2/lv2
Secara opsional, tuliskan sesuatu lv1
agar Anda nanti dapat memeriksa apakah salinannya telah dibuat dengan benar. Jadikan vg1
tidak aktif.
vgchange -a n vg1
Jalankan perintah gabung dalam mode uji. Ini bergabung lv1
menjadi lv2
.
vgmerge -A y -l -t -v <<destination-vg>> <<source-vg>>
vgmerge -A y -l -t -v vg2 vg1
Dan kemudian nyata.
vgmerge -A y -l -v vg2 vg1
Kemudian buat pasangan cermin RAID 1 dari lv1
menggunakan lvconvert
. The <> Argumen mengatakan lvconvert
untuk membuat salinan cermin
lv1_copy
di /dev/loop2
.
lvconvert --type raid1 --mirrors 1 <<source-lv>> <<dest-pv>>
lvconvert --type raid1 --mirrors 1 /dev/vg2/lv1 /dev/loop2
Lalu belah cermin. LV baru sekarang lv1_copy
.
lvconvert --splitmirrors 1 --name <<source-lv-copy>> <<source-lv>>
lvconvert --splitmirrors 1 --name lv1_copy /dev/vg2/lv1
Jadikan vg2
tidak aktif.
vgchange -a n vg2
Kemudian (mode pengujian)
vgsplit -t -v <<source-vg>> <<destination-vg>> <<moved-to-pv>>
vgsplit -t -v /dev/vg2 /dev/vg1 /dev/loop1
Nyata
vgsplit -v /dev/vg2 /dev/vg1 /dev/loop1
Output yang dihasilkan:
lvs
[...]
lv1 vg1 -wi-a----- 12.00m
lv1_copy vg2 -wi-a----- 12.00m
lv2 vg2 -wi-a----- 12.00m
CATATAN:
1) Sebagian besar dari perintah ini perlu dijalankan sebagai root.
2) Jika ada duplikasi nama volume logis dalam dua grup volume, vgmerge
akan menolak untuk melanjutkan.
3) Saat digabung:
Logical volumes in `vg1` must be inactive
Dan di split:
Logical volume `vg2/lv1` must be inactive.