Vyhledávání na webu

Jak vytvořit diskové úložiště pomocí LVM v Linuxu - část 1


Logical Volume Management (LVM) je výkonný nástroj, který výrazně zjednodušuje správu místa na disku. S LVM je úkol přidělování dalšího prostoru systému souborů snadný.

Kdykoli souborový systém vyžaduje více místa, může snadno čerpat z dostupného volného místa v odpovídající skupině svazků. V důsledku toho lze velikost souborových systémů dynamicky měnit tak, aby vyhovovaly našim specifickým potřebám.

Kromě toho LVM nabízí robustní ochranu dat v případě selhání disku. Pokud disk začne vykazovat známky selhání, můžeme bez problémů integrovat náhradní disk do skupiny svazků jako nový fyzický svazek.

Logické svazky tak mohou být efektivně migrovány na nový disk, což zajišťuje kontinuitu a ochranu proti jakékoli potenciální ztrátě dat.

V podstatě LVM umožňuje správcům přidělovat a spravovat místo na disku s bezkonkurenční flexibilitou a odolností. Jeho funkce dynamické změny velikosti a vestavěné funkce redundance z něj činí nepostradatelný přínos pro optimalizaci využití úložiště a zvýšení integrity dat v jakékoli konfiguraci systému.

Představujeme komplexní sérii „Příprava na nastavení LVM (Logical Volume Management)“, promyšleně vytvořenou v částech 1 až 6, s hloubkovým prozkoumáním následujících základních témat:

Než budete pokračovat v nastavení LVM, zvažte následující předpoklady:

Nastavení mého serveru – požadavky
  • OS – RHEL 9 s instalací LVM
  • IP – 192.168.0.200
  • Disky – 3 disky po 20 GB.

Zkontrolujte LVM Disk Storage v Linuxu

1. Abychom získali přehled o našem nastavení LVM, můžeme použít následující příkazy k odhalení jednotlivých komponent: Physical Volume (PV), Skupina svazků (VG) a Logický svazek (LV).

pvs 
vgs
lvs

Zde je popis každého parametru zobrazeného na výše uvedeném snímku obrazovky.

  • Velikost fyzického disku (velikost PV)
  • Použitý disk byl virtuální disk sda.
  • Velikost skupiny svazků (VG Size)
  • Název skupiny svazků (vg_tecmint)
  • Název logického svazku (LogVol00, LogVol01)
  • LogVol00 Přiřazeno pro swap o velikosti 956 MB
  • LogVol01 Přiděleno pro/s 18,63 GB

Odtud tedy víme, že na disku VDA není dostatek volného místa.

Vytvořte novou skupinu svazků v LVM

2. Chcete-li vytvořit novou Skupinu svazků, potřebujeme k tomuto serveru přidat další 3 pevné disky. Není však povinné používat 3 disky; pouhý 1 stačí k vytvoření nového VG a LV (Logický svazek) uvnitř tohoto VG.

Přidávám sem následující 3 disky pro demonstrační účely a pro další vysvětlení příkazů funkcí.

sdb, sdc, sdd

3. Chcete-li zobrazit seznam všech disků a jejich oddílů, jako je název disku, velikost, typ oddílu, počáteční a koncový sektor a další, použijte obslužný program fdisk, jak je znázorněno.

fdisk -l

Zde je popis každého disku zobrazeného na výše uvedeném snímku obrazovky.

  • Výchozí disk používaný pro operační systém je RHEL 9.
  • Oddíly definované na výchozím disku jsou následující: (sda1=boot), (sda2=/).
  • Navíc jsou přidané disky uvedeny jako Disk1, Disk2 a Disk3.

Každý disk má velikost 20 GB.

4. Nyní spusťte příkaz vgdisplay a zobrazte podrobné informace o všech skupinách svazků přítomných v systému, včetně jejich názvu, velikosti, volného místa, fyzického svazku (PV) informace a další.

vgdisplay

Zde je popis každého parametru zobrazeného na výše uvedeném snímku obrazovky.

  • Název VG – Název skupiny disků.
  • Formát – LVM architektura používaná lvm2.
  • Přístup VGSkupina svazků je v režimu čtení a zápisu a je připravena k použití.
  • Stav VG – Velikost skupiny svazků lze změnit. Můžeme jej rozšířit, pokud potřebujeme přidat další prostor.
  • Cur LV – V současné době jsou v této skupině svazků 2 logické svazky.
  • CurPV a Act PV – V současnosti je používaný fyzický disk 1 (vda) a je aktivní. Můžeme tedy použít tuto skupinu svazků.
  • Velikost PE – Fyzické rozsahy (PE) a velikost disku lze definovat pomocí velikosti PE nebo GB. Výchozí velikost PE LVM je 4 MB. Pokud například potřebujeme vytvořit logický svazek o velikosti 5 GB, můžeme použít součet 1280 PE. Rozumíš tomu, co říkám?

Zde je vysvětlení: 1 GB se rovná 1024 MB, takže 1024 MB x 5=5120 PE=5 GB. Nyní vydělte 5120 4=1280. 4 je výchozí velikost PE.

  • Celkový PE – Tato skupina svazků má.
  • Alloc PE – celkem využito PE, již bylo využito plné PE, 5008 x 4PE=20032.
  • Free PE – Zde se již používá, takže neexistoval žádný bezplatný PE.

5. Nyní vypište informace o prostoru na disku systému souborů, zde se s /boot, /, používá pouze sda, a swap na fyzickém disku sda pomocí LVM. Na tomto disku nezbývá žádné místo.

df -TH

Výše uvedený obrázek ukazuje bod připojení, který používáme, a 19 GB je plně využito pro kořenový adresář, takže není k dispozici žádné volné místo.

Vytvořte diskový oddíl

6. Vytvořme tedy nový fyzický svazek (PV) a skupinu svazků (VG) s názvem tecmint_add_vg a v rámci nich vytvořte logické svazky (LV). Zde můžeme vytvořit 4 logické svazky s názvy tecmint_documents, tecmint_manager a tecmint_public.

Můžeme rozšířit Skupinu svazků aktuálně používaného VG, abychom získali více prostoru. V tomto případě však vytvoříme novou Skupinu svazků a budeme s ní experimentovat. Později uvidíme, jak rozšířit systémy souborů Skupiny svazků, která se právě používá.

Před použitím nového disku musíme disk rozdělit pomocí příkazu fdisk podle obrázku.

fdisk -c /dev/sdb

Dále postupujte podle níže uvedených kroků a vytvořte nový oddíl.

  • Zvolte n pro vytvoření nového.
  • Zvolte p pro vytvoření primárního oddílu.
  • Zvolte, jaký počet oddílů potřebujeme vytvořit.
  • Chcete-li využít celé místo na disku, stiskněte dvakrát enter.
  • Musíme změnit typ nově vytvořeného oddílu typ t.
  • Které číslo oddílu je třeba změnit, vyberte číslo, kterému jsme vytvořili 1.
  • Zde musíme změnit typ, musíme vytvořit LVM, takže použijeme typový kód LVM jako 8e, pokud neznáme kód typu Stiskněte L pro výpis všech typů kódů.
  • Pro potvrzení vytiskněte oddíl, který jsme vytvořili.
  • Zde vidíme ID jako 8e LINUX LVM.
  • Zapište změny a ukončete fdisk.

7. Proveďte výše uvedené kroky pro další 2 disky sdc a sdd a vytvořte nové oddíly. Poté restartujte počítač a ověřte tabulku oddílů pomocí příkazu fdisk.

fdisk -l

Vytvořte fyzický svazek LVM

8. Nyní je čas vytvořit Fyzické svazky pomocí všech 3 disků. Zde jsem uvedl fyzické disky pomocí příkazu „pvs“ a nyní je uveden pouze jeden výchozí PV.

pvs

9. Poté vytvořte nové fyzické disky a potvrďte nově vytvořené fyzické disky.

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
pvs

Vytváření skupin svazků LVM

10. Vytvořte skupinu svazků s názvem tecmint_add_vg pomocí dostupného volného PV a PE velikosti 32. Chcete-li zobrazit aktuální skupiny svazků, můžeme vidět, že se používá jedna skupina svazků s 1 PV.

vgs

11. Tím se vytvoří skupina svazků s názvem tecmint_add_vg s velikostí 32 MB PE a 3 fyzickými svazky, které jsme vytvořili v posledních krocích.

vgcreate -s 32M tecmint_add_vg /dev/sdb1 /dev/sdc1 /dev/sdd1

12. Dále ověřte skupinu svazků opětovným spuštěním příkazu vgs.

vgs

Pochopení výstupu příkazu vgs:

  • Název skupiny svazků.
  • Fyzické svazky používané v této skupině svazků.
  • Zobrazuje volné místo dostupné v této skupině svazků.
  • Celková velikost skupiny svazků.
  • Logické svazky uvnitř této skupiny svazků, zde jsme ještě nevytvořili, takže je 0.
  • SN=Počet snímků, které skupina svazků obsahuje. (Později můžeme vytvořit snímek).
  • Stav skupiny svazků jako zapisovatelný, čitelný, s možností změny velikosti, exportovaný, částečný a seskupený. Zde je wz–n-, což znamená w=zapisovatelný, z=s možností změny velikosti.
  • Počet fyzických svazků (PV) použitých v této skupině svazků.

13. Chcete-li zobrazit další informace o skupině svazků, použijte příkaz.

vgs -v

14. Chcete-li získat další informace o nově vytvořených skupinách svazků, spusťte následující příkaz.

vgdisplay tecmint_add_vg

Zde je popis každého parametru zobrazeného na výše uvedeném snímku obrazovky.

  • Název skupiny svazků
  • Použitá architektura LVM.
  • Lze jej číst a zapisovat do stavu připraveného k použití.
  • Velikost této skupiny svazků lze měnit.
  • Nebyl použit žádný fyzický disk a jsou aktivní.
  • Celková velikost skupiny svazků.
  • Velikost Single PE zde byla 32.
  • Celkový počet PE dostupných v této skupině svazků.
  • V současné době jsme v tomto VG nevytvořili žádný LV, takže je zcela zdarma.
  • UUID této skupiny svazků.

Vytváření logických svazků LVM

15. Nyní vytvořte 3 logické svazky s názvem tecmint_documents, tecmint_manager a tecmint_public. Zde si ukážeme, jak vytvořit logické svazky pomocí velikosti PE a velikosti GB.

Nejprve vypište aktuální logické svazky pomocí následujícího příkazu.

lvs

16. Tyto logické svazky jsou ve skupině svazků vg_tecmint. Chcete-li zjistit, kolik volného místa je k dispozici pro vytvoření logických svazků, vypište seznam skupin svazků a dostupné fyzické svazky pomocí příkazu „vgs“.

vgs

Velikost skupiny svazků je téměř 60 GB a je nevyužitá, takže v ní můžeme vytvářet LV. Rozdělme skupinu svazků na stejné velikosti, abychom vytvořili 3 logické svazky. To znamená 60GB/3=20GB. Každý logický svazek bude mít po vytvoření velikost 20 GB.

Metoda 1: Vytváření logických svazků pomocí velikosti PE

Nejprve vytvořte logické svazky pomocí velikosti fyzického rozsahu (PE). K vytvoření nových logických svazků potřebujeme znát výchozí velikost PE přiřazenou této skupině svazků a celkový počet dostupných PE.

Chcete-li získat tyto informace, spusťte následující příkaz.

vgdisplay tecmint_add_vg

  • Výchozí velikost PE přiřazená tomuto VG je 32 MB, zde velikost jednoho PE bude 32 MB.
  • Celkový dostupný PE je 1917.

Stačí to udělat a podívat se na malý výpočet pomocí příkazu bc.

bc
1917PE/3 = 639 PE. 
639 PE x 32MB = 20448 --> 20GB

Stisknutím CRTL+D ukončíte bc.

Nyní vytvoříme 3 logické svazky pomocí 639 PE. Zde se -l používá k rozšíření velikosti a -n k přiřazení názvu logického svazku.

lvcreate -l 639 -n tecmint_documents tecmint_add_vg
lvcreate -l 639 -n tecmint_manager tecmint_add_vg
lvcreate -l 639 -n tecmint_public tecmint_add_vg

Vypište vytvořené logické svazky pomocí příkazu lvs.

lvs

Metoda 2: Vytváření logických svazků pomocí velikosti GB

Při vytváření logického svazku pomocí velikosti GB nemůžeme získat přesnou velikost. Takže lepší způsob je vytvořit pomocí extend.

lvcreate -L 20G -n tecmint_documents tecmint_add_vg
lvcreate -L 20G -n tecmint_manager tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg

Vypište vytvořené logické svazky pomocí příkazu lvs.

lvs

Zde vidíme, že při vytváření 3. LV nemůžeme zaokrouhlit na 20 GB, je to kvůli malým změnám velikosti, ale tento problém bude při vytváření LV pomocí Extend size ignorován.

Vytváření systému souborů

17. Aby bylo možné používat logické svazky, musíme je naformátovat. Zde používám souborový systém ext4 k vytvoření svazků a jejich připojení pod /mnt/.

mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager

18. Vytvořme adresáře v /mnt a připojte logické svazky, které jsme vytvořili souborovým systémem.

mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/

19. Vypište a potvrďte bod připojení pomocí.

 
df -h

Trvalé připojení logických svazků

20. Nyní je dočasně připojeno, pro trvalé připojení musíme přidat záznam do fstab, k tomu nám umožní získat záznam připojení z mtab pomocí

cat /etc/mtab

21. Při zadávání kopií obsahu záznamu mount z mtab musíme provést drobné změny v položce fstab, musíme změnit rw na výchozí

vi /etc/fstab

Naše položky fstab by měly vypadat podobně jako níže uvedený příklad.

/dev/mapper/tecmint_add_vg-tecmint_documents    /mnt/tecmint_documents  ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_public       /mnt/tecmint_public     ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_manager      /mnt/tecmint_manager    ext4    defaults 0 0

22. Nakonec spusťte příkaz mount -a pro kontrolu položky fstab před restartem.

mount -av

Zde jsme viděli, jak nastavit flexibilní úložiště s logickými svazky pomocí fyzického disku na fyzický svazek, fyzického svazku do skupiny svazků a skupiny svazků na logické svazky.

V mých budoucích článcích se podívám, jak rozšířit skupinu svazků a logické svazky, zmenšit logický svazek, pořizovat snímky a obnovovat ze snímků. Do té doby zůstaňte aktualizováni na TecMint pro další takové úžasné články.