Logical Volume Management
Logical Volume Management (zkratka LVM, správa logických disků) je v informatice metodou správy diskového prostoru, která poskytuje mnohem větší variabilitu než konvenční způsob dělení pevných disků na diskové oddíly. Umožňuje spojovat více pevných disků nebo diskových oddílů do větších logických celků a s nimi dále pracovat, tj. vytvářet na nich oddíly se souborovými systémy a využívat jejich organizace k získání dalších vlastností (přesuny dat mezi fyzickými zařízeními bez narušení jejich dostupnosti nebo podobné vlastnosti, jako mají pole RAID).
Charakteristika
[editovat | editovat zdroj]LVM je jen jedním z mnoha způsobů virtualizace diskového prostoru, funguje jako mezivrstva mezi ovladačem pevného disku a operačním systémem.
LVM umožňuje spojovat jednotlivé pevné disky nebo diskové oddíly do větších logických skupin (svazků). V rámci svazků pak lze typicky vytvářet logické části (podobně jako diskové oddíly na pevných discích). Na logických částech se pak vytváří souborové systémy, přičemž je možné logické části zvětšovat či zmenšovat v závislosti na požadavcích na zvětšování nebo zmenšování souborových systémů. Je obvyklé, že tyto operace lze provádět bez přerušení přístupu k datům v souborovém systému, pokud to samozřejmě podporuje sám souborový systém (například ext3 lze v Linuxu za běhu zvětšovat, ale nelze jej za běhu zmenšovat na rozdíl od Btrfs nebo NTFS od Windows Vista, které umožňují oboje).
Při vhodné organizaci je možné do LVM přidávat nebo z něj odebírat zařízení a data opět bez přerušení jejich dostupnosti, případně mezi fyzickými zařízeními data přelévat.
Princip
[editovat | editovat zdroj]Typicky je u LVM výchozí jednotkou fyzické zařízení (dále PV, physical volume), kterým může být celý disk nebo diskový oddíl, RAID, SAN nebo jiné zařízení pro ukládání dat. Prostor na tomto PV je rozdělen na menší díly, které se nazývají fyzické extenty (dále PE, physical extent). Některé implementace LVM (jako např. HP-UX nebo nativní LVM Linuxu) mají pro PE pevně danou velikost, ale jiné (jako např. u Veritasu) používají PE s proměnlivou velikostí, které lze spojovat či rozdělovat.
Fyzické extenty (PE) jsou sdružovány do svazků (dále VG, volume group). Uvnitř VG jsou vytvářeny logické oddíly (dále LV, logical volume), které se skládají z logických extentů (dále LE, logical extent) – ty jsou typicky mapovány jedna k jedné na fyzické extenty (PE), i když některé implementace mohou mít proměnlivou velikost.
Svazky (VG) jsou směrem k operačnímu systémy prezentovány jako běžná bloková zařízení. Na VG se vytvářejí logické svazky (LV), které odpovídají diskovým oddílům. Na LV je pak možné vytvářet běžné souborové systémy.
LVM jako RAID
[editovat | editovat zdroj]Při klasickém použití LVM se větší počet zařízení sdružených do LVM chová podobně jako RAID0. V případě prokládání (strippingu) lze dosáhnout většího výkonu čtení a zápisu.
Pokud je u LVM použita vhodná organizace PV a LE, je možné dosáhnout podobné funkcionality jako u polí RAID. Například pro zrcadlení (mirroring) jsou pro každý LE použity alespoň dva PE se stejným obsahem. V případě výpadku PE jsou pak data stále k dispozici.
Omezení
[editovat | editovat zdroj]Při přidávání a odebírání zařízení může dojít k narušení spojitosti úložného prostoru (LV je mapován na PV, které jsou rozmístěny na přeskáčku), což může vést ke snížení výkonu při práci s daty, avšak tato penalizace je typicky akceptovatelná kvůli možnosti pružného přizpůsobování velikosti a výměně použitých zařízení (i za chodu).
Změna velikosti LV neznamená automaticky změnu souborového systému, který je na něm vytvořen. Proto je nutné, aby i souborový systém podporoval změnu velikosti. Typicky všechny souborové systémy lze zmenšovat nebo zvětšovat, pokud jsou odpojeny (s daty se nepracuje). Některé (například Btrfs nebo NTFS od Windows Vista) umožňují změnu velikosti i za provozu systému (tzv. online shrinking nebo online growing). Zmenšování je samozřejmě možné jen do velikosti odpovídající obsazené části souborového systému. Souborový systém NTFS nepodporuje online přesun fixně umístěných dat (např. odkládacího prostoru).
Snímky
[editovat | editovat zdroj]Některé implementace LVM umožňují tzv. snímky (snapshot), které umožňují zachytit stav souborového systému dat v čase. Využívají se buď pro vrácení změn nebo pro usnadnění zálohování. V obou případech jsou nově zapsaná data ukládána do LVM takovým způsobem, aby bylo možné rozlišit původní a pozdější stav. Snímky lze později rušit, případně slučovat, což může být časově náročná operace (musí být přesunuta větší množství dat podle toho, kolik dat bylo později změněno, přidáno či smazáno). Čím více dat je od vytvoření snímku změněno, tím bývá snížen výkon LVM, protože data se nacházejí na více místech.
Některé souborové systémy též umožňují tvorbu snímků (např. NTFS nebo ext4), avšak s typicky větším výkonem a snadnějším slučováním, než má LVM (je nutné udržovat navíc jen doplňující metadata).
Snímky mohou využívat i souborové systémy jen pro čtení (např. Live CD), které nelze měnit a změny se zapisují na pevný disk.
Implementace LVM
[editovat | editovat zdroj]Dodavatel | Použito v | Správce disků | Allocate anywhere | Snapshoty | RAID0 | RAID1 | RAID5 | Zrcadlení s prokládáním | Poznámka |
---|---|---|---|---|---|---|---|---|---|
IBM | AIX 3.0 (1989) | Logical Volume Manager | Refers to PEs as PPs (physical partitions), and to LEs as LPs (logical partitions). | ||||||
Hewlett-Packard | HP-UX 9.0 | HP Logical Volume Manager | |||||||
FreeBSD | Vinum Volume Manager | ||||||||
Linux 2.2 | Logical Volume Manager | ||||||||
Linux 2.4 | Enterprise Volume Management System | ||||||||
Silicon Graphics | Irix or Linux | XVM Volume Manager | |||||||
Sun Microsystems | SunOS | Solaris Volume Manager (původně Solstice DiskSuite). | Refers to PVs as volumes (which can be combined with RAID0, RAID1 or RAID5 primitives into larger volumes), LVs as soft partitions (which are contiguous extents placeable anywhere on volumes, but which cannot span multiple volumes) and VGs as disk sets. | ||||||
Sun Microsystems | Solaris 10 | ZFS | |||||||
Veritas | Cross-OS | Veritas Volume Manager (VxVM) | Refers to LVs as volumes, VGs as disk groups, has variably-sized PEs called subdisks and LEs called plexes. | ||||||
Microsoft | Windows 2000 a systémy založené na NT | Logical Disk Manager | Windows Server 2003 a novější | Does not have a concept of PEs or LEs; can only RAID0, RAID1, RAID5 or concatenate disk partitions into larger volumes; file systems must span whole volumes. |
Nevýhody
[editovat | editovat zdroj]- Díky míře abstrakce, kterou sebou přináší řízení logických disků, mohou při použití LVM nastat komplikace buď při najíždění systému, nebo v případě poškození dat. Řešení takové situace pak může být ještě komplikovanější, pokud je základní operační systém a nezbytné nástroje k dispozici pouze na tomto LV.
- LVM má z principu vyšší míru vnitřní (skryté) fragmentace, neboť PE nemusejí být alokovány v souvislých blocích, což značně zpomaluje vstupní a výstupní operace, zvláště když je LVM postaveno na fyzických zařízení, které mají pomalé přejíždění mezi bloky dat (všechny typy konvenčních pevných disků). Projevuje se to zvláště při práci s velkými objemy dat. Rychlost při kopírování dat je pak limitována velikostí PE, což je v případě Linuxu minimálně 4MB.
Externí odkazy
[editovat | editovat zdroj]- LVM-HOWTO (anglicky)
- Popis příkazů pro práci s LVM (česky)
- Výpočet velikosti diskového oddílu a souborového systému (česky) - při výpočtu jsou i navrženy příkazy pro vytvoření nebo změnu logického oddílu
- LVM: Praktické ukázky