Okna.  Wirusy.  Laptopy.  Internet.  Biuro.  Narzędzia.  Kierowcy

Właściwie chciałbym w prosty i przystępny sposób opowiedzieć o tak wspaniałej rzeczy, jak zarządzanie woluminami logicznymi lub zarządzanie woluminami logicznymi.
Ponieważ korzystam z LVM od dłuższego czasu, opowiem co to konkretnie oznacza dla mnie, bez zaglądania do manuali i wyciągania cytatów z wiki, własnymi słowami, żeby było jasne dla tych, którzy nie wiedzieć cokolwiek na ten temat. Postaram się nie mówić od razu o wszelkiego rodzaju „zaawansowanych” funkcjach, takich jak paski, migawki itp.

LVM to dodatkowa warstwa abstrakcji sprzętu, która pozwala nam zebrać stosy różnych dysków w jeden, a następnie ponownie podzielić go na partycje dokładnie tak, jak chcemy.

Istnieją 3 poziomy abstrakcji:
1. PV (Physical Volume) - woluminy fizyczne (mogą to być partycje lub całe dyski „niepodzielone na partycje”)
2. VG (Volume Group) - grupa woluminów (łączymy woluminy fizyczne (PV) w grupę, tworzymy pojedynczy dysk, który będziemy dalej partycjonować według uznania)
3. LV (wolumin logiczny) - partycje logiczne, rzeczywista partycja naszego nowego „pojedynczego dysku”, czyli grupy woluminów, którą następnie formatujemy i używamy jako zwykłej partycji, zwykłego dysku twardego.
To chyba cała teoria. :) teraz ćwicz:
Do pracy potrzebujesz pakietów lvm2 i możliwości pracy z uprawnieniami roota, dlatego:
$sudo bash
# apt-get zainstaluj lvm2

Załóżmy, że mamy w komputerze dysk twardy o pojemności 40 GB i udało nam się uzbierać trochę pieniędzy i w końcu kupić sobie TERABAJT! :))) System już działa, a pierwszy dysk jest podzielony na jedną partycję (/dev/sda1 jako /), drugi - największy, który właśnie podłączyliśmy - w ogóle nie jest podzielony na /dev/sdb ...
Proponuję trochę odciążyć dysk główny, a jednocześnie go przyspieszyć (nowy dysk działa szybciej niż stary) i „zabezpieczyć” system za pomocą lvm.
Możesz utworzyć partycje na drugim dysku i dodać je do grup woluminów (jeśli potrzebujemy kilku grup woluminów),
Lub w ogóle nie możesz tworzyć partycji na dysku i uczynić całe urządzenie partycją fizyczną (PV)

Root@ws:~# pvcreate /dev/sdb
Pomyślnie utworzono wolumin fizyczny „/dev/sdb”.

Tworzymy grupę woluminów o znaczącej nazwie, na przykład o nazwie komputera „ws”, aby podczas przeciągania tego dysku na inny komputer nie było konfliktów z nazwami grup woluminów:

Root@ws:~# vgcreate ws /dev/sdb

Wskazane jest dodanie z partycji root takich folderów jak /usr /var /tmp /home, aby niepotrzebnie nie defragmentować partycji root i w żadnym wypadku jej nie przepełnić, dlatego tworzymy partycje:

Root@ws:~# lvcreate -n usr -L10G ws # tutaj tworzymy partycję o nazwie „usr” o rozmiarze 10Gb
Utworzono wolumin logiczny „usr”.
Przez analogię robimy to samo dla /var, /tmp, /home:
root@ws:~# lvcreate -n var -L10G ws
root@ws:~# lvcreate -n tmp -L2G ws
root@ws:~# lvcreate -n home -L500G ws
nadal mamy trochę wolnego miejsca w grupie woluminów (na przykład na przyszłą partycję do tworzenia kopii zapasowych)
Możesz zobaczyć dokładnie, ile możesz, za pomocą polecenia:
root@ws:~# vgdisplay
informacje o utworzonych woluminach logicznych
root@ws:~# lvdisplay
informacje o woluminach fizycznych
root@ws:~# pvdisplay

Sekcje, które stworzyliśmy, pojawią się w folderze /dev/[vg_name]/, a raczej będą tam linki do plików,
lrwxrwxrwx 1 root root 22 2009-08-10 18:35 swap -> /dev/mapper/ws-swap
lrwxrwxrwx 1 korzeń root 21 2009-08-10 18:35 tmp -> /dev/mapper/ws-tmp
lrwxrwxrwx 1 korzeń root 21 2009-08-10 18:35 usr -> /dev/mapper/ws-usr
lrwxrwxrwx 1 korzeń root 21 2009-08-10 18:35 var -> /dev/mapper/ws-var
itp...

Wtedy lvm prawie się kończy... formatujemy nasze partycje w naszych ulubionych systemach plików:
root@ws:~# mkfs.ext2 -L tmp /dev/ws/tmp
root@ws:~# mkfs.ext4 -L usr /dev/ws/usr
root@ws:~# mkfs.ext4 -L var /dev/ws/var
root@ws:~# mkfs.ext4 -L home /dev/ws/home

Swoją drogą, utworzenie partycji wymiany nie byłoby złym pomysłem:
root@ws:~# lvcreate -n swap -L2G ws
root@ws:~# mkswap -L swap /dev/ws/swap
root@ws:~# zamiana /dev/ws/swap

Tworzymy folder i łączymy nowo utworzone woluminy jeden po drugim, kopiując do nich niezbędną zawartość:
root@ws:~# mkdir /mnt/target
root@ws:~# mount /dev/ws/home /mnt/target
skopiuj tam wszystko z folderu /home za pomocą swojego ulubionego menedżera plików (zachowując prawa dostępu), na przykład tak;):
root@ws:~# cp -a /home/* /mnt/target/
root@ws:~# umount /mnt/target/
Nawiasem mówiąc, w przypadku folderu tymczasowego wystarczy poprawić uprawnienia; nie ma potrzeby tam niczego kopiować:
root@ws:~# mount /dev/ws/tmp /mnt/target && chmod -R a+rwx /mnt/target && umount /mnt/target/
dodaj niezbędne linie do /etc/fstab, na przykład:
/dev/mapper/ws-home /home ext4 czas 0 2
/dev/mapper/ws-tmp /tmp ext2 noatime 0 2
/dev/mapper/ws-swap brak wymiany SW 0 0
i restart... (zaawansowani panowie mogą obejść się bez restartu;))

Na coś smacznego chcę zaproponować bardziej zaawansowaną rzecz:
Załóżmy, że mamy system z partycją na LVM i dysk twardy zaczyna szwankować, wówczas możemy przenieść cały system na inny dysk twardy/partycję bez ponownego uruchamiania:

# Dodawanie/usuwanie dysków twardych online za pomocą LVM (przykład)

Root@ws:~# pvcreate /dev/sda1 # nasz uszkodzony emulator dysku
Pomyślnie utworzono wolumin fizyczny „/dev/sda1”.

Root@ws:~# pvcreate /dev/sdb1 # nasz emulator dysku ratunkowego
Pomyślnie utworzono wolumin fizyczny „/dev/sdb1”.

Root@ws:~# vgcreate vg0 /dev/sda1 # tworzenie grupy woluminów vg0
Pomyślnie utworzono grupę woluminów „vg0”.

Root@ws:~# lvcreate -n test -L10G vg0 #tworzenie sekcji zawierającej „ważne” informacje
Utworzono „test” woluminu logicznego

Root@ws:~# mkfs.ext2 /dev/vg0/test # tworzenie systemu plików na partycji
root@ws:~# mount /dev/mapper/vg0-test /mnt/tmp/ #montowanie partycji
... # Wypełniam go informacjami, otwieram na nim kilka plików itp.

Root@ws:~# vgextend vg0 /dev/sdb1 # rozszerzanie naszej grupy woluminów na dysk „ratunkowy”
Grupa woluminów „vg0” została pomyślnie rozszerzona

Root@work:~# pvmove /dev/sda1 /dev/sdb1 #przenoszenie zawartości z dysku „umierającego” na dysk „ratunkowy”
/dev/sda1: Przeniesiono: 0,9%
/dev/sda1: Przeniesiono: 1,8%

/dev/sda1: Przeniesiono: 99,7%
/dev/sda1: Przeniesiono: 100,0%

Root@work:~# vgreduce vg0 /dev/sda1 # usuwanie „umierającego” dysku z grupy woluminów.
Usunięto „/dev/sda1” z grupy woluminów „vg0”

Całkowity:
Stworzyłem partycję logiczną, sformatowałem ją, zamontowałem i wypełniłem niezbędnymi danymi, a następnie przeniosłem z jednego urządzenia na drugie, podczas gdy partycja pozostała zamontowana, a dane były cały czas dostępne!
W podobny sposób udało mi się przenieść cały system z umierającego dysku na macierz raid bez ponownego uruchamiania. :)

P.S. Proszę wybaczyć wszelkie literówki, byłem ciągle rozproszony =))

P.P.S. O tak!!! Najważniejszą i największą wadą LVM jest to, że nie można go odczytać przez Gruba
dlatego partycja /boot musi znajdować się poza LVM na osobnej partycji dysku twardego,
w przeciwnym razie system nie uruchomi się.

Administracja systemem

Co to jest LVM?

LVM oznacza menedżera woluminów logicznych. Oficjalnych definicji nie podam, ale krótko opowiem własnymi słowami. LVM to dodatkowa warstwa abstrakcji przestrzeni dyskowej. Poziom ten znajduje się pomiędzy systemem plików a dyskiem fizycznym. LVM jest podobny do programowego RAID. Ta abstrakcja sama w sobie składa się z 3 elementów: grupy woluminów (Volume Group, w skrócie VG), woluminu fizycznego (w skrócie PV) i woluminu logicznego (w skrócie LV). Można utworzyć wiele grup woluminów. Do każdej grupy woluminów należy dodać woluminy fizyczne. Woluminy fizyczne to partycje dyskowe. Po dodaniu woluminów fizycznych można dodać woluminy logiczne. Na woluminach logicznych można już utworzyć system plików. Wszystko to jest bardzo wygodne, szczególnie na serwerze.

Jak możesz wykorzystać LVM?

Jeśli korzystasz z LVM, możesz uprościć konserwację serwera. Możesz utworzyć wiele partycji z różnymi systemami plików, możesz montować systemy plików z różnymi flagami (na przykład wyłączyć wykonywanie plików), możesz bardzo szybko i łatwo zwiększyć rozmiar partycji, jeśli zabraknie na niej miejsca. Oczywiście dodatkowa warstwa między dyskiem a systemem plików zmniejsza prędkość odczytu i zapisu. Za wszystko trzeba zapłacić. Używam LVM do wygodnego zarządzania przestrzenią dyskową maszyn wirtualnych. Zwykle jako dysk wirtualny używany jest zwykły plik. Po pierwsze jest to niewygodne, gdyż KVM nie posiada mechanizmu wykonywania zrzutów ekranu dysku wirtualnego, a kopiowanie nawet kilku gigabajtów zajmuje dużo czasu, a maszynę wirtualną trzeba będzie zatrzymać. Po drugie, jeśli plik dysku wirtualnego jest przechowywany w systemie plików, wówczas otrzymamy dodatkowe opóźnienia związane z odczytem i zapisem tego pliku. Dlatego używam woluminów logicznych LVM jako dysku wirtualnego.

Krótki opis poleceń

Utwórz grupę woluminów:
  1. vgcreate vg_virt /dev/sda1 /dev/sdb1
Inicjowanie woluminu fizycznego:
  1. pvcreate /dev/sda2
Dodawanie woluminu fizycznego do grupy woluminów:
  1. vgextend vg_virt /dev/sda2
Tworzenie nowego woluminu logicznego o pojemności 10 GB:
  1. lvcreate -L10G -n lv_ubuntu_vm vg_virt
W przypadku woluminów logicznych można określić nazwy, które niosą ze sobą znaczenie. Jest to znacznie wygodniejsze niż praca z nazwami takimi jak sdxx.
Aby powiększyć wolumin logiczny, możesz określić ostateczny rozmiar woluminu lub określić rozmiar, o jaki chcesz go powiększyć.
  1. lvextend -L12G /dev/vg_virt/lv_ubuntu_vm
  2. lvextend -L+3G /dev/vg_virt/lv_ubuntu_vm
I oczywiście po tej operacji musisz zwiększyć rozmiar samego systemu plików.
  1. resize2fs /dev/vg_virt/lv_ubuntu_vm
Usuwanie woluminu logicznego:
  1. lvusuń /dev/vg_virt/lv_ubuntu_vm
Tworzenie migawki z woluminu logicznego:
  1. lvcreate --size 2G --snapshot --name snapshot_ubuntu_vm /dev/vg_virt/lv_ubuntu_vm
Migawki woluminów logicznych są bardzo szybkie i bardzo wygodne. Migawka to coś w rodzaju dodatkowej warstwy przechowującej wszystkie zmiany w wolumenie logicznym. W zrzucie nie są przechowywane pliki, które nie uległy zmianie od czasu wykonania zrzutu. Dlatego ilość miejsca zajmowanego w migawce woluminu zależy od liczby zmian. Jeśli usuniesz wolumin, z którego została wykonana migawka, migawka również zostanie usunięta. I oczywiście operacje na migawce woluminu są znacznie wolniejsze niż operacje na samym woluminie.
Aby utworzyć kopię dysku logicznego, czyli całkowicie go sklonować, możesz użyć prostego narzędzia dd.
  1. sudo dd if=/dev/vgroup1/lvolume1 of=/dev/vgroup1/lvolume_copy
Naturalnie muszą istnieć woluminy logiczne.

Menedżer woluminów logicznych ( LVMangielski. Menedżer woluminów logicznych ) - zapewnia dodatkowy poziom abstrakcji pomiędzy dyskami fizycznymi/logicznymi (zwykłymi partycjami, z którymi współpracuje fdisk i podobne programy) a systemem plików. Osiąga się to poprzez rozbicie początkowych partycji na małe bloki ( zakresy, zazwyczaj 4-32MB) i połączenie ich w jeden wolumin wirtualny, a raczej grupę woluminów ( grupa woluminów), który jest dalej podzielony na woluminy logiczne ( objętość logiczna). W systemie plików wolumin logiczny jest reprezentowany jako zwykłe urządzenie blokowe, chociaż poszczególne zakresy woluminu mogą być zlokalizowane na różnych urządzeniach fizycznych (a nawet sam zakres może być dystrybuowany w formie RAID). LVM zwiększa elastyczność systemu plików, jednak będąc jedynie warstwą pośrednią, nie eliminuje ograniczeń i stosowania innych warstw. Oznacza to, że nadal musisz tworzyć i modyfikować partycje oraz je formatować.

Tworzenie.

# pvcreate /dev/sdb1 /dev/sdb2 //tworzenie woluminu fizycznego # vgcreate volgroup00 /dev/sdb1 //tworzenie grupy woluminów # vgextend volgroup00 /dev/sdb2 //dodawanie nowej partycji do grupy woluminów # pvdisplay /dev /sdb2 //wyświetl atrybuty woluminu fizycznego # lvcreate -L20G -ntest01 volgroup00 //utwórz wolumin logiczny o nazwie test o rozmiarze 20 GB

Rozmiar woluminu można utworzyć na podstawie liczby zakresów, których liczba w grupie woluminów jest określana przez vgdsplay :

# lvcreate -l 10000 volgroup00 -n test02

Po utworzeniu woluminu logicznego można na nim wykonać te same czynności, co na zwykłej partycji, tj. można go formatować, montować, przesyłać informacje itp.

# mkreiserfs /dev/volgroup00/test01 //formatowanie woluminu logicznego dla ReiserFS # mount /dev/volgroup00/test01 /mnt/lvmtest //montowanie woluminu logicznego # cp -a /etc/ /mnt/lvmtest //kopiowanie

Obsługa LVM.

Zwiększanie rozmiaru woluminu logicznego

Po zwiększeniu woluminu logicznego należy zwiększyć rozmiar systemu plików. Dla każdego FS Twoja metoda. Co więcej, każdy przypadek ma swoje własne niuanse:
Przed zmianą rozmiaru pliku Zew2 musisz odmontować partycję (rozmiar Zew3/Ze4 zmiany na bieżąco).
Zew4 wzrasta tylko w sposób zmień rozmiar2fs. W fsadm ich metody.
Zwiększ rozmiar systemów plików Reiserfs jak w zmontowany i w nieoprawny stan : schorzenie.
Rozmiar systemu plików XFS można zwiększyć jedynie o zmontowany stan : schorzenie. Ponadto narzędzie musi przekazać jako parametr punkt podłączenia, a nie nazwę urządzenia.

# lvextend - L+ 4G / dev/ volgroup00/ test01 //zwiększ wolumin logiczny o 4 GB# resize2fs /dev/volgroup00/ext //Ext2/Ext3/Ext4 rozszerzenie lub druga opcja przez fsadm (niektóre źródła piszą o e2fsadm, sam nie znalazłem).# fsadm - l zmień rozmiar / dev/ volgroup00/ ext 2G //zwiększ wolumin logiczny Ext2/Ext3 wraz z rozbudową systemu plików. Od września 2009 Ext4 nie jest jeszcze obsługiwany# resize_reiserfs - f /dev/volgroup00/reiser //Rozszerzenie ReiserFS# xfs_growfs / mnt/ lvm/ xfs // rozszerzenie XFS # btrfsctl - r + 2g / mnt/ lvm/ btrfs/ // rozszerzenie Btrfs lub # btrfsctl - r + 2g - A / dev/ volgroup00/ btrfs // rozszerzenie Btrfs

# lvextend -L+4G /dev/volgroup00/test01 //zwiększenie wolumenu logicznego o 4GB # resize2fs /dev/volgroup00/ext //przedłużenie Ext2/Ext3/Ext4 lub drugiej opcji poprzez fsadm (niektóre źródła piszą o e2fsadm, pod adresem w domu go nie znalazłem). # fsadm -l resize /dev/volgroup00/ext 2G //zwiększ wolumen logiczny Ext2/Ext3 poprzez rozszerzenie FS. Od września 2009 Ext4 nie jest jeszcze obsługiwany # resize_reiserfs -f /dev/volgroup00/reiser //rozszerzenie ReiserFS # xfs_growfs /mnt/lvm/xfs //rozszerzenie XFS # btrfsctl -r +2g /mnt/lvm/btrfs/ // Rozszerzenie Btrfs lub # btrfsctl -r +2g -A /dev/volgroup00/btrfs //rozszerzenie Btrfs

Zmniejszanie rozmiaru woluminu logicznego

Można także zmniejszyć rozmiar woluminów logicznych. Przede wszystkim musisz zmniejszyć rozmiar systemu plików, a dopiero potem zmniejszyć rozmiar woluminu logicznego. W odwrotnej kolejności możesz utracić dane. Istnieją również pewne niuanse:
Przed zmianą rozmiaru system plików musi zostać odmontowany.
Podczas zmiany rozmiaru Zmiana rozmiaru Ext2/Ext32fs'y wskazany jest jego nowy rozmiar.
Zmniejszenie XFS I JFS niemożliwe.
Zmniejszenie Btrfs Można to zrobić na bieżąco, ale lepiej nie ryzykować.

# resize2fs /dev/volgroup00/ext2 500m //wskazanie nowego rozmiaru dla FS Ext2/Ext3 # fsadm -l resize /dev/volgroup00/ext3 200M //wskazanie nowego rozmiaru dla FS Ext2/Ext3 # resize_reiserfs -s-1G / dev/ volgroup00/reiserfs //zmniejsz FS Reiserfs # btrfsctl -r -2g -A /dev/volgroup00/btrfs //zmniejsz FS Btrfs # lvreduce -L-1G /dev/volgroup00/test01 //zmniejsz wolumin logiczny

Zmiana nazwy woluminu logicznego

# vgchange -a n /dev/volgroup02 //odłączanie woluminów logicznych w grupie ofiar # vgmerge volgroup01 volgroup02 //wchłanianie grupy volgroup02 przez grupę volgroup01

Dzielenie grupy woluminów

# vgsplit volgroup01 volgroup02 /dev/sdb1 //alokacja nowej grupy woluminów volgroup02, która będzie zlokalizowana na woluminie fizycznym /dev/sdb1

Zmiana rozmiaru woluminu fizycznego. Istnieje kilka niuansów:
Zwiększanie rozmiaru woluminu fizycznego LVM odbywa się po zwiększeniu partycji za pomocą programów takich jak cfdisk/fdysk
Redukcję wolumenu należy przeprowadzić po redukcji systemów plików i woluminów logicznych, w przeciwnym razie może dojść do uszkodzenia danych.

# [b]pvresize /dev/sda1 //zwiększ wolumin fizyczny # [b]pvresize –setphysicalvolumesize 40G /dev/sda1 //zmniejsz wolumin fizyczny

Tworzenie migawek

Migawka to kopia innego woluminu przeznaczona tylko do odczytu. Tworząc migawki, musisz upewnić się, że jesteś uruchomiony dmeventd. Podczas robienia zdjęć z XFS należy go najpierw zamrozić - xfs_freeze.

# lvcreate -L600M -s -n var-backups /dev/volgroup00/var //utwórz wolumin var-backup jako kopię woluminu var # mount /dev/volgroup00/var-backup /mnt/backup //następnie zamontuj migawka

Tworzenie lustra (Lustra)

Lustra służą do zwiększenia odporności na awarie i zwiększenia poziomu bezpieczeństwa informacji. Do utworzenia kopii lustrzanej potrzebne są 3 woluminy fizyczne, 2 dla kopii lustrzanej i 1 dla dziennika. Zaleca się korzystanie z woluminów fizycznych znajdujących się na różnych nośnikach. Korzystanie z woluminów fizycznych z jednego nośnika neguje praktyczność korzystania z lustra, ponieważ W przypadku awarii sprzętu lustro staje się bezużyteczne. Tworząc serwery lustrzane, musisz upewnić się, że działasz dmeventd

# pvcreate /dev/sda5 /dev/sdb1 /dev/sdc1 //utwórz wolumin fizyczny # vgcreate Mirror00 /dev/sda5 /dev/sdb1 /dev/sdc1 //utwórz grupę Mirror00 # lvcreate -L 5G -n wolumen00 - m 1 lustro00 //utwórz objętość lustrzaną objętość00

przeglądając informacje o woluminach logicznych, procent kopii powinien osiągnąć 100%

# lvs LV VG Attr LSize Pochodzenie Snap% Przenieś dziennik Kopiuj% Konwertuj wolumen00 lustro00 mwia- a- 5.00G wolumen00_mlog 6.17

# lvs LV VG Attr LSize Pochodzenie Snap% Przenieś dziennik Kopiuj% Konwertuj wolumen00 lustro00 mwi-a- 5.00G wolumen00_mlog 6.17

sprawdzanie użycia urządzenia w utworzonym lustrze

# lvs - a - o + urządzenia LV VG Attr LSize Pochodzenie Snap% Przenieś dziennik Kopiuj% Konwertuj Urządzenia wolumen00 lustro00 mwia- a- 5.00G wolumen00_mlog 100.00 wolumen00_mimage_0(0) , wolumen00_mimage_1(0) [ wolumin00_mimage_0] lustro00 iwia- ao 5.00G / dev/ sda5(0) [volume00_mimage_1] lustro00 iwi-ao 5.00G / dev/ sdb1(0) [volume00_mlog] lustro00 lwi-ao 4.00M

# lvs -a -o +urządzenia LV VG Attr LSize Pochodzenie Snap% Przenieś dziennik Kopiuj% Konwertuj urządzenia wolumen00 lustro00 mwi-a- 5.00G wolumen00_mlog 100.00 wolumen00_mimage_0(0),volume00_mimage_1(0) lustro00 iwi-ao 5.00G /dev/sda5 (0) lustro00 iwi-ao 5.00G /dev/sdb1(0) lustro00 lwi-ao 4.00M

# vgextend volgroup01 /dev/sdc1 /dev/sdd1 //dodawanie nowych woluminów fizycznych do grupy # lvconvert -m 1 /dev/volgroup01/volume-new //konwersja zwykłego woluminu na dublowany

Usuwanie woluminów i grup

Woluminy logiczne należy odmontować przed usunięciem.

# vgreduce volgroup00 /dev/sdb1 //usuń wolumin fizyczny z grupy # lvremove /dev/volgroup00/test01 //usuń wolumin logiczny # vgremove volgroup00 //usuń grupę woluminów # pvremove /dev/sdc1 //usuń wolumin fizyczny tom

Logical Volume Manager to menedżer woluminów logicznych dla systemów operacyjnych GNU/Linux i OS /2. Umożliwia tworzenie wolumenów logicznych na partycjach fizycznych (lub nawet na dyskach twardych bez partycji), które będą widoczne w samym systemie jako zwykłe urządzenia blokowe z danymi (tj. jako zwykłe partycje). Główną zaletą LVM jest to, że po pierwsze, na dowolnej liczbie partycji fizycznych można utworzyć jedną grupę woluminów logicznych, a po drugie, można łatwo zmieniać wielkość woluminów logicznych w trakcie pracy. Ponadto LVM obsługuje mechanizm migawek, kopiowanie partycji w locie i tworzenie kopii lustrzanych podobnych do RAID -1.

Tworzenie i usuwanie LVM

W przypadku LVM istnieją trzy grupy narzędzi przeznaczonych do pracy z woluminami fizycznymi (pv*), grupami logicznymi (lg*) i woluminami logicznymi (lv*). Zatem polecenie pvcreate tworzy woluminy fizyczne, polecenie pvscan raportuje istniejące, a polecenie pvdisplay wyświetla pełne informacje na ich temat. Trójki poleceń vgcreate, vgscan, vgdisplay i lvcreate, lvscan, lvdisplay robią to samo odpowiednio dla grup woluminów i woluminów logicznych.

Odinstalowanie LVM(lub jego poszczególne części, na przykład woluminy logiczne lub grupy woluminów) następuje w odwrotnej kolejności ich tworzenia:

    odmontuj partycje (umount)

    lvwyświetlacz. usuń woluminy logiczne (lvremove)

    vgwyświetlacz. usuń grupy woluminów (vgremove) # vgremove vz

    pvwyświetlacz. usuń niepotrzebne woluminy fizyczne (pvremove) # pvremove /dev/sda3

Tworzenie LVM

    Utwórz wolumin fizyczny na partycji sda3: # pvcreate /dev/sda3 # pvdisplay

    Na woluminie fizycznym utwórz grupę woluminów o nazwie vz: # ​​vgcreate -s 32M vz /dev/sda3

    Komenda vgcreate jest uruchamiana z nazwą grupy jako pierwszym argumentem i nazwą pliku urządzenia partycji jako drugim argumentem. Nazwa grupy jest dowolna; ścieżki do plików urządzenia woluminu fizycznego podczas korzystania z devfs muszą używać pełnej notacji (jako wynik polecenia pvscan). Domyślnie woluminy są dzielone na fizyczne bloki o rozmiarze 4 MB. Jeśli chcesz mieć inny rozmiar bloku, można to wyraźnie ustawić za pomocą opcji -s ##m. Zalecane jest użycie obszaru o rozmiarze 32 MB , w tym przypadku maksymalny rozmiar przyszłych woluminów logicznych jest ograniczony do 2 terabajtów, ale jeśli zatrzymamy się na domyślnym zakresie, limit woluminu wyniesie 256 GB.

    Tworzenie woluminu lub woluminów logicznych (analogicznie do partycjonowania fizycznego dysku twardego). Utwórzmy dwie partycje tmp o rozmiarze 10 GB i partycję rest, która zajmie całe pozostałe miejsce grupy woluminów vz: # ​​lvcreate -l 10G -n tmp vz # lvcreate -l 100%FREE -n rest vz

    Sformatujmy powstałe woluminy logiczne: # mkfs.ext4 /dev/vz/tmp # mkfs.ext4 /dev/vz/rest

Logical Volume Manager (LVM) to bardzo wydajny system zarządzania woluminami danych dla systemu Linux. Umożliwia tworzenie wolumenów logicznych na partycjach fizycznych (lub nawet na dyskach twardych bez partycji), które będą widoczne w samym systemie jako zwykłe urządzenia blokowe z danymi (tj. jako zwykłe partycje). Główną zaletą LVM jest to, że po pierwsze, na dowolnej liczbie partycji fizycznych można utworzyć jedną grupę woluminów logicznych, a po drugie, można łatwo zmieniać wielkość woluminów logicznych w trakcie pracy. Ponadto LVM obsługuje mechanizm migawek, kopiowanie partycji w locie i tworzenie kopii lustrzanych podobnych do RAID-1.

Jeśli planujesz dużo pracy z LVM, możesz uruchomić specjalną „powłokę” za pomocą polecenia sudo lvm. Polecenie pomocy wyświetli listę poleceń.

Tworzenie i usuwanie

Jak już wspomniano, LVM jest zbudowany w oparciu o partycje dysku twardego i/lub całe dyski twarde. Na każdym z dysków/partycji należy utworzyć objętość fizyczna(objętość fizyczna). Na przykład używamy dysku dla LVM sda i sekcja sdb2:

Pvcreate /dev/sda pvcreate /dev/sdb2

Na tych woluminach fizycznych tworzymy grupa woluminów, który będzie nazywany, powiedzmy, vg1:

Vgcreate -s 32M vg1 /dev/sda /dev/sdb2

Przyjrzyjmy się informacjom o naszej grupie woluminów:

Vgwyświetlacz vg1

Można utworzyć kilka grup, każda z własnym zestawem woluminów. Ale zwykle nie jest to wymagane.

Teraz możesz tworzyć w grupie woluminów woluminy logiczne poziom 1 I poziom 2 Rozmiar odpowiednio 20 GB i 30 GB:

Lvcreate -n lv1 -L 20G vg1 lvcreate -n lv2 -L 30G vg1

Teraz mamy urządzenia blokowe /dev/vg1/lv1 I /dev/vg1/lv2.

Pozostaje tylko utworzyć na nich system plików. Nie ma tutaj różnic w przypadku zwykłych sekcji:

Mkfs.ext4 /dev/vg1/lv1 mkfs.reiserfs /dev/vg1/lv2

Usuwanie LVM (lub jego poszczególnych części, na przykład woluminów logicznych lub grup woluminów) odbywa się w odwrotnej kolejności - najpierw należy odmontować partycje, następnie usunąć woluminy logiczne (lvremove), po czym można usunąć grupy woluminów (vgremove) i niepotrzebne woluminy fizyczne (pvremove) .

Dodawanie woluminów fizycznych

Aby dodać nowy dysk twardy SD do grupy woluminów utwórz wolumin fizyczny:

Pvcreate /dev/sdc

I dodaj go do naszej grupy:

Vgextend vg1 /dev/sdc

Teraz możesz utworzyć kolejny dysk logiczny (lvcreate) lub zwiększyć rozmiar już istniejącego (lvresize).

Usuwanie woluminów fizycznych

Aby usunąć dysk twardy z działającej grupy woluminów sda Najpierw przenieśmy z niego wszystkie dane na inne dyski:

Pvmove /dev/sda

Następnie usuń go z grupy woluminów:

Vgreduce vg1 /dev/sda

Na koniec usuń wolumin fizyczny:

Pvusuń /dev/sda

Właściwie ostatnie polecenie po prostu usuwa oznaczenie, że dysk jest członkiem lvm i nie przynosi zbyt wielu korzyści. Po usunięciu z LVM dysk będzie musiał zostać ponownie podzielony na partycje/sformatowany w celu dalszego wykorzystania.

Zmiana rozmiaru

LVM umożliwia łatwą zmianę rozmiaru woluminów logicznych. Aby to zrobić, musisz najpierw zmienić sam wolumin logiczny:

Lvresize -L 40G vg1/lv2

a następnie system plików na nim:

Resize2fs /dev/vg1/lv2 resize_reiserfs /dev/vg1/lv2

Zmiana rozmiaru woluminu fizycznego jest zadaniem bardzo złożonym i zwykle się go nie wykonuje. Bardziej praktyczne i bezpieczniejsze jest usunięcie woluminu fizycznego, zmiana rozmiaru partycji i ponowne utworzenie woluminu.

Jak łatwo jest spróbować

Jeśli LVM jest zainstalowany nie do dalszego użytku, ale „do przeglądania”, wówczas dyski i partycje można zastąpić plikami. Nie są potrzebne żadne dodatkowe dyski ani maszyny wirtualne. Stworzymy wirtualne dyski i będziemy z nimi pracować. Na przykład możesz utworzyć 4 dyski o pojemności 1 GB, ale możesz także utworzyć inną liczbę większych lub mniejszych rozmiarów, według własnego uznania. Sami tworzymy pliki symulujące urządzenia:

Mkdir /mnt/sdc1/lvm cd /mnt/sdc1/lvm dd if=/dev/zero of=./d01 liczba=1 bs=1G dd if=/dev/zero of=./d02 liczba=1 bs=1G dd if=/dev/zero of=./d03 count=1 bs=1G dd if=/dev/zero of=./d04 count=1 bs=1G

Urządzenia pętlowe tworzymy z plików:

Losetup -f --show ./d01 Lostup -f --show ./d02 Lostup -f --show ./d03 Lostup -f --show ./d04

Pvcreate /dev/loop0 pvcreate /dev/loop1 pvcreate /dev/loop2 pvcreate /dev/loop3 vgcreate -s 32M vg /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 lvcreate -n pierwszy -L 2G vg lvcreate -n sekunda -L 400M vg ...

Migawki

Jedną z najważniejszych cech LVM jest obsługa mechanizmu migawek. Migawki pozwalają na wykonanie natychmiastowy wykonaj migawkę woluminu logicznego i użyj go w przyszłości do pracy z danymi.

Przykłady użycia

LVM jest aktywnie używany, gdy potrzebny jest mechanizm migawki. Na przykład ten mechanizm jest niezwykle ważny podczas tworzenia kopii zapasowych stale zmieniających się plików. LVM pozwala zamrozić pewien stan FS i skopiować z niego wszystkie niezbędne dane, bez konieczności zatrzymywania nagrywania na oryginalnym FS.

Migawki można również wykorzystać do zorganizowania obsługi serwera plików z Sambą dla mechanizmu kopiowania archiwum, więcej na ten temat w odpowiednim artykule:

LVM z LiveCD

Jeśli chcesz pracować z LVM z Ubuntu LiveCD, będziesz musiał wykonać kilka dodatkowych kroków, ponieważ domyślnie nie ma narzędzi do pracy z LVM.

Najpierw musisz zainstalować te narzędzia:

Sudo vgscan sudo vgdisplay YOUR_VGNAME

Sudo vgchange -a y

To polecenie powinno wskazywać, że wszystkie woluminy logiczne są aktywowane. Teraz możesz pracować z nimi jak zwykle.



Jeśli zauważysz błąd, zaznacz fragment tekstu i naciśnij Ctrl+Enter
UDZIAŁ: