Co je LVM?
LVM je zkratka pro Logical Volume Manager. Nebudu uvádět oficiální definice, ale stručně je popíšu vlastními slovy. LVM je další vrstva abstrakce místa na disku. Tato úroveň se nachází mezi systémem souborů a fyzickým diskem. LVM je podobný softwarovému RAID. Právě v této abstrakci jsou 3 prvky: skupina svazků (Volume Group, zkr. VG), fyzický svazek (Physical volume, zkr. PV) a logický svazek (Logical Volume, zkr. LV). Můžete vytvořit více skupin svazků. Do každé skupiny svazků musíte přidat fyzické svazky. Fyzické svazky jsou diskové oddíly. Po přidání fyzických svazků můžete přidat logické svazky. A na logických svazcích už můžete tvořit souborový systém. To vše je velmi pohodlné, zejména na serveru.Jak lze LVM použít?
Pokud používáte LVM, můžete si zjednodušit údržbu serveru. Můžete vytvořit mnoho oddílů s různými systémy souborů, můžete připojit systémy souborů s různými příznaky (například zakázat spouštění souborů), můžete velmi rychle a snadno zvětšit velikost oddílu, pokud na něm dojde místo. Další vrstva mezi diskem a souborovým systémem samozřejmě snižuje rychlost čtení a zápisu. Za všechno se musí platit. LVM používám k pohodlné správě místa na disku virtuálních strojů. Obvykle jako virtuální disk pomocí běžného souboru. Za prvé je to nepohodlné, protože KVM nemá mechanismus pro pořizování snímků virtuálního disku a kopírování i několika gigabajtů trvá dlouho a virtuální stroj bude muset být zastaven. Zadruhé, pokud je soubor virtuálního disku uložen v systému souborů, dojde k dalším zpožděním spojeným se čtením a zápisem tohoto souboru. Proto používám logické svazky LVM jako virtuální disk.Rychlý průvodce příkazy
Vytvořit skupinu svazků:- vgcreate vg_virt /dev/sda1 /dev/sdb1
- pvcreate /dev/sda2
- vgextend vg_virt /dev/sda2
- lvcreate -L10G -n lv_ubuntu_vm vg_virt
Chcete-li zvětšit logický svazek, můžete zadat koncovou velikost svazku nebo můžete zadat velikost, o kterou chcete svazek zvětšit.
- lvextend -L12G /dev/vg_virt/lv_ubuntu_vm
- lvextend -L+3G /dev/vg_virt/lv_ubuntu_vm
- resize2fs /dev/vg_virt/lv_ubuntu_vm
- lvremove /dev/vg_virt/lv_ubuntu_vm
- lvcreate --size 2G --snapshot --name snapshot_ubuntu_vm /dev/vg_virt/lv_ubuntu_vm
A k vytvoření kopie logické jednotky, to znamená k jejímu úplnému naklonování, můžete použít jednoduchý nástroj dd.
- sudo dd if=/dev/vgroup1/lvolume1 of=/dev/vgroup1/lvolume_copy
Klasické úseky, do kterých se to nejčastěji láme HDD pro instalaci systému a ukládání dat mám řadu významných nedostatků. Jejich velikost se velmi obtížně mění, jsou v přísném sledu a pouhé odebrání kousku z první sekce a přidání k poslední nebude fungovat, pokud je mezi nimi více sekcí. Proto si uživatelé velmi často během počátečního rozdělování pevného disku lámou hlavu nad tím, kolik místa přidělit konkrétnímu oddílu. A téměř vždy v procesu používání systému dojdou k závěru, že si vybrali špatně.
Technologie LVM dokáže vyřešit většinu těchto problémů. Vytváří další abstrakci - logické svazky, které jsou v systému viditelné jako běžné oddíly, ale nejsou. Má řadu výhod:
Logické svazky LVM již nejsou vázány na fyzické umístění. V rámci LVM neexistuje vůbec nic jako logické pořadí svazků.
Velikost logických svazků lze zvětšovat za běhu a velikost nepřipojených svazků lze také snadno zmenšit, aniž byste museli opustit systém.
V případě potřeby můžete logické svazky rozložit na několik fyzických pevné diskyčímž se zvětší dostupný prostor. V tomto případě systém stále uvidí pouze jeden logický svazek, i když jeho velikost překročí dostupné velikosti. pevné disky. Můžete také udělat opak tím, že vyjmete pevný disk z LVM, čímž jej uvolníte pro jiné použití.
LVM podporuje mechanismus snapshot - okamžité kopie systému souborů svazku. To může být velmi užitečné pro vytváření záloh.
Existuje mnohem více výhod, o kterých si můžete přečíst ve specializovaných článcích o LVM.
Ubuntu plně podporuje LVM, nicméně od verze pro stolní počítače instalační disk nástroje potřebné pro práci s LVM byly odstraněny. Instalační program verze pro stolní počítače navíc neví, jak upravit svazky LVM. Pokud tedy chcete používat LVM, pak budete muset buď nainstalovat systém z alternativního disku, nebo trochu podvádět s běžným LiveCD. Instalace s Alternate je nepohodlná a mnohým způsobuje nepohodlí a kromě toho Alternate disk nejčastěji není po ruce, takže zvažte možnost LiveCD.
Upozorňuji, že LVM je spravováno přes terminál, takže aby se nic nerozbilo, musíte se s ním nejprve více či méně pohodlně naučit pracovat. Seznamte se také s principy fungování a základními koncepty LVM, abyste pochopili, co to je. Článek není určen pro začátečníky, ale pro ty, kteří již přišli na základy Ubuntu.
Předběžná příprava
Musíte spustit systém z LiveCD a připojit počítač k internetu. Dále otevřete terminál a nainstalujte potřebné nástroje přímo do relace LiveCD pomocí příkazu:
sudo apt-get install lvm2Vše, nyní můžete začít pracovat s LVM. Nejprve ale musíme přidělit místo, kde budeme LVM vytvářet. K tomu budete potřebovat editor oddílů Gparted, který se nachází v nabídce Systém → Správa (Systém → Správa).
Vzhledem ke zvláštnostem zavaděče GRUB je při použití LVM lepší mít samostatný malý oddíl pro /boot. Řekněme, že 200 Mb by mělo stačit.
Vytvořte oddíl s Gparted /boot a oddíl, na který nasadíte LVM. Pokud jste ochotni věnovat celý svůj pevný disk LVM, nezapomeňte, že oddíl /boot vašeho Ubuntu musí být na oddílu, který není LVM. Budete tedy potřebovat dva oddíly - 200 Mb pod /boot a vše ostatní pod LVM. Nevybírejte pro žádný souborový systém Oddíl LVM- jen prázdná sekce (neformátovaná). Nezapomeňte, že chcete-li použít všechny změny, které jste provedli prostřednictvím Gparted, musíte kliknout na zelené zaškrtnutí na horní liště nebo vybrat Použít z nabídky Úpravy.
Po úspěšném provedení změn označení budete muset změnit typ sekce, kterou potřebujete Linux LVM. Chcete-li to provést, klikněte pravým tlačítkem myši na sekci a vyberte „Spravovat příznaky“. V okně, které se otevře, zaškrtněte políčko s názvem lvm, počkejte, až se použijí všechny změny, a zavřete Gparted. V této přípravné fázi je dokončena.
Vytváření logických svazků LVM
Nyní je čas začít přímo vytvářet LVM. Například budeme předpokládat, že vytváříme LVM nad oddílem /dev/sda1. V tomto případě musíte nejprve inicializovat fyzický oddíl pomocí příkazu:
sudo pvcreate /dev/sda1 sudo vgcreate local /dev/sda1A nakonec vytvořte logické svazky, které potřebujete. Zde stojí za zmínku, že protože je snadné zvětšit velikost svazků LVM přímo v běžícím systému, je nejlepší přidělit logickým svazkům minimální požadovanou velikost. Nebojte se, že velký objem zůstane nepřidělen v rámci skupiny svazků, neztratí se. Jakmile budete potřebovat další prostor, můžete jej snadno přidat do libovolného logického svazku. Ale zmenšení velikosti logického svazku je mnohem obtížnější.
Instalace systému obvykle vyžaduje kořenový oddíl, oddíl /home, odkládací oddíl a někdy i datový oddíl. Pro všechny tyto čtyři úlohy můžete vytvořit logické svazky pomocí příkazů:
sudo lvcreate -L 7G -n root local sudo lvcreate -L 5G -n home local sudo lvcreate -L 3G -n swap local sudo lvcreate -L 10G -n data localParametr -n, pokud jste ještě nepochopili, nastavuje název logického svazku, -L - jeho velikost.
Nyní musíte na vytvořených logických svazcích vytvořit systémy souborů.
V moderních verzích Ubuntu musíte před instalací vytvořit souborové systémy ručně. V opačném případě bude chtít instalační program vytvořit tabulku oddílů MBR nad každým svazkem LVM, což je vysoce nežádoucí.
Můžete to provést pomocí následujících příkazů:
sudo mkfs.ext4 / dev/ local/ root sudo mkfs.ext4 / dev/ local/ home sudo mkswap -f / dev/ local/ swap sudo mkfs.ext4 / dev/ local/ dataVšimněte si, že názvy logických svazků LVM v systému vypadají jako /dev/(název_skupiny_volume)/(název_svazku) .
Kromě toho souborový systém ext4 standardně rezervuje určitý prostor pro systémová data. Od na /home a ještě více na oddílu s uživatelské soubory, nikdy nebudou žádná systémová data, je lepší tuto rezervaci zrušit, aby se uvolnilo zbytečné místo. K tomu jsou užitečné příkazy.
sudo tune2fs -r 0 / dev/ local/ home sudo tune2fs -r 0 / dev/ local/ dataV žádném případě nerušte rezervaci pro kořenový oddíl, jinak může systém přestat fungovat úplně!
Nakonec můžete datovému oddílu dát správný štítek, aby se v nainstalovaném systému dobře zobrazoval. Můžete to udělat pomocí následujícího příkazu:
sudo tune2fs -L Data /dev/local/dataNyní můžete přejít přímo k instalaci na námi vytvořené logické svazky.
Instalace systému
Samotná instalace je ve skutečnosti standardní, ale když budete vyzváni k výběru metody rozdělení disku, vyberte ruční režim. V okně, které se otevře, uvidíte všechny svazky LVM, které jste vytvořili. U každého zadejte příslušný bod připojení, ale nezaškrtávejte políčko formátu. Pro datovou oblast můžete zadat bod připojení /media/data . Nezapomeňte na malý oddíl /boot. Potřebuje určit příslušný přípojný bod a lze jej nastavit jako ext2 FS, navíc je potřeba jej naformátovat.
Počkejte na dokončení instalace, ale nerestartujte počítač!
Pokud po instalaci restartujete počítač, váš nový systém nezačne. V tomto případě se budete muset vrátit na LiveCD, nainstalovat nástroje LVM a poté spustit příkaz sudo vgchange -a y
Poté postupujte podle pokynů níže.
Aktivace LVM na nainstalovaném systému
Nainstalovali jste systém, ale je tu jeden malý problém - nainstalované Ubuntu nemá nástroje pro práci s LVM, což znamená, že se jednoduše nespustí. Toto lze snadno opravit.
Chcete-li začít, aniž byste opustili LiveCD, připojte logický svazek, který jste vybrali jako kořen, do složky /mnt. To lze provést pomocí příkazu
sudo mount /dev/local/root/mntPoté připojte oddíl /boot na místo (v příkladu níže je to /dev/sda1):
sudo mount /dev/sda1 /mnt/bootNyní se budete muset přihlásit nainstalovaný systém pomocí chroot , ale nejprve musíte dočasně připojit některé důležité systémové prostředky. Chcete-li to provést, spusťte příkazy
sudo mount --bind / dev / mnt/ dev sudo mount --bind / proc / mnt/ proc sudo mount --bind / sys / mnt/ sysPokud náhle máte /var nebo jiné systémové adresáře na jiných než kořenových oddílech ve vašem nově nainstalovaném systému, nezapomeňte je připojit na jejich místa v /mnt .
Nyní přejděte do nainstalovaného systému pomocí příkazu
sudo chroot / mnt / bin / bashA pomocí příkazu nainstalujte potřebné nástroje
apt-get install lvm2Vše, instalace je hotová. Zavřete terminál, stiskněte Alt + Ctrl + Del a restartujte počítač. Nezapomeňte vyjmout LiveCD z jednotky. Počítač by se měl spustit do nově nainstalovaného systému.
Další práce
Řekněme, že v určitém okamžiku již nemáte dostatek 5 gigabajtů, které jste alokovali pro oddíl /home. Žádný problém. Pomocí příkazu zjistíte, kolik nevyužitého místa zbývá ve skupině svazků
sudo vgdisplaylocalNyní pomocí příkazu zvětšete velikost logického svazku /dev/local/home na požadovanou velikost
sudo lvresize -L 15G /dev/local/homeVšimněte si, že při použití tímto způsobem volba -L určuje celkovou požadovanou velikost, nikoli přírůstek. Přírůstek lze zadat pomocí symbolu „+“:
sudo lvresize -L +5G /dev/local/homePo zvětšení velikosti logického svazku zbývá pouze roztáhnout souborový systém na celý nový svazek. To lze provést pomocí příkazu
sudo resize2fs /dev/local/homeTo je vše, velikost logického svazku byla zvětšena.
Kromě zvětšování velikosti logických svazků za běhu umí LVM spoustu dalších užitečných věcí. Vytvářejte například okamžité snímky. O všech záludnostech práce s touto technologií se však dočtete ve specializovaných článcích.
Logical Volume Manager (LVM) je velmi výkonný systém pro správu objemu dat pro Linux. To vám umožní vytvořit přes fyzické oddíly(nebo i pevné disky bez oddílů) logické svazky, které budou v samotném systému viditelné jako běžná bloková zařízení s daty (tj. jako běžné oddíly). Hlavní výhody LVM spočívají v tom, že za prvé lze vytvořit jednu skupinu logických svazků na libovolném počtu fyzických oddílů a za druhé lze velikost logických svazků snadno měnit přímo za provozu. Kromě toho LVM podporuje mechanismus snapshot, kopírování oddílů za běhu a zrcadlení podobné RAID-1.
Pokud máte v plánu udělat hodně práce s LVM, pak můžete spustit speciální "shell" pomocí příkazu sudo lvm. Příkaz help zobrazí seznam příkazů.
Vytvořit a odstranit
Jak již bylo uvedeno, LVM je postaven na základě oddílů. pevný disk a/nebo celé pevné disky. Na každém z disků / oddílů musí být vytvořen fyzický objem(fyzický objem). Například používáme disk pro LVM sda a oddíl sdb2:
pvcreate /dev/sda pvcreate /dev/sdb2
Na těchto fyzických svazcích tvoříme objemová skupina, který se bude jmenovat, řekněme, vg1:
Vgcreate -s 32M vg1 /dev/sda /dev/sdb2
Podívejme se na informace o naší skupině svazků:
vgdisplay vg1
Můžete vytvořit několik skupin, každou s vlastní sadou svazků. Ale obvykle to není vyžadováno.
Nyní můžete vytvořit skupinu svazků logické svazky lv1 a lv2 20 GB, respektive 30 GB:
Lvcreate -n lv1 -L 20G vg1 lvcreate -n lv2 -L 30G vg1
Nyní máme bloková zařízení /dev/vg1/lv1 a /dev/vg1/lv2.
Zbývá na nich vytvořit souborový systém. Neexistují žádné rozdíly s obvyklými sekcemi:
mkfs.ext4 /dev/vg1/lv1 mkfs.reiserfs /dev/vg1/lv2
Odebrání LVM (nebo jeho jednotlivých částí, například logických svazků nebo skupin svazků) probíhá v opačném pořadí - nejprve je třeba odpojit oddíly, poté odebrat logické svazky (lvremove), poté můžete odebrat skupiny svazků (vgremove ) a nepotřebné fyzické svazky (pvremove) .
Přidání fyzických svazků
Chcete-li přidat nový pevný disk sdc do skupiny svazků vytvořte fyzický svazek:
pvcreate /dev/sdc
A přidejte to do naší skupiny:
Vgextend vg1 /dev/sdc
Nyní můžete vytvořit další logický disk (lvcreate) nebo zvětšit velikost stávajícího disku (lvresize).
Mazání fyzických svazků
Odebrání pevného disku ze spuštěné skupiny svazků sda Nejprve z něj přeneseme všechna data na jiné disky:
pvmove /dev/sda
Poté jej odeberte ze skupiny svazků:
Vgreduce vg1 /dev/sda
A nakonec odstraňte fyzický svazek:
Pvremove /dev/sda
Ve skutečnosti poslední příkaz pouze odstraňuje značku, že disk je členem lvm, a nepřináší mnoho výhod. Po odebrání z LVM bude nutné disk znovu rozdělit/přeformátovat pro další použití.
Změna velikosti
LVM usnadňuje změnu velikosti logických svazků. Chcete-li to provést, musíte nejprve změnit samotný logický svazek:
Lvresize -L 40G vg1/lv2
a pak souborový systém na něm:
resize2fs /dev/vg1/lv2 resize_reiserfs /dev/vg1/lv2
Změna velikosti fyzického svazku je velmi složitý úkol a obvykle se nepoužívá. Je rozumnější a bezpečnější odebrat fyzický svazek, změnit velikost oddílu a znovu vytvořit svazek.
Jak snadné je to zkusit
Pokud není LVM nainstalováno pro další použití, ale „na pohled“, lze disky a oddíly nahradit soubory. Ani jedno nebude potřeba přídavné disky, ani virtuální stroje. Vytvoříme virtuální disky a budeme s nimi pracovat. Můžete například vytvořit 4 disky po 1 GB, ale můžete vytvořit různý počet větších resp menší jak si přeješ. Soubory vytváříme sami, simulujeme zařízení:
Mkdir /mnt/sdc1/lvm cd /mnt/sdc1/lvm dd if=/dev/zero of=./d01 count=1 bs=1G dd if=/dev/zero of=./d02 count=1 bs=1G dd if=/dev/zero of=./d03 počet=1 bs=1G dd if=/dev/zero of=./d04 počet=1 bs=1G
Vytvořte zařízení zpětné smyčky ze souborů:
Losetup -f --show ./d01 losetup -f --show ./d02 losetup -f --show ./d03 losetup -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 vg nejprve -L 2G -n sekunda -L 400M vg ...
Snímky
Jednou z nejdůležitějších vlastností LVM je podpora mechanismu snapshot. Snímky vám to umožňují okamžitý snímek logického svazku a později jej použít k práci s daty.
Příklady použití
LVM se aktivně používá, když je potřeba mechanismus snapshotů. Tento mechanismus je například extrémně důležitý při zálohování neustále se měnících souborů. LVM umožňuje zmrazit určitý stav souborového systému a zkopírovat z něj všechna potřebná data, přičemž nemusíte zastavovat nahrávání na původní souborový systém.
Snímky lze také použít k organizaci podpory souborový server s mechanismem Samba pro archivní kopie, o tom v odpovídajícím článku:
LVM s LiveCD
Pokud potřebujete pracovat s LVM z Ubuntu LiveCD, budete muset provést několik dalších kroků, protože ve výchozím nastavení neexistují žádné nástroje pro práci s LVM.
Nejprve musíte nainstalovat tyto nástroje:
sudo vgscan sudo vgdisplay VAŠE_VGNAME
Sudo vgchange -a y
Tento příkaz by měl hlásit, že všechny vaše logické svazky jsou aktivovány. Nyní s nimi můžete pracovat běžným způsobem.