GNU/Linux >> Znalost Linux >  >> Linux

Jak spravovat úložiště v Linuxu pomocí LVM

Logical Volume Manager (LVM) je softwarový systém podobný RAID, který vám umožňuje vytvářet „pooly“ úložiště a podle potřeby do těchto fondů přidávat místo na pevném disku. Existuje mnoho důvodů, proč jej používat, zejména v datovém centru nebo na jakémkoli místě, kde se požadavky na úložiště v průběhu času mění. Mnoho linuxových distribucí jej však používá ve výchozím nastavení pro desktopové instalace, protože uživatelé považují flexibilitu za pohodlnou a existují některé vestavěné šifrovací funkce, které struktura LVM zjednodušuje.

Pokud však nejste zvyklí vidět svazek LVM při spouštění z Live CD pro účely záchrany dat nebo migrace, může být LVM matoucí, protože připojení příkaz nemůže připojit svazky LVM. K tomu potřebujete nainstalované nástroje LVM. Je velká šance, že vaše distribuce má k dispozici nástroje LVM – pokud již nejsou nainstalovány.

Tento tutoriál vysvětluje, jak vytvářet svazky LVM a jak s nimi pracovat.

Vytvoření fondu LVM

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Tento článek předpokládá, že máte pracovní znalosti o tom, jak pracovat s pevnými disky v systému Linux. Pokud potřebujete více informací o základech, než budete pokračovat, přečtěte si můj úvod k pevným diskům v Linuxu.

Obvykle nemusíte LVM nastavovat vůbec. Při instalaci Linuxu se často ve výchozím nastavení vytvoří virtuální „fond“ úložiště a přidá se do něj pevný disk (disky) vašeho počítače. Ruční vytvoření úložiště LVM je však skvělý způsob, jak zjistit, co se děje v zákulisí.

Můžete cvičit se dvěma náhradními flash disky libovolné velikosti nebo dvěma pevnými disky nebo virtuálním strojem s definovanými dvěma imaginárními disky.

Nejprve naformátujte pomyslnou jednotku /dev/sdx abyste měli nový disk připravený k použití pro tuto ukázku.

# echo "warning, this ERASES everything on this drive."
warning, this ERASES everything on this drive.
# dd if=/dev/zero of=/dev/sdx count=8196
# parted /dev/sdx print | grep Disk
Disk /dev/sdx: 100GB
# parted /dev/sdx mklabel gpt
# parted /dev/sdx mkpart primary 1s 100%

Tento příkaz LVM vytvoří fond úložiště. Fond se může skládat z jednoho nebo více disků a právě teď se skládá z jednoho. Tento příklad úložiště se jmenuje kulečník , ale můžete to nazvat jakkoli.

# vgcreate billiards /dev/sdx1

Nyní máte velkou mlhavou zásobu úložného prostoru. Čas to rozdat. Chcete-li vytvořit dva logické svazky (můžete si je představit jako virtuální disky), jeden s názvem vol0 a druhý s názvem vol1 , zadejte následující:

# lvcreate billiards 49G --name vol0
# lvcreate billiards 49G --name vol1

Nyní máte dva svazky vyřezané z jednoho úložného fondu, ale žádný z nich ještě nemá souborový systém. Chcete-li vytvořit souborový systém na každém svazku, musíte si přinést kulečník skupina svazků online.

# vgchange --activate y billiards

Nyní vytvořte souborové systémy. -L Tato možnost poskytuje štítek pro jednotku, který se zobrazí, když je jednotka připojena na plochu. Cesta ke svazku se trochu liší od obvyklých cest zařízení, na které jste zvyklí, protože se jedná o virtuální zařízení ve fondu úložiště LVM.

# mkfs.ext4 -L finance /dev/billiards/vol0
# mkfs.ext4 -L production /dev/billiards/vol1

Tyto nové svazky můžete připojit na plochu nebo z terminálu.

# mkdir -p /mnt/vol0 /mnt/vol1
# mount /dev/billiards/vol0 /mnt/vol0
# mount /dev/billiards/vol1 /mnt/vol1

Přidejte prostor do svého bazénu

Dosud LVM neposkytovalo nic jiného, ​​než rozdělení disku, které běžně poskytuje:dvě různé části místa na disku na jednom fyzickém disku (v tomto příkladu 49 GB a 49 GB na 100GB disku). Představte si nyní, že finanční oddělení potřebuje více prostoru. Tradičně byste museli restrukturalizovat. Možná byste přesunuli data finančního oddělení na nový, vyhrazený fyzický disk, nebo byste možná přidali disk a pak použili ošklivý hack na symbolický odkaz, který uživatelům poskytne snadný přístup k jejich dodatečnému úložnému prostoru. S LVM však vše, co musíte udělat, je rozšířit úložiště.

Prostor do fondu můžete přidat naformátováním jiného disku a jeho použitím k vytvoření dalšího prostoru.

Nejprve vytvořte oddíl na nové jednotce, kterou přidáváte do fondu.

# part /dev/sdy mkpart primary 1s 100%

Poté použijte vgextend příkaz k označení nového disku jako součásti fondu.

# vgextend billiards /dev/sdy1

Nakonec věnujte určitou část nově dostupné oblasti úložiště příslušnému logickému svazku.

# lvextend -L +49G /dev/billiards/vol0

Expanze samozřejmě nemusí být tak lineární. Představte si, že výrobní oddělení najednou potřebuje 100 TB prostoru navíc. Pomocí LVM můžete přidat libovolný počet fyzických disků, každý z nich přidat pomocí vgextend k vytvoření 100TB úložného fondu a poté pomocí lvextend k „roztažení“ úložného prostoru produkčního oddělení na 100 TB dostupného prostoru.

Použijte nástroje k pochopení struktury úložiště

Jakmile začnete používat LVM seriózně, prostředí úložiště může být ohromující. Existují dva příkazy ke shromažďování informací o struktuře vaší infrastruktury úložiště.

Za prvé je tu vgdisplay , který zobrazuje informace o vašich skupinách svazků (můžete si je představit jako velké virtuální disky LVM na vysoké úrovni).

# vgdisplay
  --- Volume group ---
  VG Name               billiards
  System ID            
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <237.47 GiB
  PE Size               4.00 MiB
  Total PE              60792
  Alloc PE / Size       60792 / <237.47 GiB
  Free  PE / Size       0 / 0  
  VG UUID               j5RlhN-Co4Q-7d99-eM3K-G77R-eDJO-nMR9Yg

Druhým je lvdisplay , která zobrazuje informace o vašich logických svazcích (můžete si je představit jako jednotky orientované na uživatele).

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/billiards/finance
  LV Name                finance
  VG Name                billiards
  LV UUID                qPgRhr-s0rS-YJHK-0Cl3-5MME-87OJ-vjjYRT
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-12-16 07:31:01 +1300
  LV Status              available
  # open                 1
  LV Size                149.68 GiB
  Current LE             46511
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3

[...]

Použití LVM v záchranném prostředí

"Problém" s LVM je v tom, že zalamuje oddíly způsobem, který není známý mnoha administrátorům, kteří jsou zvyklí na tradiční rozdělení disku. Za normálních okolností jsou jednotky LVM aktivovány a připojeny poměrně neviditelně během procesu spouštění nebo integrace LVM na ploše. Není to něco, na co byste obvykle měli myslet. Problémem se to stává pouze tehdy, když se ocitnete v režimu obnovy poté, co se s vaším systémem něco pokazí.

Pokud potřebujete připojit svazek, který je „skrytý“ ve struktuře LVM, musíte se ujistit, že je nainstalována sada nástrojů LVM. Pokud máte přístup k vašemu /usr/sbin adresář, pravděpodobně máte přístup ke všem svým obvyklým příkazům LVM. Ale pokud jste nabootovali do minimálního shellu nebo záchranného prostředí, možná tyto nástroje nemáte. Dobré záchranné prostředí má nainstalovaný LVM, takže pokud jste v minimálním prostředí, najděte záchranný systém, který ano. Pokud používáte záchranný disk a nemá nainstalovaný LVM, nainstalujte jej buď ručně, nebo najděte záchranný disk, který jej již obsahuje.

V zájmu opakování a srozumitelnosti zde je návod, jak připojit svazek LVM.

# vgchange --activate y
2 logical volume(s) in volume group "billiards" now active
# mkdir /mnt/finance
# mount /dev/billiards/finance /mnt/finance

Integrace LVM se šifrováním LUKS

Mnoho distribucí Linuxu při instalaci operačního systému standardně používá LVM. To umožňuje pozdější rozšíření úložiště, ale také se dobře integruje se šifrováním disku poskytovaným šifrovacím nástrojem Linux Unified Key Setup (LUKS).

Šifrování je docela důležité a existují dva způsoby, jak věci zašifrovat:můžete šifrovat na základě jednotlivých souborů pomocí nástroje, jako je GnuPG, nebo můžete zašifrovat celý oddíl. V Linuxu je šifrování oddílu snadné pomocí LUKS, který je kompletně integrován do Linuxu prostřednictvím modulů jádra a umožňuje připojení jednotek pro bezproblémové čtení a zápis.

Šifrování celého hlavního disku se obvykle provádí jako volitelná možnost během instalace. Po výzvě zvolíte šifrování celého disku nebo pouze domácího oddílu a od tohoto okamžiku používáte LUKS. Je pro vás většinou neviditelný, kromě výzvy k zadání hesla během bootování.

Pokud vaše distribuce tuto možnost během instalace nenabízí nebo pokud chcete disk nebo oddíl pouze zašifrovat ručně, můžete to udělat.

Tento příklad můžete následovat s použitím náhradní jednotky; Použil jsem malý 4GB flash disk.

Nejprve připojte disk k počítači. Ujistěte se, že je bezpečné vymazat disk a použijte lsblk k nalezení disku ve vašem systému.

Pokud disk ještě není rozdělen na oddíly, rozdělte jej nyní. Pokud nevíte, jak rozdělit disk, podívejte se na pokyny na výše uvedeném odkazu.

Nyní můžete nastavit šifrování. Nejprve naformátujte oddíl pomocí cryptsetup příkaz.

# cryptsetup luksFormat /dev/sdx1

Všimněte si, že šifrujete oddíl , nikoli samotný fyzický disk. Zobrazí se varování, že LUKS vymaže váš disk; musíte to přijmout, abyste mohli pokračovat. Budete vyzváni k vytvoření přístupové fráze, tak to udělejte. Nezapomeňte na tu přístupovou frázi. Bez něj se už nikdy nebudete moci dostat do této jednotky!

Zašifrovali jste oddíl flash disku, ale na disku zatím není žádný souborový systém. Samozřejmě nemůžete zapisovat souborový systém na disk, když jste na něm zamčeni, takže nejprve otevřete disk pomocí LUKS. Pro svůj disk můžete zadat uživatelsky přívětivý název; pro tento příklad jsem použil mySafeDrive .

# cryptsetup luksOpen /dev/sdx1 mySafeDrive

Chcete-li disk otevřít, zadejte svou přístupovou frázi.

Podívejte se do /dev/mapper a uvidíte, že jste svazek připojili spolu se všemi dalšími svazky LVM, které můžete mít, což znamená, že nyní máte přístup k tomuto disku. Vlastní název (např. mySafeDrive) je symbolický odkaz na automaticky vygenerovaný označení v /dev/mapper . Při provozu na tomto disku můžete použít kteroukoli cestu.

# ls -l /dev/mapper/mySafeDrive
lrwxrwxrwx. 1 root root 7 Oct 24 03:58 /dev/mapper/mySafeDrive -> ../dm-4

Vytvořte si systém souborů.

# mkfs.ext4 -o Linux -L mySafeExt4Drive /dev/mapper/mySafeDrive

Nyní proveďte ls -lh na /dev/mapper a uvidíte, že mySafeDrive je ve skutečnosti symbolický odkaz na nějaké jiné vývojáře; pravděpodobně /dev/dm0 nebo podobné. Toto je souborový systém, který můžete připojit:

# mount /dev/mapper/mySafeExt4Drive /mnt/hd

Nyní je souborový systém na šifrované jednotce připojen. Soubory můžete číst a zapisovat tak, jak byste očekávali u jakékoli jednotky.

Použití šifrovaných disků na ploše

LUKS je zabudován do jádra, takže váš linuxový systém si je plně vědom toho, jak s ním zacházet. Odpojte disk, zapojte jej zpět a připevněte na plochu. Ve správci souborů Dolphin v KDE budete před dešifrováním a připojením disku vyzváni k zadání hesla.

Používání LVM a LUKS je snadné a poskytuje flexibilitu pro vás jako uživatele a správce. Protože je těsně integrován do samotného Linuxu, je dobře podporován a je skvělým způsobem, jak přidat vrstvu zabezpečení vašich dat. Zkuste to ještě dnes!


Linux
  1. Jak spravovat možnosti souborů Linux

  2. Jak spravovat heslo účtu v Linuxu

  3. Jak spravovat služby Systemd pomocí Systemctl v systému Linux

  1. Jak používat Disk Google v systému Linux

  2. Jak spravovat více verzí Pythonu pomocí Pyenv v systému Linux

  3. Jak spravovat swapovací oddíl v Linuxu

  1. Přidejte úložiště pomocí LVM

  2. Jak spravovat uživatele pomocí useradd v linuxu

  3. Jak spravovat linuxové pracovní stanice pomocí zásad