Pokud si myslíte, že správa diskových oddílů znamená vypnout váš systém a doufat, že po restartu vše funguje, pak je mi vás uctivě líto. Je nám líto, že přicházíte o možnosti připojení Linuxu LVM a uvědomujete si, že správa úložiště nemusí být tak bolestivá.
Tato příručka vám ukáže, jak vytvořit LVM v Linuxu, připojit oddíly LVM a spravovat logické svazky bez prostojů. Naučíte se základní příkazy Linux LVM, které fungují na systémech Ubuntu LVM a CentOS (nebo spíše jejich moderních náhradách).
TL;DR
- LVM vytváří flexibilní úložnou vrstvu mezi vašimi fyzickými disky a systémy souborů, což vám umožňuje měnit velikost oddílů za běhu systému
- Instalovat s apt install lvm2 na Ubuntu nebo dnf nainstalovat lvm2 na Rocky Linux/AlmaLinux (CentOS je mrtvý, použijte místo toho tyto)
- Vytvořte LVM inicializací jednotek pomocí pvcreate, seskupení je s vgcreatea vyřezávání logických svazků pomocí vytvořit
- Po zformátování připojte oddíly LVM jako jakýkoli jiný oddíl mkfs.ext4 a přidávání záznamů do /etc/fstab
- Klíčové příkazy: pvs, vgs, lvs ukázat své nastavení; lvresize mění velikosti za chodu; lvcreate -s vytváří snímky
Co je LVM v Linuxu?

LVM (Logical Volume Manager) je umístěn mezi vašimi fyzickými disky a systémy souborů. Namísto vyřezávání pevných oddílů přímo na disky vytváří LVM flexibilní vrstvu, kde můžete měnit velikost, přesouvat a pořizovat snímky, zatímco vše zůstává online.
Zde je to, co se děje pod kapotou. Vaše fyzické disky se stanou „fyzickými svazky“. Ty se spojí do „skupin objemu“. Z těchto skupin vytvoříte „logické svazky“, které fungují jako běžné oddíly, ale se skutečnou flexibilitou.
Praktický rozdíl se projeví, když potřebujete více místa. Tradiční oddíly vás nutí vypnout, bootovat z USB a modlit se, abyste nepřišli o data. S LVM spustíte jediný příkaz, zatímco váš systém funguje. Naučil jsem se to při migraci serveru při rozšiřování /domov o 200 GB trvalo asi 30 sekund místo celého víkendu.
Jak fungují fyzické objemy
Fyzický svazek je jakékoli úložné zařízení, které může LVM používat. Počítají se pevné disky, SSD, pole RAID, dokonce i smyčková zařízení. Inicializujete je pomocí pvcreate, který zapisuje metadata LVM a označí zařízení jako dostupné pro skupiny svazků.
Fyzickému svazku nezáleží na tom, jaký hardware je pod ním. Tento 500GB rotující disk a váš nový 2TB disk NVMe vypadají pro LVM stejně. Na tom záleží, když mícháte a přizpůsobujete úložiště.
Porozumění skupinám svazků
Skupiny svazků sdružují více fyzických svazků do jedné úložné jednotky. Představte si spojení tří 1TB disků do jednoho 3TB fondu. Skupiny svazků vytvoříte pomocí vgcreate a může přidávat nebo odebírat fyzické svazky, kdykoli se změní kapacita.
Tento přístup ke sdružování znamená, že nejste uzamčeni v plánování pro jednotlivé disky. Potřebujete více místa? Přidejte další jednotku do skupiny svazků. Výměna starého disku? Přesunout data z něj pomocí pvmove zatímco systém běží, pak vyměňte hardware.
Co dělají logické svazky

Logické svazky jsou to, co skutečně používáte. Jsou vyřezány ze skupin svazků a chovají se jako běžné oddíly. Naformátujte je pomocí ext4 nebo xfs, připojte je kamkoli a kdykoli změňte jejich velikost. Rozdíl je v tom, že nejsou vázány na hranice fyzického disku.
Když běžíš lvcreate -L 50G -n data datavg, přidělujete 50 GB z fondu skupiny svazků. Tento prostor může pocházet z jedné jednotky nebo může být rozložen na více jednotek. Je vám to jedno, protože distribuci zajišťuje LVM.
Vysvětlení fyzického rozsahu
Fyzické rozsahy jsou nejmenší alokační jednotkou v LVM, obvykle bloky 4 MB. Když vytvoříte logický svazek, LVM přidělí fyzické oblasti ze skupiny svazků. Tento podrobný přístup vám umožňuje přesně měnit velikost svazků.
U velkých objemů záleží na velikosti rozsahu. Větší rozsahy znamenají menší režii metadat, ale hrubší alokaci. Výchozí 4 MB funguje pro většinu situací. Nikdy jsem to neměnil mimo masivní úložná pole, kde matematika upřednostňovala větší rozsahy.
Snímky pro bodové zálohy
Snímky zachycují stav logického svazku v konkrétním okamžiku. LVM používá technologii copy-on-write. Původní data zůstanou na svém místě. Když se něco změní, LVM zachová staré bloky ve snímku při zápisu nových dat do hlavního svazku.
Chcete otestovat aktualizace systému? Nejprve pořiďte snímek. Něco se zlomí? Obnovit ze snímku. Celá operace trvá několik sekund, protože LVM sleduje pouze změněné bloky, nekopíruje vše.
Snímám produkční databáze před velkými změnami schématu. Klid na duši nestojí téměř nic a já jsem se třikrát vyhnul kompletním přestavbám tím, že jsem zrušil neúspěšné migrace.
Kdy použít LVM Striping
Prokládání rozděluje data na více fyzických svazků, podobný RAID 0. Když zapisujete soubor, LVM distribuuje bloky současně na různé disky. Tato paralelizace zrychluje jak čtení, tak zápis, zejména u velkých souborů nebo databází.
Nárůst výkonu závisí na vaší pracovní zátěži. Nejvíce prospívá sekvenční čtení velkých souborů. Vzory náhodného přístupu zaznamenaly menší zlepšení. Databázové servery a pracovní stanice pro úpravu videa zaznamenávají skutečné rozdíly.
LVM Mirroring for Redundancy
Zrcadlení duplikuje data napříč fyzickými svazky. Pokud jeden disk selže, vaše data přežijí v zrcadle. LVM zpracovává synchronizaci automaticky. Výkonový zásah stojí za to, když prostoje stojí více než další úložiště.
Moderní nastavení často používají RAID pro redundanci a LVM navíc pro flexibilitu. Získáte ochranu na úrovni hardwaru a správu na úrovni softwaru. Kombinace funguje lépe, než spoléhat se pouze na jedno.
Pokud porovnáváte přístupy ke správě úložiště, podívejte se LVM vs. ZFS abyste pochopili, kdy má každý smysl pro vaši pracovní zátěž.
Jak nainstalujete LVM na Ubuntu a CentOS?

Instalace LVM trvá asi 60 sekund, pokud znáte správné příkazy. Moderní distribuce Linuxu zvládají závislosti automaticky. Nainstalujete balíček, ověříte, že funguje, a jste připraveni nakonfigurovat úložiště.
Než začneme, jedna důležitá poznámka: CentOS dosáhl konce své životnosti v roce 2020. Pokud stále používáte CentOS, přejděte na Rocky Linux nebo AlmaLinux. Jsou to náhrady typu drop-in, které ve skutečnosti dostávají aktualizace zabezpečení. Příkazy zde fungují identicky na Rocky Linux 9, AlmaLinux 9, Ubuntu 24.04 a aktuálních vydáních Debianu.
Nejprve aktualizujte svůj systém
Začněte aktualizací seznamu balíčků vašeho systému. To zajišťuje, že získáte nejnovější verzi LVM2 se všemi bezpečnostními záplatami a opravami chyb.
Pro systémy Ubuntu:
aktualizace sudo apt
Pro systémy založené na CentOS (Rocky Linux/AlmaLinux):
aktualizace sudo dnf
Použití moderních systémů na bázi RHEL dnf jako správce balíčků. Pokud vidíte staré návody zmiňující mňam, ignorujte je. DNF nahradilo yum v roce 2015 lepším rozlišením závislostí a výkonem.
Nainstalujte balíček LVM2
Název balíčku je lvm2 napříč všemi distribucemi. Instalace automaticky stahuje závislosti, včetně nástrojů pro mapování zařízení a souvisejících knihoven.
Instalace správce logických svazků Ubuntu:
sudo apt install lvm2
Instalace CentOS Logical Volume Manager (Rocky/AlmaLinux):
sudo dnf nainstalovat lvm2
Počkejte na dokončení instalace. Zabere 10–15 sekund na moderním hardwaru se slušným internetem. Velikost balíčku je malá, kolem 2-3 MB plus závislosti.
Ověřte úspěšnost instalace
Zkontrolujte, zda je LVM2 správně nainstalován a zjistěte, kterou verzi používáte:
verze sudo lvm
Zobrazí se informace o verzi a podrobnosti o sestavení. Aktuální verze běží na verzi 2.03.x nebo vyšší. Pokud příkaz selže nebo vrátí „příkaz nenalezen“, při instalaci se něco pokazilo.
Moderní distribuce založené na systemd aktivují LVM automaticky během bootování. Služby nemusíte povolovat ručně, jako jste to dělali se staršími init systémy. lvm2-activation-generator zvládne vše. To je o jednu věc méně na konfiguraci.
Chcete otestovat LVM na systému, který neukládá vaše důležitá data? Zvažte roztočení a nejlepší Linux VPS kde můžete experimentovat, aniž byste riskovali produkční soubory.
Jak vytvoříte LVM v Linuxu?

Vytvoření LVM zahrnuje tři kroky: inicializovat fyzické svazky, seskupit je do skupiny svazků a vyčlenit logické svazky. Proces zní složitější, než je. Celkem spustíte možná šest příkazů.
Než začnete, určete, které disky chcete použít. Zde uvedené příklady používají /dev/sdX jako zástupné symboly. Vaše skutečné názvy zařízení se budou lišit. Běh lsblk abyste viděli, co je připojeno k vašemu systému.
Inicializujte fyzické svazky
Fyzické svazky říkají LVM, které jednotky může používat. Inicializujte disk pomocí pvcreate:
sudo pvcreate /dev/sdb
Nahradit /dev/sdb s vaším skutečným zařízením. To zapíše metadata LVM na disk a označí je jako dostupné. Disk již nepotřebuje tradiční schémata rozdělení.
Chcete inicializovat více disků najednou? Vyjmenujte je všechny:
sudo pvcreate /dev/sdb /dev/sdc /dev/sdd
LVM je řeší společně. Zkontrolujte, co jste vytvořili:
sudo pvs
Zde jsou zobrazeny všechny fyzické svazky, jejich velikost a do které skupiny svazků patří (zatím žádné).
Vytvořte skupinu svazků
Skupiny svazků sdružují fyzické svazky do jedné úložné jednotky. Vytvořte skupinu svazků s názvem „datavg“:
sudo vgcreate datavg /dev/sdb
Během vytváření přidejte více disků do stejné skupiny:
sudo vgcreate datavg /dev/sdb /dev/sdc
Nyní tyto disky fungují jako jeden fond. Zkontrolujte skupinu svazků:
sudo vgs
Uvidíte celkovou velikost, kolik je přiděleno logickým svazkům a kolik zůstává volné pro budoucí přidělení.
Vytvářejte logické svazky
Logické svazky jsou to, co ve skutečnosti formátujete a připojujete. Jsou vyřezány z dostupného prostoru skupiny svazků. Vytvořte svazek 50 GB:
sudo lvcreate -L 50G -n data datavg
Tím se vytvoří logický svazek s názvem „data“ ze skupiny svazků „datavg“. Celá cesta zařízení se stane /dev/datavg/data.
Chcete místo zadávání velikosti využít veškerý dostupný prostor?
sudo lvcreate -l 100% ZDARMA -n data datavg
The -l 100% ZDARMA volba alokuje každý zbývající bajt. Užitečné pro jednoduchá nastavení, kde jeden logický svazek využívá celou skupinu svazků.
Naformátujte logický svazek
Logické svazky potřebují souborové systémy jako každý oddíl. Formát s ext4:
sudo mkfs.ext4 /dev/datavg/data
U malých objemů to trvá několik sekund, u velkých déle. Výstup zobrazuje počty bloků a informace o inodech. Pokud se něco nezdaří, můžete detaily ignorovat.
Chcete místo toho xfs? Nahraďte ext4 xfs. Oba fungují dobře. Ext4 je běžnější na systémech Ubuntu. Rocky Linux má ve většině případů použití výchozí xfs.
Buďte extrémně opatrní s příkazy LVM. Přímo upravují vaši infrastrukturu úložiště. Jednou jsem překlepl název zařízení a vymazal 2 TB klientských souborů. Před spuštěním čehokoli, co změní konfiguraci úložiště, proveďte zálohu důležitých dat.
Jak namontujete oddíly LVM?
Připojení oddílu LVM funguje přesně jako připojení jakéhokoli jiného oddílu. Vytvoříte adresář bodu připojení, spustíte příkaz mount a volitelně přidáte položku do /etc/fstab pro automatickou montáž při startu.
Jediný rozdíl je v cestě zařízení. Místo /dev/sda1, používáte /dev/volumegroup/logicalvolume. Vše ostatní zůstává stejné.
Vytvořte adresář přípojného bodu
Přípojné body jsou pouze adresáře, kde přistupujete k systému souborů. Vytvořte si jej, kdekoli to má smysl pro váš případ použití:
sudo mkdir /mnt/data
Používejte popisné názvy. /mnt/data, /mnt/backup, /home/shared všechny práce. Umístění nemá vliv na funkčnost. Někteří lidé preferují /mnt pro dočasná připojení a vyhrazené adresáře pod / pro stálé.
Připojte logický svazek
Připojte naformátovaný logický svazek k vašemu přípojnému bodu:
sudo mount /dev/datavg/data /mnt/data
Nahraďte dráhu zařízení a bod připojení svými skutečnými hodnotami. Souborový systém je nyní přístupný na /mnt/data. Všechny soubory, které tam vytvoříte, žijí na logickém svazku.
Ověřte, že připojení proběhlo úspěšně:
df -h /mnt/data
Uvidíte celkovou velikost svazku, využitý prostor, dostupné místo a bod připojení. Pokud se nic nezobrazí, příkaz mount selhal. Zkontrolujte cestu k zařízení a ujistěte se, že logický svazek existuje s lvs.
Udělejte držáky trvalými
Dočasná připojení zmizí po restartu. Přidat záznamy do /etc/fstab pro trvalé upevnění:
sudo nano /etc/fstab
Přidejte tento řádek na konec:
/dev/datavg/data /mnt/data ext4 výchozí 0 0
Formát je: zařízení, bod připojení, typ systému souborů, možnosti připojení, priorita výpisu, pořadí fsck. Nuly na konci fungují ve většině situací dobře. Přeměna ext4 aby odpovídaly jakémukoli souborovému systému, který jste skutečně použili.
Uložte a ukončete editor. Otestujte záznam fstab bez restartu:
sudo mount -a
Tím se v fstabu připojí vše, co ještě není připojeno. Pokud vidíte chyby, zadali jste něco špatně ve fstab. Opravte to před restartem, jinak se váš systém nemusí spustit správně.
Výkon je důležitý, když navyšujete objemy pro produkční úlohy. Po nastavení konfigurace LVM otestujte rychlost disku v Linuxu k porovnání skutečné propustnosti a latence.
Připojte LVM během instalace Ubuntu
Instalátor Ubuntu podporuje konfiguraci LVM během nastavení systému. Když se dostanete na obrazovku oddílů, vyberte „Ruční“ rozdělení a vyberte „Konfigurovat správce logických svazků“.
Tento přístup funguje dobře pro nové instalace. Skupiny svazků a logické svazky nastavíte před instalací operačního systému. Instalátor ovládá /etc/fstab záznamy automaticky.
U stávajících systémů vám výše uvedený přístup pomocí příkazového řádku poskytuje větší kontrolu a umožňuje přesně pochopit, co se děje v každém kroku.
Odstraňte problémy s připojením
Pokud se váš oddíl LVM nepřipojí, zkontrolujte nejprve tyto běžné problémy:
Skupina svazků není aktivována:
sudo vgchange -ay
Tím se aktivují všechny skupiny svazků. Někdy se neaktivují automaticky po přidání nových jednotek nebo restartu.
Nesprávná cesta zařízení: Ověřte, zda existuje logický svazek s lvs a použijte celou cestu jako /dev/volumegroup/logicalvolume, nikoli zkratky.
Chyby souborového systému: Spusťte kontrolu systému souborů na nepřipojeném svazku:
sudo fsck /dev/datavg/data
Poškození souborového systému brání připojení. Nástroj fsck dokáže automaticky vyřešit mnoho problémů.
Jaké jsou základní příkazy Linux LVM?
Příkazy Linux LVM vám umožňují spravovat celé nastavení úložiště z příkazového řádku. To jsou ty, které skutečně použijete v praxi, nikoli teoretické příkazy ze zastaralé dokumentace.
Zobrazení fyzických objemů
Podívejte se na všechny fyzické svazky ve vašem systému:
sudo pvs
Zobrazí se stručná tabulka s názvy zařízení, skupinami svazků, formátem, atributy, velikostí a volným místem. Podrobné informace o konkrétním fyzickém svazku:
sudo pvdisplay /dev/sdb
Podrobné zobrazení zahrnuje velikost fyzické oblasti, celkové oblasti, přidělené oblasti a UUID. Užitečné, když potřebujete přesná čísla pro plánování kapacity.
Zobrazení skupin hlasitosti
Vypsat všechny skupiny svazků:
sudo vgs
Uvidíte názvy skupin svazků, počet fyzických svazků, počet logických svazků, atributy, celkovou velikost a volné místo. Podrobné informace:
sudo vgdisplay datavg
To ukazuje vše: velikost oblasti, celkové rozsahy, zásady alokace a UUID. Používám to při plánování nových logických svazků, abych přesně viděl, kolik místa zbývá.
Zobrazit logické svazky
Seznam všech logických svazků:
sudo lvs
Výstup zobrazuje názvy logických disků, jejich skupiny disků, atributy, velikost a fyzické rozsahy, které používají. Kompletní informace:
sudo lvdisplay /dev/datavg/data
To odhalí cestu logického svazku, blokové zařízení, čas vytvoření, stav a segmenty. Pomáhá při odstraňování problémů s připojením nebo při kontrole vztahů mezi snímky.
Rozšířit skupiny svazků
Pokud potřebujete větší kapacitu, přidejte fyzické svazky do stávajících skupin svazků:
sudo vgextend datavg /dev/sdd
Toto dodává /dev/sdd do skupiny svazků „datavg“. Volné místo bude okamžitě dostupné pro existující logické svazky nebo pro vytváření nových. Není vyžadován restart.
Tímto způsobem jsem přidal 2TB disk do své skupiny zálohovacích svazků, zatímco zálohování aktivně probíhalo. Celá operace trvala asi 5 sekund.
Změna velikosti logických svazků
Rozbalte logický svazek a poskytněte mu více místa:
sudo lvresize -L +50G /dev/datavg/data
To přidá 50 GB k logickému svazku. Po změně velikosti rozšiřte systém souborů tak, aby používal nový prostor:
Pro ext4:
sudo resize2fs /dev/datavg/data
Pro xfs:
sudo xfs_growfs /mnt/data
Systém souborů roste, aby zaplnil logický svazek. Vše se děje, zatímco svazek zůstává připojený a používán. Uživatelé si nevšimnou ničeho kromě více dostupného místa.
Chcete se místo toho zmenšit? To je riskantnější a vyžaduje to nejprve odpojení. Před zmenšením objemu vždy zálohujte.
Vytvářejte snímky svazku
Snímky zachycují aktuální stav logického svazku pro zálohování nebo testování:
sudo lvcreate -s -L 10G -n data-snapshot /dev/datavg/data
Tím se vytvoří 10GB snímek s názvem „data-snapshot“ logického svazku „data“. Snímek využívá technologii kopírování při zápisu. Potřebuje pouze místo pro změněné bloky, ne celý objem.
Připojte snímek pouze pro čtení pro konzistentní zálohy:
sudo mkdir /mnt/snapshot
sudo mount -o ro /dev/datavg/data-snapshot /mnt/snapshot
Zálohovat z /mnt/snapshot zatímco původní svazek se stále zapisuje. To čistě řeší problém „jak zálohuji živou databázi“.
Odebrat logické svazky
Odstraňte logické svazky, které již nepotřebujete:
sudo lvremove /dev/datavg/old-data
Před vymazáním příkaz požaduje potvrzení. To trvale zničí logický svazek a všechna data na něm. Ujistěte se, že máte zálohy všeho důležitého.
Přesunout fyzické oblasti
Před odebráním dat z fyzického svazku přesuňte:
sudo pvmove /dev/sdb
LVM automaticky přesune všechny fyzické oblasti z /dev/sdb na jiné fyzické svazky ve skupině svazků. Operace běží na pozadí, zatímco systém zůstává online.
To mě zachránilo, když disk začal zobrazovat chyby SMART. Přesunul jsem vše z vadné jednotky, odstranil jsem ji ze skupiny svazků a vrátil jsem ji během okna údržby. Nulové prostoje.
Vyhledejte skupiny svazků
Někdy se skupiny svazků po přidání nových jednotek nebo restartu nezobrazí. Vynutit skenování:
sudo vgscan
sudo vgchange -ay
První příkaz vyhledá skupiny svazků. Druhý aktivuje vše, co najde. Vaše logické svazky budou opět přístupné.
Pokud nastavujete Ubuntu LVM pro vývojová prostředí, možná budete chtít také průvodce instalace Hadoop na Ubuntu, instalace Redis na Ubuntunebo instalace XRDP na Ubuntu pro vzdálený přístup k vašim systémům spravovaným LVM.
Závěr
LVM transformuje správu úložiště Linuxu z plánování pevných oddílů na flexibilní přidělování kapacity. Získáte dynamickou změnu velikosti, snímky v určitém okamžiku a možnost sdružovat různé disky do sjednocených úložných prostorů. To vše při zachování systému online.
Základní pracovní postup zůstává konzistentní napříč distribucemi. Inicializujte fyzické svazky pomocí pvcreate, sdružte je do skupin objemů pomocí vgcreate, vyřezávat logické svazky pomocí vytvořit, naformátujte je pomocí preferovaného systému souborů a připojte je jako jakýkoli oddíl. Příkazy fungují stejně v nastaveních Ubuntu LVM a Rocky Linux.
Začněte v malém, pokud jste se správou logických svazků nováčkem. Vytvořte skupinu testovacích svazků na náhradní jednotce. Procvičte si změnu velikosti logických svazků, pořizování snímků a přesouvání dat mezi fyzickými svazky. Chyby bolí méně, když k nim dojde na neprodukčním úložišti.
Jedna připomínka CentOS: je mrtvý. Místo toho použijte Rocky Linux nebo AlmaLinux. Jsou binárně kompatibilní s RHEL a skutečně udržované. Příkazy LVM fungují stejně, ale získáte aktualizace zabezpečení, na kterých záleží.
Chcete procvičovat LVM, aniž byste riskovali místní soubory? Roztočte se Ubuntu VPS kde můžete volně experimentovat. Rozbijte věci, poučte se z chyb a osvojte si příkazy, než je použijete v produkčních systémech.
Získejte ekonomický nebo prémiový Linux VPS pro hostování vašeho webu nebo vzdálené plochy za nejnižší cenu. VPS běžící na Linux KVM pro vyšší efektivitu a práci na výkonném hardwaru s úložištěm NVMe SSD pro vyšší rychlost.
Přečtěte si více