Co je LVM
Správce logických svazků (LVM) zavádí další vrstvu mezi fyzickými disky a souborovým systémem, která umožňuje souborovým systémům:
– snadno měnit velikost a přesouvat je online bez nutnosti výpadku celého systému.
– Použití nespojitého místo na disku
– smysluplné názvy svazků namísto obvyklých tajných názvů zařízení.
– zahrnující více fyzických disků
Linux LVM je velmi podobný HP-UX LVM a poskytuje mnoho dalších pokročilých funkcí, jako jsou snímky, podpora clusterů (GFS2, OCFS a Lustre).
Koncepty
LVM se skládá z několika koncepčních vrstev, jako je fyzický svazek, logický svazek a souborové systémy.
Koncepční vrstvy jsou zase tvořeny menšími jednotkami, jako jsou fyzické rozsahy (v případě fyzických svazků) a logické rozsahy (v případě logických svazků).
Fyzický objem (PV)
Každý fyzický svazek může být diskový oddíl, celý disk, metazařízení nebo soubor zpětné smyčky. Použijte příkaz pvcreate k inicializaci úložiště pro použití LVM. Inicializace blokového zařízení jako fyzického svazku umístí štítek na začátek zařízení.
Skupina svazků (VG)
Skupina svazků shromažďuje kolekci logických a fyzických svazků do jedné administrativní jednotky. Skupina svazků je rozdělena na fyzické rozsahy pevné velikosti. Příkaz vgcreate vytvoří novou skupinu svazků pomocí cesty fyzického svazku blokového speciálního zařízení, která byla dříve nakonfigurována pro LVM pomocí pvcreate.
– VG se skládají z PV, které jsou zase tvořeny fyzickými rozsahy (PE). Velikost PE se může v různých VG lišit a je definována v době vytváření VG.
– Výchozí velikost PE je 4 MB, ale můžete ji změnit na hodnotu, kterou chcete při vytváření VG.
– Obecně platí, že čím větší velikost PE, tím lepší výkon (i když méně podrobná kontrola LV).
Logický svazek (LV)
Logický svazek je koncepční ekvivalent diskového oddílu v systému bez LVM. Logické svazky jsou bloková zařízení, která jsou vytvořena z fyzických oblastí přítomných ve stejné skupině svazků. Můžete použít příkaz lvcreate k vytvoření logického svazku v existující skupině svazků.
Systém souborů
Souborové systémy jsou postaveny na logických svazcích. Příkaz mkfs lze použít k vytvoření systému souborů nad logickým svazkem. Jakmile je systém souborů vytvořen, můžeme připojit logický svazek podle našich potřeb.
Začínáme
Příklad
V níže uvedeném příkladu bychom:
1. Vytvořte 3 fyzické svazky ze 3 fyzických disků (/dev/sdb, /dev/sdc, /dev/sdd ).
2. Vytvořte skupinu svazků z těchto 3 PV (/dev/vg01 ).
3. Vytvořte Lgický svazek v tomto VG (/dev/vg01/lvol01 ).
4. Vytvořte na tomto LV systém souborů a připojte jej (/data01 ).
Vytvořit fyzické svazky
pvcreate příkaz se používá k inicializaci PV pro použití LVM. Před vytvořením PV se ujistěte, že je disk viditelný v OS. Chcete-li skenovat bloková zařízení, která mají být použita jako PV, použijte lvmdiskscan příkaz.
# lvmdiskscan ....... /dev/sdb [ 2.00 GiB] /dev/sdc [ 2.00 GiB] /dev/sdd [ 2.00 GiB] 3 disks 19 partitions 0 LVM physical volume whole disks 0 LVM physical volumes
Inicializujte bloková zařízení:
# pvcreate /dev/sdb /dev/sdc /dev/sdd Physical volume "/dev/sdb" successfully created Physical volume "/dev/sdc" successfully created Physical volume "/dev/sdd" successfully created
Zobrazit fyzické objemy
Použijte příkazy pvdisplay , pvs a pvscan k zobrazení PV, které jsme právě vytvořili.
# pvdisplay "/dev/sdb" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb VG Name PV Size 2.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID Mt3F7z-a2AV-28Vn-uXe2-QejE-Z6tP-UMlQGM "/dev/sdc" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc VG Name PV Size 2.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 5m1Fuc-yTRn-I2vG-bMfU-6SE7-53EA-s8VQjt "/dev/sdd" is a new physical volume of "2.00 GiB" --- NEW Physical volume --- PV Name /dev/sdd VG Name PV Size 2.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 1x3e2A-C0Lt-DrUA-tPSM-lsMu-sn70-qg1j8p
# pvscan PV /dev/sdb lvm2 [2.00 GiB] PV /dev/sdc lvm2 [2.00 GiB] PV /dev/sdd lvm2 [2.00 GiB] Total: 3 [6.00 GiB] / in use: 0 [0 ] / in no VG: 3 [6.00 GiB]
# pvs PV VG Fmt Attr PSize PFree /dev/sdb lvm2 a-- 2.00g 2.00g /dev/sdc lvm2 a-- 2.00g 2.00g /dev/sdd lvm2 a-- 2.00g 2.00g
Vytvořit skupinu svazků
Použijte vgcreate k vytvoření nové skupiny svazků vg01 pomocí 3 PV, které jsme právě vytvořili. Rozsahy můžeme určit pomocí -s možnost a maximální počet PV a LV ve VG pomocí možností -p a -l respektive. Všechny tyto možnosti jsou volitelné a nemusí být nutně použity.
# vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd Volume group "vg01" successfully created
Volitelné možnosti, které se používají s příkazem vgcreate, jsou:
Možnost | Význam |
---|---|
-s | Velikost fyzického rozsahu |
-p | Maximální počet PV |
-l | Maximální počet LV |
–alloc | zásady přidělování (buď souvislé, kdekoli nebo lpění) |
Zobrazení informací VG
Příkazy vgs a vgdisplay lze použít k zobrazení informací o VG, které jsme právě vytvořili:
# vgs vg01 VG #PV #LV #SN Attr VSize VFree vg01 3 0 0 wz--n- 5.99g 5.99g
# vgdisplay vg01 --- Volume group --- VG Name vg01 System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size 5.99 GiB PE Size 4.00 MiB Total PE 1533 Alloc PE / Size 0 / 0 Free PE / Size 1533 / 5.99 GiB VG UUID Cw7GGz-NH3o-Sax2-5jPv-buZS-938T-tmNKFa
Aktivace a deaktivace VG
Změna vgchange příkaz lze použít k aktivaci/deaktivaci skupiny svazků.
Deaktivace VG:
# vgchange -a n vg01 0 logical volume(s) in volume group "vg01" now active
Aktivace VG:
# vgchange -a y vg01 1 logical volume(s) in volume group "vg01" now active
Vytvořit logický svazek
Logický svazek lze nyní vytvořit ve VG pomocí příkazu lvcreate .
– Pokud v příkazu neuvedete název LV, bude LV standardně přiděleno jméno lvol# .
– Za normálních okolností, pokud neurčíte, která PV se má rozložit na LV, bude na PV vytvořen logický svazek na základě dalšího volného času.
– Chcete-li vytvořit logický svazek lvol01 o velikosti 5 GB:
# lvcreate -L 5G -n lvol01 vg01 Logical volume "lvol01" created
Vytvoření pruhovaného svazku
Jak vytvořit pruhovaný svazek zahrnující všechny 3 PV, které jsme vytvořili:
# lvcreate -L 5G -I 4096 -i 3 -n lvol01 vg01 Rounding size (1280 extents) up to stripe boundary size (1281 extents) Logical volume "lvol01" created
I - PVs to span while creating striped volume i - stripe unit
Vytvoření zrcadleného svazku
Jak vytvořit 3cestný zrcadlený svazek zahrnující 3 PV (sdb, sdc, sdd):
# lvcreate -L 1G -m 2 -n lvol01 vg01 Logical volume "lvol01" created
Můžeme také určit, která zařízení se mají použít při vytváření zrcadleného LV. V našem případě, protože jsme měli ve VG pouze 3 PV, se LV standardně vytvoří na těchto 3 PV.
Zobrazení informací LV
Příkazy lvdisplay , lvs a lvscan lze použít k zobrazení informací o LV, které jsme právě vytvořili.
# lvs /dev/vg01/lvol01 LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert lvol01 vg01 mwi-a-m-- 1.00g lvol01_mlog 100.00
# lvdisplay /dev/vg01/lvol01 --- Logical volume --- LV Path /dev/vg01/lvol01 LV Name lvol01 VG Name vg01 LV UUID ptlmAV-mO42-fWiJ-e2Ml-r9kj-PFcC-MOexxw LV Write Access read/write LV Creation host, time localhost.localdomain, 2014-10-22 09:04:25 -0700 LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Mirrored volumes 3 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:4
# lvscan ACTIVE '/dev/vg01/lvol01' [1.00 GiB] inherit
Vytvoření systému souborů
Posledním krokem je vytvoření souborového systému na novém LV, který jsme právě vytvořili, a jeho připojení do adresáře, abychom k němu měli přístup a mohli v něm ukládat data. Příkaz mkfs lze použít k vytvoření systému souborů nad LV.
# mkfs.ext4 /dev/vg01/lvol01 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 37 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
Logický svazek lze připojit, jakmile je vytvořen souborový systém. Nezapomeňte přidat záznam do /etc/fstab , takže se automaticky připojí při spuštění systému.
# mkdir /data01 # mount /dev/vg01/lvol01 /data01
# vi /etc/fstab /dev/vg01/lvol01 /data01 ext4 defaults 0 0
# df -h /data01 Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg01-lvol01 1008M 34M 924M 4% /data01
Grafický nástroj pro správu LVM
K dispozici je skvělý grafický nástroj (system-config-lvm ) v případě, že chcete použít. Pokud ještě není v systému nainstalován, nainstalujte jej pomocí yum:
# yum install system-config-lvm
Chcete-li spustit nástroj pro správu grafického LVM, spusťte příkaz :
# system-config-lvm
Konfigurace LVM:Operace/nástroje logického svazku (LV)
Konfigurace LVM :Operace/nástroje skupiny svazků (VG)
Konfigurace LVM:Operace/nástroje fyzického svazku (PV)