Portál AbcLinuxu, 3. května 2025 22:56
Tak sem strkám další svůj blogpost, o kterém si myslím, že může někoho zajímat, ze svého soukroméno blogu :)
Po minulém úspěšném scatchi o vimu tu mám větší lahůdku... LVM2. Celý den věnuju této technologii čas a rozhodl jsem se, že to je něco co musím mít. Pokusím se popsat k čemu je LVM na desktopu dobré, k čemu je dobré na serveru a co všechno nám přináší. Nakonec uvedu svůj plán jak 500GB dat nahodit nad LVM z partišen kde LVM není. Dobře se bavte :)
Celé to začal článek na abíčku, kde je ve velké stručnosti popsáno LVM. Napadlo mě spousta otázek, na které článek neodpovídal a tak jsem se rozhodl najít odpovědi. Velkým pomocníkem mi byla přednáška, zmiňovaná v diskusi pod článkem, wiki a další zdroje. Donutilo mě to přemýšlel jak to všechno udělám a jestli to je vůbec nutné. Nutné to je, už jen z toho důvodu, že to chci mít :) Největší přednosti LVM na desktopu jsou takovéto:
Ale jsou tu i nevýhody:
Teď bych se ke všem bodům rád vyjádřil trochu blíže. Tak za prvé je to jednoduché přesouvání dat z disku na disk. Dejme tomu, že si koupíme nový disk, přidáme ho k ostatním a uvědomíme si, že tenhle disk je rychlejší než ten starý. Jenže přesouvání takové partišny se systémem vede k mnoha problémům. Nejdříve je potřeba vytvořit partišnu, přesunout na ni data, nastavit grub a nastavit fstab. Je to nepohodlné a nezřídka se to obejde bez komplikací. LVM si naopak ukládá svoje metadata (informace o tom odkud kam jsou labely nahozený) na každý z disků, na kterém se nachází (2. sektor) a tak stačí aby grub našel jediný disk a z něj už pozná na kterém najde roota. GRUB podporuje od určité verze LVM v pohodě, takže /boot opravdu není potřeba dávat zvlášť.. To mi řeší problém při bootování, kdy se mi náhodně přehazují řadiče (dá se řešit třeba i přes uuid a nebo i jinak). Při použitý LVM je možné házet disky z řadiče na řadič a na funkčnosti to neni poznat (je nutné mít na všech grub).
Jeden z vývojářů LVM trvrdí, že LVM má prakticky nulovou režiji. Ve vnitř se pracuje pouze s offsetem a tak nemá moc smysl rozhodovat se podle toho, jestli to nebude pomalejší.
Při přidávání jednotlivých fyzických disků či patišen před je možno je navzájem hodit do lineárního, mirrovacího nebo stripovacího režimu. Osobně se chystám kombinovat lineární se stripovacím. Moje disky obsahují root, home, data a disk* partišny. Root, home jsou jasné. Data používám pro různý věci co stáhnu z netu, fotky a podobně a disk* je určeno pro objemnější věci (filmy, seriály, mp3, ...). Root a home se tedy budu snažit nacpat na strip a pokud možno na jeden z mých rychlejších disků (ale to bude ještě složité).
Teď k nevýhodám. Jelikož se výhody LVM nejvíce projeví při použití dvou a více disků, tak v tom případě se zvětší riziko ztráty dat. Je proto dobré věci, které jsou důležitější neroztahovat přes více disků a pokud možno je dávat na ten svěžejší. Já zálohuji pouze home a /etc z rootu, protože zbytek systému jde jednoduše obnovit. Naproti tomu 600GB různých videí a hudby jde zálohovat dosti blbě a proto je otázka jestli žít v luxusu jedné partišny na dvou discích nebo dvou partišen na dvou discích. Toto by měl řešit RAID5, ale na ten například já nemám dostatečný počet disků. Další věcí je, že pokud jeden z disků havaruje, LVM bude na každou operaci vracet error nebo zero, takže by nějaké soubory měli jít zachránit pokud přežije to důležité z filesystému. je to rozhodování jestli přijít najednou o půlku dat nebo o všechny :)
Z mého pohledu se tedy LVM vyplatí i na jednom disku, protože přesně nevíme kolik si sežere systém na / a kolik budeme potřebovat na home, za to data partišna zas tak pevné požadavky nemá a může se v klidu měnit a často z ní můžeme i něco vymazat. Je to tedy jen o preferencích.
LVM není proč se bát a každý by si ho měl zkusit aspoň ve virtualu.
Teď k plánu jak přesunout můj desktop a nb na LVM. Desktop má kapacitu přibližně 700GB a free je 200GB, složení disků 120+320+320. Notebook má 60GB disk a partišny 12+7.5+1+33GB. U nb není to řešit. Boot do gparded, překopčit 12 a 7GB partišnu na 33GB partišnu a nastavim LVM. Dekstop je složitější. Systém a home mám na 120GB disku a chtěl bych ho na jednom z 320GB disků, přitom jeden má 95% zaplněno a druhý asi 10% zaplněno. Na 120GB disku je ještě 60GB se kterýmu se dá manipulovat. Na jednou tedy můžu mít prázdný jeden disk. Začnu přesunem dat z dvou partišen (data,media) z 120GB na skoro prázdný 320GB disk. Pak na ně zálohnu root a home a nastavim LVM. Všechno vrátim do normálu, ale už pod LVM a přesunu poloprázdnej 320GB disk na 120GB disk. Ten pak přidám také pod LVM a začnu s fází poslední. Přesunu plný 320GB disk na prázdný 320GB disk a hodim ho pod LVM. Tady v té fází ještě není od věci rozpůlit oba 320GB disky, aby se pak jednoduše dal nastavit strip. Až budu mít data pod LVM můžu pod LVM hodit i další 320GB disk a je hotovo :) Pak už stačí přes pvmove přesunout systém ze 120GB disku na jeden z 320GB disků a mám klid :)
Pozor na výběr file systému, pokud chcete resizovat tak je lepší použít ext3(online i offline resizing) nebo reiserfs(offline resizing). XFS a JFS podporují pouze zvětšování. Jak to je s ext2 a ostatními netušim.
Až získám více praktických zkušeností s LVM tak samozřejmě popíšu jak se všechno dělá, aby to bylo hezky pohromadě. Teď se mi doufám povedlo odpovědět na většinu otázek, které napadnou každého kdo LVM vidí poprvé tak jako jsem ho viděl poprvé předevčírem já :)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.