Přeskočit na obsah

Logical Volume Management

Z Wikipedie, otevřené encyklopedie


Řízení logických disků, neboli LVM ( zkratka z angl. "Logical Volume Management" ) je metoda správy diskového prostoru co dává mnohem větší možnosti než konvenční rozdílení pevných disků na diskové oddíly.

Umožňuje přidávat jednotlivá fyzická zařízení nebo diskové oddíly do větších logických skupin svazků. Tyto skupiny lze přidáním, nebo odebráním fyzických zařízení podle potřeby zvětšovat či zmenšovat a za chodu přesouvat uložená data mezi jednotlivými fyzickými zařízeními aniž by bylo nutné běžící systém zastavit.

Diskové oddíly se tvoří teprve v rámci těchto skupin svazků a lze je podle potřeby přidávat, nebo odebírat, podle toho kolik je k dispozici diskového prostoru. Pokud to zvládá souborový systém tak lze rovněž za chodu i měnit jejich velikost.

Řízení logických disků je jen jeden z mnoha způsobů virtualizace diskového prostoru, a je funguje jako vrstva mezi ovladačem pevného disku a operačním systémem.

Princip

Většina implementací řízení logických disků je založena na následujícím principu.

Výchozí jednotkou je fyzické zařízení (dále PV z angl. physical volumes ), kterým může být diskový oddíl na pevném disku, RAID nebo SAN. Prostor na tomto PV je rozdělen na menší kousky, které se anglicky nazývají physical extents (dále PE ). Některé implementace LVM (jako např. HP-UX nebo Linux) 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.

Při běžném nasazení je každý jednotlivý PE namapován jedna k jedné na tzv. logical extents ( dále LE ). LE jsou kousky z nichž se skládají jednotlivé logické diskové oddíly vytvořené v rámci skupin svazků (angl. volume groups dále VG )

Jednotlivé LE jsou spojeny do skupin svazků - VG, které se pak rozdělují na virtuální logické diskové oddíly, které se označují jako logické svazky ( logical volumes - LV ). S těmito LV lze pracovat jako s normálními blokovými zařízeními. Tj. vytvářet na nich diskové oddíly a pak s nimi pracovat jako kdyby šlo o fyzická zařízení.

LVM umožňuje podobné chování jako RAID

Pokud je u LVM použito zrcadlení ( mirroring ) je na každý LE namapováno současně několik PE které jsou součástí skupiny fyzických svazků ( physical volume group - PVG ), takže výsledek je obdobný jako u pole RAID1. Na rozdíl od raidu však LVM umožňuje do těchto PVG svazků spojovat fyzická zařízení různých velikostí.

U stripovaných LV je každý jednotlivý LE namapován z jiného PV. Což za určitých okolností může zlepšovat výkon při sekvenčním načítání větších objemů dat tím, že se současně načítají z více PV.

Jak už bylo zmíněno výše LV lze zvětšovat, nebo zmenšovat přidáváním, nebo odebíráním dalších LE v rámci jednoho VG. LE sloučené v rámci jednoho LV však netvoří jednu spojitou oblast, což na jednu stranu znamená značné omezení rychlosti načítání dat, na druhou však umožňuje, aby se LV mohlo rozlézt přes více PV. U většiny implementací logické správy disků lze měnit velikost LV za chodu.

Změna velikosti LV neznamená automaticky změnu velikosti diskových oddílů které jsou na něm vytvořeny. V podstatě jde pouze o roztažení dostupného diskového prostoru, do kterého lze pak přidat další diskový oddíl. Existují však souborové systémy, které umožňují změnu velikosti - např. reiserfs nebo xfs. Ty pak lze podle potřeby zvětšit nebo zmenšit. Při zmenšování je třeba mít pochopitelně na paměti, že prostor o který mají být zmenšeny nesmí být zaplácnut daty.

Při nasazení LVM je třeba mít na paměti že jednou přidané PV a vytvořené LV nelze používat současně ve více VG, nebo mezi nimi za běhu přesouvat. ( I když některé implementace umožňují přesun mezi různými VG v rámci jednoho stroje ). V případě PV je tedy nezbytné nejprve diskové zařízení z VG vyřadit a teprve pak je přidat do jiné VG. Je tedy třeba pamatovat na to, aby bylo v rámci VG k dispozici tolik volného prostoru o kolik se odebráním PV zmenší. Základní jednotkou se kterou se pracuje je tedy skupina svazků - VG.

U většiny implementací LVM lze VG rozšiřovat a zmenšovat přidáváním či odebíráním fyzických zařízení PV za běhu, pokud tato zařízení podporují hotswap.

Snapshoty

Některé implementace LVM umožňují tzv. snapshoty

Snapshoty lze využívat pro zálohování, zvláště u aplikací které neustále pracují s diskem, jako jsou např. databáze, nebo při aktualizacích operačního systému. Některá linuxová Live CD využívají snapshotů pro simulaci zápisu pro zařízení, která to neumožňují (CD disky).

Implementace LVM

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

  • 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á také z principu mnohem vyšší míru fragmentace, neboť PE nemusí 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 případě linuxu 4MB


Externí odkazy