Zasadniczo chcę przenieść / skopiować kilka woluminów logicznych (lv) do nowej grupy woluminów (vg). Nowa grupa woluminów znajduje się na nowym zestawie woluminów fizycznych. Czy ktoś wie, jak to zrobić bezpiecznie, nie uszkadzając danych w tych logicznych woluminach?
partitioning
hard-drive
lvm
nikt
źródło
źródło
Odpowiedzi:
vgmerge pozwala łączyć dwa VG. Możesz także użyć pvmove do przenoszenia danych w VG i vgsplit, jeśli chcesz wrócić do wielu VG.
źródło
Nie ma powodu, aby najpierw skopiować go do pliku .img, po prostu wykonaj najpierw lvcreate, a następnie bezpośrednio skopiuj:
źródło
Okej, byłem w stanie poradzić sobie z sytuacją na swój własny sposób. Oto kroki, które podjąłem:
1) Zrób migawkę woluminu logicznego targetowania.
lvcreate --snapshot --name <the-name-of-the-snapshot> --size <the size> /dev/volume-group/logical-volume
2) Utwórz kopię obrazu zawartości migawki za pomocą
dd
dd if=/dev/volume-group/snapshot-name of=/tmp/backup.img
3) Utwórz nowy wolumin logiczny o wystarczającej wielkości w docelowej (nowej) grupie woluminów.
lvcreate --name <logical-volume-name> --size <size> the-new-volume-group-name
4) Zapisz dane na nowym woluminie logicznym z kopii zapasowej obrazu za pomocą
dd
dd if=/tmp/backup.img of=/dev/new-volume-group/new-logical-volume
5) usuń migawkę i kopię zapasową obrazu, używając odpowiednio
lvremove
irm
.To wszystko ludzie ... Mam nadzieję, że to komuś pomoże :)
źródło
Począwszy od LVM w odcinku Debiana (9.0), a mianowicie 2.02.168-2, jest możliwe do wykonania kopii objętości logicznego w grupach objętości za pomocą kombinacji
vgmerge
,lvconvert
ivgsplit
. Ponieważ przeniesienie jest kombinacją kopii i usunięcia, zadziała to również w przypadku przeniesienia.Możesz też użyć
pvmove
do przeniesienia głośności.Kompletna, samodzielna przykładowa sesja z wykorzystaniem urządzeń pętlowych i
lvconvert
następnych.Podsumowanie: tworzymy grupę woluminów vg1 z logicznym woluminem lv1 i vg2 z lv2 i tworzymy kopię lv1 w vg2.
Utwórz pliki.
Skonfiguruj urządzenia pętlowe na plikach.
Utwórz woluminy fizyczne na urządzeniach pętli (zainicjuj urządzenia pętli do użytku przez LVM).
Utwórz grupy woluminów vg1 i vg2 odpowiednio w / dev / loop1 i / dev / loop2.
Utwórz woluminy logiczne lv1 i lv2 odpowiednio w wersjach vg1 i vg2.
Twórz systemy plików ext4 na poziomach 1 i 2.
Opcjonalnie napisz coś na lv1, aby później sprawdzić, czy kopia została poprawnie utworzona. Uaktywnij vg1.
Uruchom polecenie scalania w trybie testowym. To łączy lv1 z lv2.
A potem naprawdę.
Następnie utwórz parę kopii RAID 1
lv1
przy użyciulvconvert
. Argument <> mówi,lvconvert
aby kopia lustrzana byłalv1_copy
włączona/dev/loop2
.Następnie podziel lustro. Nowa LV jest teraz lv1_copy.
Uaktywnij vg2.
Następnie (tryb testowy)
Na serio
Wynikowy wynik:
UWAGI:
1) Większość tych poleceń będzie musiała być uruchomiona jako root.
2) W przypadku jakiegokolwiek powielenia nazw woluminów logicznych w dwóch grupach woluminów
vgmerge
odmówi kontynuowania.3) Po scaleniu:
I przy podziale:
źródło
W 4 dotychczasowych odpowiedziach brakuje, że dokładny rozmiar tomu często nie jest znany.
lvdisplay
pokazuje tylko wartości zaokrąglone do 2 miejsc po przecinku iman lvdisplay
wskazuje tylko inne polecenia dla dostępnych opcji. Następujące wybiera MiB, który jest wystarczająco dokładny przy domyślnym rozmiarze bloku LVM 4 MiB:lvdisplay --units m
MiB jest także domyślne urządzenie do
--size
zlvcreate
. W razie wątpliwości sprawdź dwukrotnie poprawny rozmiarlvdisplay
po utworzeniu woluminu docelowego. Następnie przejdź dalej, jak w innych odpowiedziach, aby wykonać kopię. Ponadto zalecam sprawdzenie kopii , na przykład za pomocącmp
.Oto dlaczego używana jest migawka oraz co chroni i nie chroni:
Migawka jest tworzona w taki sposób, że wszystkie dane są kopiowane tak, jak w momencie tworzenia migawki. Działania na woluminie źródłowym podczas procesu kopiowania nie zostaną odzwierciedlone w kopii.
Migawka chroni również wolumin źródłowy przed błędami ludzkimi w
dd
wierszu polecenia. Jeśli przypadkowo napiszesz do migawki, tylko dane migawki zostaną uszkodzone i możesz po prostu usunąć migawkę i zacząć od nowa.Wolumin docelowy nie jest chroniony podczas procesów kopiowania. Jeśli inny administrator (lub proces automatyczny, taki jak os-prober
dracut
) zamontuje niekompletny wolumin, to montaż może coś popsuć . (Nawet montowanie tylko do odczytu może nadal zapisywać pozycje dziennika w woluminie).źródło
Oferuję własne:
jeśli wszystko jest w porządku, usuń źródło
źródło
Jeśli chcesz skopiować wolumin logiczny z VG A do innego VG B, znalazłem interesujący wariant przy użyciu
partclone
. Migawka, a następnie kopiowanie za pomocą dd jest dobrą metodą, ale może być powolna, jeśli twój system plików nie jest pełny. To rozwiązanie jest bardzo szybkie, ponieważ kopiuje tylko używane bloki.--size
o to ile zapisu może wystąpić zanim migawka będzie wyłączonenew_lv_size
musi być co najmniej wielkości źródła LVfs_type
może byćext4
,fat32
,btrfs
,xfs
, ... wszelkie FS obsługiwany przez partcloneźródło