Co je LVM? A proč je to potřeba? Instalace Ubuntu Desktop na logický svazek LVM Lvm je větší než velikost disku.

Správa systému

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ů:
  1. vgcreate vg_virt /dev/sda1 /dev/sdb1
Inicializace fyzického svazku:
  1. pvcreate /dev/sda2
Přidání fyzického svazku do skupiny svazků:
  1. vgextend vg_virt /dev/sda2
Vytvořte nový 10GB logický svazek:
  1. lvcreate -L10G -n lv_ubuntu_vm vg_virt
Logickým svazkům lze dát smysluplná jména. To je mnohem pohodlnější pro práci s názvy jako sdxx.
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.
  1. lvextend -L12G /dev/vg_virt/lv_ubuntu_vm
  2. lvextend -L+3G /dev/vg_virt/lv_ubuntu_vm
A samozřejmě po této operaci musíte zvětšit velikost samotného souborového systému.
  1. resize2fs /dev/vg_virt/lv_ubuntu_vm
Odstranění logického svazku:
  1. lvremove /dev/vg_virt/lv_ubuntu_vm
Vytvoření snímku z logického svazku:
  1. lvcreate --size 2G --snapshot --name snapshot_ubuntu_vm /dev/vg_virt/lv_ubuntu_vm
Snímky logických svazků jsou velmi rychlé a velmi pohodlné. Snímek je něco jako další vrstva, která ukládá všechny změny na logický svazek. Snímek neukládá žádné soubory, které nebyly od pořízení snímku změněny. Proto velikost použitého prostoru ve snímku svazku závisí na počtu změn. Pokud odstraníte svazek, ze kterého byl snímek pořízen, bude odstraněn také snímek. A samozřejmě operace na snímku svazku jsou mnohem pomalejší než operace na svazku samotném.
A k vytvoření kopie logické jednotky, to znamená k jejímu úplnému naklonování, můžete použít jednoduchý nástroj dd.
  1. sudo dd if=/dev/vgroup1/lvolume1 of=/dev/vgroup1/lvolume_copy
Logické svazky samozřejmě musí existovat.

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 lvm2

Vš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/sda1

A 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 local

Parametr -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/ data

Vš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/ data

V žá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/data

Nyní 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/mnt

Poté připojte oddíl /boot na místo (v příkladu níže je to /dev/sda1):

sudo mount /dev/sda1 /mnt/boot

Nyní 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/ sys

Pokud 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 / bash

A pomocí příkazu nainstalujte potřebné nástroje

apt-get install lvm2

Vš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 vgdisplaylocal

Nyní pomocí příkazu zvětšete velikost logického svazku /dev/local/home na požadovanou velikost

sudo lvresize -L 15G /dev/local/home

Vš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/home

Po 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/home

To 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.