Minule som musel vymeniť disky na serveri CentOS 6.7. Staré disky, aj keď stále fungujú, nezvládli záťaž. Preto sa rozdvojili a kúpili SSD disky rovnakej kapacity ako tie staré. Ale odvtedy náklady na 1 GB na jednotke SSD sú oveľa drahšie, ak sa pozrieme na veľkosť /var (180 GB) a / (koreňový oddiel) 300 GB, rozhodnutie zväčšiť veľkosť / zmenšením veľkosti / var prirodzene navrhol sám seba. Nápad je to, samozrejme, dobrý, ale nikdy predtým som tak nehral, ​​takže som víkend strávil na fórach, najskôr som všetko skontroloval na virtuálnom stroji bez raidu, potom som si myslel, že na mojom serveri beží soft raid1 a urobil testovaciu lavicu (nainštaloval som CentOS 6.7 na starý počítač s dvoma diskami v softvérovom raide1) a skontroloval som na ňom všetko, potom som to znova spustil na fungujúcom serveri. Ale aj tak to bolo vzrušujúce. Tak, poďme!

Tip: Ak ste sa ešte nikdy nebavili so zmenami oddielov, nikdy to neskúšajte na pracovnom počítači.

Existuje teda systém dvoch diskov spojených v raid1 (mirror).

Rozdelenie je asi takéto:

/dev/sda:
/dev/sda1 200 MB, /dev/md0
/dev/sda2 480 GB, /dev/md1

/dev/sdb:
/dev/sdb1 200 Mb, /dev/md0
/dev/sdb2 480 GB, /dev/md1

/dev/md0 odovzdaný do /boot

Na /dev/md1 zväzku LVM:
/dev/VolGroup/LogVol00 swap 2 GB
/dev/VolGroup/LogVol01 /var 180 Gb, ext4
/dev/VolGroup/LogVol02 / 300 GB, ext4

Prečo som uviedol príklad poruchy? Len aby ste si všimli, že nikdy v budúcnosti nebudeme meniť veľkosť zväzkov na zariadeniach /dev/sdXY. Všetky zmeny oddielov vykonáme iba s logickými zväzkami LVM!

Úloha: zmeňte veľkosť /var na 30 GB a dajte všetok voľný priestor / (root). Súborový systém oboch oddielov je ext4. Systém CentOS 6.7.

Krok 1: Znížte /var

V mojom prípade (softvérový raid1) som pre istotu najskôr skontroloval, či sú všetky disky pripojené a nie sú tam žiadne chyby (cat /proc/mdstat).

Nebol som si istý, či je dobrý nápad odpojiť /var (umount /var) v produkčnom režime, a tak som zaviedol systém z CentOS LiveCD v záchrannom režime (bolo možné vstúpiť do single režimu bez LiveCD).

Kontrola dostupnosti fyzického nosiča LVM:

#pvscan
PV /dev/md1 VG VolGroup lvm2

Kontrola dostupnosti skupín zväzkov:

#vgscan
Čítanie všetkých fyzických zväzkov. Môže to chvíľu trvať...
Našla sa skupina zväzkov „VolGroup“ pomocou typu metadát lvm2

Aktivujte logické zväzky:

Pozrime sa na logické zväzky:

#lvscan
AKTÍVNE „/dev/VolGroup/LogVol01“ dedí
AKTÍVNE „/dev/VolGroup/LogVol00“ dedí
AKTÍVNE „/dev/VolGroup/LogVol02“ dedí

Môžete si pozrieť podrobnosti o zväzku /dev/VolGroup/LogVol01 (máme ho /var):

# lvdisplay /dev/VolGroup/LogVol01

a možno sa nepozeráš.

Všetky vyššie uvedené kontroly majú zabezpečiť, aby boli zväzky LVM viditeľné a aktívne, a aby ste pochopili, s ktorým zväzkom by ste mali pokračovať. Pohni sa.

Odpojte zväzok, ktorý máme /var a ktorý sa zníži:

# umount /dev/VolGroup/LogVol01

Skontrolujeme súborový systém zväzku:

# fsck.ext4 /dev/VolGroup/LogVol01

Príkaz by mal prejsť bez chýb.

Skontrolujeme chyby (-f - sila):

# e2fsck -f /dev/VolGroup/LogVol01

Najprv znížte veľkosť systému súborov zväzku:

resize2fs -p /dev/VolGroup/LogVol01 30G

Pozor: tu je "30G" veľkosť, ktorú chceme nastaviť pre súborový systém, nie o ktorú chceme zmenšiť súborový systém.

A až potom zmeníme veľkosť zväzku LVM:

# lvreduce -L 30G /dev/VolGroup/LogVol01

Prijatá správa o úspechu.

Teraz nemôžete oddiel pripojiť späť, ale okamžite reštartujte a skontrolujte, či je všetko v poriadku, systém sa spustí, df -h udáva veľkosť /var rovnajúcu sa 30 GB.

Na CentOS sa po spustení pred prihlásením objavila správa od SELinuxu, ktorá by mala zmeny indexovať. OK. Trvalo to nejaký čas a samotný systém sa reštartoval. Potom som sa prihlásil a uistil sa, že je všetko v poriadku. Až potom som prešiel k druhému kroku (ktorý sa ukázal byť oveľa rýchlejší a jednoduchší), ktorým bolo zväčšenie koreňového oddielu pridaním všetkého dostupného voľného miesta na fyzickom zväzku LVM. Spustite pvscan a zistite, či výstup príkazu ukazuje, že je k dispozícii miesto (toto je plus alebo mínus to, čo bolo predtým použité pod /var). Teraz pridáme toto voľné miesto do / (root).

Krok 2: zväčšite veľkosť zväzku LVM (ktorý máme /) bez reštartu

Áno, nečítal si to. Aby sme zväčšili veľkosť zväzku LVM, nemusíme zavádzať do jedného režimu (alebo cez LiveCD v režime Rescue).

Pre každý prípad, aby ste si neplietli, ktorému zväzku chcete dať voľné miesto, spustite cat /etc/fstab a lvscan, uistite sa, že oddiel / (root) je /dev/VolGroup/LogVol02 a nie niečo iné ;)

# lvextend -l+100%ZADARMO -r

Správne, žiadne medzery medzi -l (to je malé L) a +100% ZDARMA. Všimnite si, že som presne nešpecifikoval, o koľko chcem zväčšiť veľkosť hlasitosti. V tejto situácii som to nepotreboval, a aby som neuhádol, koľko konkrétne potrebujem pridať GB, jednoducho som uviedol, že bolo pridané všetko, čo bolo možné. man lvextend pre variácie -L+100G ;) Voľba -r hovorí, že veľkosť systému súborov sa má zmeniť, keď sa zväčší logický zväzok. Bez tejto možnosti by existovali dva príkazy:

# lvextend -l+100% ZDARMA /dev/VolGroup/LogVol02
# resize2fs /dev/VolGroup/LogVol02

Po úspešnom dokončení by som reštartoval a skontroloval, či je všetko v poriadku.

Prirodzene, všetky vyššie uvedené môžu zlyhať v ktorejkoľvek fáze, aj keď len kvôli výpadku napájania. Ak sú teda údaje na meniteľných oddieloch akýmkoľvek spôsobom dôležité, mali by ste mať ich kópiu.

Všetko vyššie uvedené platí pre CentOS. Zdá sa, že pre Ubuntu je všetko rovnaké. Myslím si (neviem), že pre všetky moderné Linuxy sú všetky príkazy rovnaké.

21.08.2017 10:48 bzzz

Logical Volume Manager (LVM) je veľmi výkonný systém správy objemu dát pre Linux. Umožňuje vám vytvárať logické zväzky nad fyzickými oddielmi (alebo dokonca nerozdelenými pevnými diskami), ktoré budú v samotnom systéme viditeľné ako bežné blokové zariadenia s údajmi (teda ako bežné oddiely). Hlavné výhody LVM spočívajú v tom, že po prvé, jedna skupina logických zväzkov môže byť vytvorená na ľubovoľnom počte fyzických oddielov a po druhé, veľkosť logických zväzkov sa dá jednoducho meniť priamo počas prevádzky. Okrem toho LVM podporuje mechanizmus snímok, kopírovanie oddielov za chodu a zrkadlenie podobné RAID-1.

Ak plánujete veľa práce s LVM, potom môžete spustiť špeciálny „shell“ pomocou príkazu sudo lvm. Príkaz help zobrazí zoznam príkazov.

Vytvoriť a odstrániť

Ako už bolo uvedené, LVM je zostavený na základe oddielov pevného disku a / alebo celých pevných diskov. Na každom z diskov / oddielov musí byť vytvorený fyzický objem(fyzický objem). Napríklad používame disk pre LVM sda a oddiel sdb2:

pvcreate /dev/sda pvcreate /dev/sdb2

Na týchto fyzických objemoch tvoríme objemová skupina, ktorý sa bude volať, povedzme, vg1:

Vgcreate -s 32M vg1 /dev/sda /dev/sdb2

Pozrime sa na informácie o našej objemovej skupine:

vgdisplay vg1

Môžete vytvoriť niekoľko skupín, z ktorých každá má vlastnú sadu zväzkov. Ale zvyčajne sa to nevyžaduje.

Teraz môžete vytvoriť skupinu zväzkov logické zväzky lv1 a lv2 20 GB a 30 GB:

Lvcreate -n lv1 -L 20G vg1 lvcreate -n lv2 -L 30G vg1

Teraz máme blokové zariadenia /dev/vg1/lv1 a /dev/vg1/lv2.

Zostáva na nich vytvoriť súborový systém. Neexistujú žiadne rozdiely s bežnými sekciami:

mkfs.ext4 /dev/vg1/lv1 mkfs.reiserfs /dev/vg1/lv2

Odstránenie LVM (alebo jeho jednotlivých častí, napríklad logických zväzkov alebo skupín zväzkov) prebieha v opačnom poradí - najprv musíte odpojiť oddiely, potom odstrániť logické zväzky (lvremove), potom môžete odstrániť skupiny zväzkov (vgremove ) a nepotrebné fyzické objemy (pvremove) .

Pridávanie fyzických zväzkov

Ak chcete pridať nový pevný disk sdc do skupiny zväzkov vytvorte fyzický zväzok:

pvcreate /dev/sdc

A pridajte to do našej skupiny:

Vgextend vg1 /dev/sdc

Teraz môžete vytvoriť ďalší logický disk (lvcreate) alebo zväčšiť veľkosť existujúceho disku (lvresize).

Odstránenie fyzických zväzkov

Odstránenie pevného disku zo spustenej skupiny zväzkov sda Najprv z neho prenesieme všetky údaje na iné disky:

pvmove /dev/sda

Potom ho odstráňte zo skupiny zväzkov:

Vgreduce vg1 /dev/sda

A nakoniec odstráňte fyzický zväzok:

Pvremove /dev/sda

V skutočnosti posledný príkaz len odstráni značku, že disk je členom lvm, a neprináša veľa výhod. Po odstránení z LVM bude musieť byť disk pre ďalšie použitie prerozdelený/preformátovaný.

Zmena veľkosti

LVM uľahčuje zmenu veľkosti logických zväzkov. Ak to chcete urobiť, musíte najprv zmeniť samotný logický zväzok:

Lvresize -L 40G vg1/lv2

a potom súborový systém na ňom:

resize2fs /dev/vg1/lv2 resize_reiserfs /dev/vg1/lv2

Zmena veľkosti fyzického zväzku je veľmi zložitá úloha a zvyčajne sa nepoužíva. Rozumnejšie a bezpečnejšie je odstrániť fyzický zväzok, zmeniť veľkosť oddielu a znovu vytvoriť zväzok.

Aké ľahké je vyskúšať

Ak nie je nainštalovaný LVM na ďalšie použitie, ale na „pozeranie“, potom je možné disky a oddiely nahradiť súbormi. Nie sú potrebné žiadne ďalšie disky ani virtuálne stroje. Vytvoríme virtuálne disky a budeme s nimi pracovať. Môžete napríklad vytvoriť 4 disky po 1 GB, ale môžete vytvoriť ďalšie množstvo väčších alebo menších veľkostí, ako chcete. Súbory vytvárame sami, simulujeme zariadenia:

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/nula z=./d03 počet=1 bs=1G dd if=/dev/nula z=./d04 počet=1 bs=1G

Vytvorte zariadenia so spätnou väzbou zo súborov:

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 32 miliónov vg /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 lvcreate -n vg prvý -L 2G -n sekunda -L 400M vg ...

Snímky

Jednou z najdôležitejších vlastností LVM je podpora mechanizmu snapshot. Snímky vám to umožňujú okamžitý snímku logického zväzku a neskôr ho použiť na prácu s údajmi.

Príklady použitia

LVM sa aktívne používa, keď je potrebný mechanizmus snímky. Tento mechanizmus je mimoriadne dôležitý napríklad pri zálohovaní neustále sa meniacich súborov. LVM umožňuje zmraziť určitý stav súborového systému a skopírovať z neho všetky potrebné údaje, pričom nemusíte zastavovať nahrávanie na pôvodný súborový systém.

Snímky možno použiť aj na organizáciu podpory mechanizmu archívnych kópií súborovým serverom so Sambou, o tom v príslušnom článku:

LVM s LiveCD

Ak potrebujete pracovať s LVM z Ubuntu LiveCD, musíte urobiť niekoľko ďalších krokov, pretože predvolene neexistujú žiadne nástroje na prácu s LVM.

Najprv musíte nainštalovať tieto nástroje:

sudo vgscan sudo vgdisplay YOUR_VGNAME

Sudo vgchange -a y

Tento príkaz by mal oznámiť, že všetky vaše logické jednotky sú aktivované. Teraz s nimi môžete pracovať obvyklým spôsobom.

Správca logických zväzkov ( LVMAngličtina. Správca logických zväzkov ) - poskytuje ďalšiu vrstvu abstrakcie medzi fyzickými/logickými diskami (zvyčajné oddiely, s ktorými pracuje fdisk a podobné programy) a súborovým systémom. To sa dosiahne rozdelením počiatočných oddielov na malé bloky ( rozsahov, zvyčajne 4-32 MB) a ich spojením do jedného virtuálneho zväzku, presnejšie do skupiny zväzkov ( objemová skupina), ktorý sa ďalej delí na logické zväzky ( logický objem). Pre súborový systém je logický zväzok reprezentovaný ako normálne blokové zariadenie, hoci jednotlivé rozsahy zväzku sa môžu nachádzať na rôznych fyzických zariadeniach (a dokonca aj samotný rozsah môže byť rozložený ako RAID). LVM zvyšuje flexibilitu súborového systému, ale keďže je len medzivrstvou, neruší obmedzenia a používanie iných vrstiev. To znamená, že stále musíte vytvárať a upravovať oddiely, formátovať ich.

Tvorba.

# pvcreate /dev/sdb1 /dev/sdb2 //vytvorte fyzický zväzok # vgcreate volgroup00 /dev/sdb1 //vytvorte skupinu zväzkov # vgextend volgroup00 /dev/sdb2 //pridajte nový oddiel do skupiny zväzkov # pvdisplay /dev /sdb2 //zobrazenie atribútov fyzického zväzku # lvcreate -L20G -ntest01 volgroup00 //vytvorenie 20Gb logického zväzku s názvom test

Veľkosť zväzku môže byť vytvorená počtom rozsahov, ich počet v skupine zväzkov je určený vgdsplay :

# lvcreate -l 10000 volgroup00 -n test02

Teraz, keď je nad ním vytvorený logický zväzok, môžete vykonávať rovnaké akcie ako s bežným oddielom, t.j. možno ho formátovať, pripojiť, prenášať informácie atď.

# mkreiserfs /dev/volgroup00/test01 //formátovať logický zväzok pod ReiserFS # mount /dev/volgroup00/test01 /mnt/lvmtest //pripojiť logický zväzok # cp -a /etc/ /mnt/lvmtest //kopírovať

Údržba LVM.

Zväčšenie veľkosti logického zväzku

Po zväčšení logického zväzku musíte zväčšiť veľkosť súborového systému. Pre každý FS vaša metóda. A v každom prípade existujú nuansy:
Pred zmenou veľkosti systému súborov ext2 musíte odpojiť partíciu (veľ Ext3/Ext4 zmeny za behu).
Ext4 zvyšuje sa len s zmeniť veľkosť 2fs. AT fsadm ich metódy.
Zvýšte veľkosť súborových systémov Reiserfs možné ako v namontované, ako aj v nenamontované stave.
Veľkosť systému súborov XFS možno len zvýšiť namontované stave. Okrem toho pomocný program musí odovzdať bod pripojenia ako parameter, nie názov zariadenia.

# lvextend - L+ 4G / dev/ volgroup00/ test01 //zvýšenie logického objemu o 4 GB# resize2fs /dev/volgroup00/ext //Ext2/Ext3/Ext4 rozšírenie alebo druhá možnosť cez fsadm (niektoré zdroje píšu o e2fsadm, sám som to nenašiel).# fsadm - l zmena veľkosti / dev/ volgroup00/ ext 2G //zvýšenie logického zväzku Ext2/Ext3 s príponou FS. Od septembra 2009 Ext4 ešte nie je podporovaný# resize_reiserfs - f / dev/ volgroup00/ reiser //rozšírenie reiserFS# xfs_growfs / mnt/ lvm/ xfs // rozšírenie XFS # btrfsctl - r + 2g / mnt/ lvm/ btrfs/ // rozšírenie Btrfs alebo # btrfsctl - r + 2g - A / dev/ volgroup00/ btrfs // Btrfs

# lvextend -L+4G /dev/volgroup00/test01 //zvýšenie logického objemu o 4GB # resize2fs /dev/volgroup00/ext //Ext2/Ext3/Ext4 rozšírenie alebo druhá možnosť cez fsadm (niektoré zdroje píšu o e2fsadm, na domov to nenašiel). # fsadm -l zmena veľkosti /dev/volgroup00/ext 2G //Zväčšenie logického zväzku Ext2/Ext3 pomocou rozšírenia FS. Od septembra 2009, Ext4 ešte nie je podporovaný # resize_reiserfs -f /dev/volgroup00/reiser // ReiserFS rozšírenie # xfs_growfs /mnt/lvm/xfs // XFS rozšírenie # btrfsctl -r +2g /mnt/lvm/btrfs/ / / rozšírenie Btrfs alebo # btrfsctl -r +2g -A /dev/volgroup00/btrfs //rozšírenie btrfs

Zmenšenie veľkosti logického zväzku

Logické zväzky môžu byť tiež zmenšené. Najprv musíte zmenšiť veľkosť súborového systému a až potom veľkosť logického zväzku. V opačnom poradí môžete stratiť dáta. Existujú aj niektoré nuansy:
Pred zmenou veľkosti musí byť súborový systém odpojený.
Pri zmene veľkosti ext2/ext3 resize2fs'y určuje jeho novú veľkosť.
Znížiť XFS a JFS nemožné.
Znížiť btrfs Môžete za behu, ale je lepšie neriskovať.

# resize2fs /dev/volgroup00/ext2 500m //zadajte novú veľkosť pre Ext2/Ext3 FS # fsadm -l resize /dev/volgroup00/ext3 200M //zadajte novú veľkosť pre Ext2/Ext3 FS # resize_reiserfs /s-1 dev/ volgroup00/reiserfs //zníženie FS Reiserfs # btrfsctl -r -2g -A /dev/volgroup00/btrfs //zníženie FS Btrfs # lvreduce -L-1G /dev/volgroup00/test01 //zníženie logického objemu

Premenovanie logického zväzku

# vgchange -a n /dev/volgroup02 //vypnutie logických zväzkov v skupine obetí # vgmerge volgroup01 volgroup02 //Zlúčenie volgroup02 do volgroup01

Rozdelenie skupiny zväzkov

# vgsplit volgroup01 volgroup02 /dev/sdb1 //pridelenie novej skupiny zväzkov volgroup02, ktorá bude umiestnená na fyzickom zväzku /dev/sdb1

Zmena veľkosti fyzického zväzku. Existuje niekoľko nuancií:
Zväčšenie veľkosti fyzického zväzku LVM sa vykoná po zväčšení oddielu programami ako napr cfdisk/fdisk
Zníženie objemu by sa malo vykonať po zmenšení súborových systémov a logických zväzkov, inak je možné poškodenie údajov

# [b]pvresize /dev/sda1 //zvýšenie fyzického objemu # [b]pvresize --setphysicalvolumesize 40G /dev/sda1 //zníženie fyzického objemu

Snímky

Snímka je kópia iného zväzku len na čítanie. Pri vytváraní snímok sa musíte uistiť, že je spustený dmeventd. Pri fotení s XFS najprv ho treba zamraziť. xfs_freeze.

# lvcreate -L600M -s -n var-backups /dev/volgroup00/var //vytvorte zväzok var-backup ako kópiu zväzku var # mount /dev/volgroup00/var-backup /mnt/backup //potom pripojte snímka

Vytvorenie zrkadla (zrkadlá)

Zrkadlá sa používajú na zvýšenie odolnosti voči chybám a zvýšenie úrovne informačnej bezpečnosti. Na vytvorenie zrkadla potrebujete 3 fyzické zväzky, 2 pre zrkadlo a 1 pre denník. Odporúča sa používať fyzické nosiče umiestnené na rôznych médiách. Použitie fyzických nosičov z jedného média ruší užitočnosť použitia zrkadla, pretože v prípade zlyhania hardvéru sa zrkadlo stane zbytočným. Pri vytváraní zrkadiel sa musíte uistiť, že je spustený dmeventd

# pvcreate /dev/sda5 /dev/sdb1 /dev/sdc1 //vytvorte fyzický zväzok # vgcreate mirror00 /dev/sda5 /dev/sdb1 /dev/sdc1 //vytvorte skupinu mirror00 # lvcreate -L 5G -n volume00 - m 1 mirror00 //vytvorte zrkadlový objem objemu00

zobraziť informácie o logických zväzkoch, percento kópie by malo dosiahnuť 100 %

# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert volume00 mirror00 mwi-a- 5.00G volume00_mlog 6.17

# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert volume00 mirror00 mwi-a- 5.00G volume00_mlog 6.17

kontrola používania zariadenia vo vytvorenom zrkadle

# lvs - a - o + devices LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices volume00 mirror00 mwi- a- 5.00G volume00_mlog 100.00 volume00_mimage_0(0 ) , volume00_mimage_1(0_0_0 mirror) [05] i05 volume dev/ sda5(0 ) [ volume00_mimage_1] mirror00 iwi- ao 5,00G / dev/ sdb1(0 ) [ volume00_mlog] mirror00 lwi-ao 4,00M

# lvs -a -o +devices LV VG Attr LS Size Pôvod Snap% Move Log Copy% Convert Devices volume00 mirror00 mwi-a- 5.00G volume00_mlog 100.00 volume00_mimage_0(0),volume00_mimage_1(0) mirror.0G (0) mirror00 iwi-ao 5,00G /dev/sdb1(0) mirror00 lwi-ao 4,00M

# vgextend volgroup01 /dev/sdc1 /dev/sdd1 //pridanie nových fyzických zväzkov do skupiny # lvconvert -m 1 /dev/volgroup01/volume-new //konvertovanie bežného zväzku na zrkadlený

Odstránenie zväzkov a skupín

Logické zväzky musia byť pred odstránením odpojené.

# vgreduce volgroup00 /dev/sdb1 //odstránenie fyzického zväzku zo skupiny # lvremove /dev/volgroup00/test01 //odstránenie logického zväzku # vgremove volgroup00 //odstránenie skupiny zväzkov # pvremove /dev/sdc1 //odstránenie fyzického objem

V skutočnosti chcem jednoducho a jednoducho hovoriť o takej úžasnej veci, ako je správa logických objemov alebo správa logických objemov.
Keďže LVM používam už dlho, poviem vám, čo to znamená konkrétne pre mňa, bez pozerania sa do manuálov a bez vyťahovania citátov z wiki, vlastnými slovami, aby to bolo jasné aj tým, ktorí to robia nič o tom neviem. Pokúsim sa hneď nehovoriť o všelijakých „pokročilých“ funkciách ako prúžky, momentky atď.

LVM je ďalšia vrstva abstrakcie od hardvéru, ktorá vám umožňuje zhromaždiť hromady heterogénnych diskov do jedného a potom tento znova rozdeliť presne tak, ako chceme.

Existujú 3 úrovne abstrakcie:
1. PV (Physical Volume) – fyzické zväzky (môžu to byť partície alebo celé „nerozdelené“ disky)
2. VG (Volume Group) - skupina zväzkov (fyzické zväzky (PV) spojíme do skupiny, vytvoríme jeden disk, ktorý ďalej rozdelíme, ako chceme)
3. LV (Logical Volume) - logické oddiely, skutočná sekcia nášho nového "jednotného disku" alias Skupina zväzkov, ktorý potom naformátujeme a použijeme ako bežný oddiel, obyčajný pevný disk.
to je asi celá teória. :) teraz cvič:
na fungovanie potrebujete balíky lvm2 a schopnosť pracovať s oprávneniami root, takže:
$ sudo bash
# apt-get install lvm2

Povedzme, že máme v počítači 40 GB pevný disk a podarilo sa nám nazbierať nejaké peniaze a nakoniec si kúpiť TERABYTER! :))) Systém je už spustený a prvý disk je rozdelený na jeden oddiel (/dev/sda1 ako /), druhý - najväčší, ktorý sme práve pripojili - nie je rozdelený vôbec / dev/sdb ...
Navrhujem trochu uvoľniť koreňový disk a zároveň zrýchliť (nový disk funguje rýchlejšie ako starý) a „zabezpečiť“ systém pomocou lvm.
Na druhom disku môžete vytvoriť oddiely a pridať ich do skupín zväzkov (ak potrebujeme niekoľko skupín zväzkov),
alebo nemôžete vytvoriť oddiely na disku vôbec a urobiť z celého zariadenia fyzický oddiel (PV)

[chránený e-mailom]:~# pvcreate /dev/sdb
Fyzický zväzok „/dev/sdb“ bol úspešne vytvorený

Skupinu zväzkov vytvoríme so zmysluplným názvom, napríklad podľa názvu stroja „ws“, takže pri pretiahnutí tohto disku na iný stroj nedochádza ku konfliktom s názvami skupín zväzkov:

[chránený e-mailom]:~# vgcreate ws /dev/sdb

Z koreňového oddielu je vhodné pridať priečinky ako /usr/var/tmp/home, aby nedošlo k ďalšej defragmentácii koreňového oddielu a v žiadnom prípade k preplneniu, takže vytvoríme oddiely:

[chránený e-mailom]:~# lvcreate -n usr -L10G ws # tu vytvoríme 10Gb oddiel s názvom "usr"
Vytvoril sa logický zväzok „usr“.
analogicky robíme to isté pre /var, /tmp, /home:
[chránený e-mailom]:~# lvcreate -n var -L10G ws
[chránený e-mailom]:~# lvcreate -n tmp -L2G ws
[chránený e-mailom]:~# lvcreate -n home -L500G ws
stále máme nejaké voľné miesto v skupine zväzkov (napríklad pre budúci oddiel na zálohovanie)
uvidíte, koľko presne môžete pomocou príkazu:
[chránený e-mailom]:~# vgdisplej
informácie o vytvorených logických zväzkoch
[chránený e-mailom]:~# lvdisplej
informácie o fyzických objemoch
[chránený e-mailom]:~# pvdisplej

Sekcie, ktoré sme vytvorili, sa objavia v priečinku /dev/[vg_name]/, respektíve tam budú odkazy na súbory,
lrwxrwxrwx 1 root root 22 2009-08-10 18:35 swap -> /dev/mapper/ws-swap
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 tmp -> /dev/mapper/ws-tmp
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 usr -> /dev/mapper/ws-usr
lrwxrwxrwx 1 koreňový koreň 21 2009-08-10 18:35 var -> /dev/mapper/ws-var
atď…

Potom je lvm takmer u konca ... naformátujeme naše oddiely do našich obľúbených súborových systémov:
[chránený e-mailom]:~# mkfs.ext2 -L tmp /dev/ws/tmp
[chránený e-mailom]:~# mkfs.ext4 -L usr /dev/ws/usr
[chránený e-mailom]:~# mkfs.ext4 -L var /dev/ws/var
[chránený e-mailom]:~# mkfs.ext4 -L home /dev/ws/home

Mimochodom, nebolo by zlé vytvoriť swapovací oddiel:
[chránený e-mailom]:~# lvcreate -n swap -L2G ws
[chránený e-mailom]:~# mkswap -L swap /dev/ws/swap
[chránený e-mailom]:~# swapon /dev/ws/swap

Vytvoríme priečinok a postupne pripájame novovytvorené zväzky a skopírujeme do nich potrebný obsah:
[chránený e-mailom]:~# mkdir /mnt/target
[chránený e-mailom]:~# mount /dev/ws/home /mnt/target
skopírujte všetko z priečinka /home tam pomocou svojho obľúbeného správcu súborov (pri zachovaní prístupových práv), takto;):
[chránený e-mailom]:~# cp -a /home/* /mnt/target/
[chránený e-mailom]:~# umount /mnt/target/
Mimochodom, pre priečinok temp stačí opraviť práva, nie je potrebné nič kopírovať:
[chránený e-mailom]:~# mount /dev/ws/tmp /mnt/target && chmod -R a+rwx /mnt/target && umount /mnt/target/
pridajte potrebné riadky do /etc/fstab, napríklad:
/dev/mapper/ws-home /home ext4 relatime 0 2
/dev/mapper/ws-tmp /tmp ext2 noatime 0 2
/dev/mapper/ws-swap žiadne swap sw 0 0
a reštartujte ... (pokročilí páni sa zaobídu bez reštartu;))

Pre chutné chcem ponúknuť pokročilejšiu vec:
povedzme, že máme systém s oddielom na LVM a pevný disk začne zlyhávať, potom môžeme presunúť celý systém na iný pevný disk/oddiel bez reštartu:

# On-line pridávanie/odstraňovanie pevných diskov pomocou LVM (príklad)

[chránený e-mailom]:~# pvcreate /dev/sda1 # náš neúspešný emulátor disku
Fyzický zväzok "/dev/sda1" bol úspešne vytvorený

[chránený e-mailom]:~# pvcreate /dev/sdb1 # náš emulátor záchranného disku
Fyzický zväzok "/dev/sdb1" bol úspešne vytvorený

[chránený e-mailom]:~# vgcreate vg0 /dev/sda1 # vytvorenie skupiny zväzkov vg0
Skupina zväzkov „vg0“ bola úspešne vytvorená

[chránený e-mailom]:~# lvcreate -n test -L10G vg0 #vytvor oddiel pre "dôležité" informácie
Bol vytvorený "test" logického objemu

[chránený e-mailom]:~# mkfs.ext2 /dev/vg0/test # vytvoriť súborový systém na oddiele
[chránený e-mailom]:~# mount /dev/mapper/vg0-test /mnt/tmp/ #mount partícia
… # naplňte ho informáciami, otvorte v ňom niekoľko súborov atď.

[chránený e-mailom]:~# vgextend vg0 /dev/sdb1 # rozbaľte našu skupinu zväzkov na „záchrannú“ jednotku
Skupina zväzkov „vg0“ bola úspešne rozšírená

[chránený e-mailom]:~# pvmove /dev/sda1 /dev/sdb1 #presunúť obsah z umierajúceho disku na záchranný disk
/dev/sda1: Presunuté: 0,9 %
/dev/sda1: Presunuté: 1,8 %

/dev/sda1: Presunuté: 99,7 %
/dev/sda1: Presunuté: 100,0 %

[chránený e-mailom]:~# vgreduce vg0 /dev/sda1 # odstráňte umierajúci disk zo skupiny zväzkov.
Odstránené „/dev/sda1“ zo skupiny zväzkov „vg0“

Celkom:
Vytvoril som logický oddiel, naformátoval som ho, pripojil a naplnil potrebnými údajmi, potom som ho presunul z jedného zariadenia na druhé, pričom oddiel zostal pripojený a údaje zostali po celý čas dostupné!
Podobným spôsobom sa mi podarilo preniesť celý systém z umierajúceho disku na pole raid bez reštartu. :)

P.S. Ospravedlňujem sa za preklepy, neustále som sa rozptyľovala =))

P.P.S. Ó áno!!! Najdôležitejšou a najväčšou nevýhodou LVM je, že nie je čitateľný grubom
takže oddiel /boot musí byť mimo LVM na samostatnom oddiele pevného disku,
inak sa systém nespustí.

Môj domáci linuxový server má 250 GB disk. Práve som si kúpil nový 250 GB SATA disk a chcem pridať nový disk k môjmu existujúcemu zväzku LVM, aby som ho zväčšil na 500 GB. Ako pridať disk do LVM a rozšíriť objem LVM v operačnom systéme Linux?

Linux Volume Management (LVM) vytvára ľahko použiteľnú vrstvu nad fyzickými diskami. Môžete kombinovať viacero diskov a vytvárať logické úložné zväzky. To poskytuje špecifické výhody, ako napríklad:

  1. Žiadne obmedzenia veľkosti disku;
  2. Zvýšená šírka pásma disku
  3. Zrkadlenie objemov pre kritické obchodné údaje;
  4. Snímky objemu;
  5. Jednoduché zálohovanie a obnovenie pomocou snímok;
  6. Jednoduchý prenos dát;
  7. Zmena veľkosti úložných oblastí (pridávanie alebo odstraňovanie diskov) bez nutnosti preformátovania diskov.
Tento tutoriál vám ukáže, ako rozdeliť, naformátovať a pridať nový disk do zväzku LVM v systéme Linux. Na účely ukážky používam Ubuntu VM, ale príkazy zostávajú rovnaké pre holý kov alebo akúkoľvek inú virtualizačnú technológiu, ako je KVM, Xen, VMware atď.

Pozornosť: Buďte opatrní s lvm / mkfs.ext4 a ďalšími príkazmi, ako aj s názvami zariadení, napr. ak je názov zariadenia nastavený nesprávne, môže dôjsť k zničeniu všetkých údajov. Buďte opatrní a vždy majte úplné zálohy.

Krok 1 – Zistite informácie o existujúcich LVM

Správa úložiska LVM je rozdelená do troch častí:

  1. Fyzické objemy (FT(PV))– aktuálne (napríklad /dev/sda, /dev,sdb, /dev/vdb atď.)
  2. Skupiny zväzkov (GT(VG))– fyzické zväzky sú zoskupené do skupín zväzkov. (napr. my_vg = /dev/sda + /dev/sdb .)
  3. Logické zväzky (LT(LV))– skupina zväzkov je zase rozdelená na logické zväzky (napríklad môj_vg je rozdelený na môj_vg/údaje, môj_vg/zálohy, môj_vg/domov, môj_vg/mysqldb atď.)
Ak chcete zistiť informácie o každej časti, zadajte nasledujúce príkazy.

Ako zobraziť informácie o fyzických objemoch (pv)

Ak chcete zobraziť informácie o fyzických nosičoch, zadajte nasledujúci príkaz pvs:

V súčasnosti teda môj LVM obsahuje fyzický zväzok (aktuálny disk) s názvom /dev/vda5 . Ak chcete zobraziť podrobné informácie o vlastnostiach, zadajte:

$ sudo pvdisplay

Príklady možných výstupov údajov:

Z vyššie uvedeného výstupu je jasné, že naša skupina zväzkov s názvom ubuntu-box-1-vg je vytvorená z fyzického zväzku s názvom /dev/vda5 .

Ako zobraziť informácie o skupine zväzkov LVM (vg)

Ak chcete zobraziť informácie o skupinách jednotiek a ich vlastnostiach, zadajte ktorýkoľvek z nasledujúcich príkazov vgs/vgdisplay vgs:

$ sudo vgdisplay

Príklady možných výstupov údajov:

Ako zobraziť informácie o logickom zväzku LVM (lv)

Ak chcete zobraziť informácie o skupinách jednotiek a ich vlastnostiach, zadajte ktorýkoľvek z nasledujúcich príkazov lvs / lvdisplay:

$ sudo lvdisplay

Príklady možných výstupov údajov:

Moja skupina zväzkov ubuntu-box-1-vg je rozdelená na dva logické zväzky:

  1. /dev/ubuntu-box-1-vg/root - koreňový súborový systém;
  2. /dev/ubuntu-box-1-vg/swap_1 - Swap priestor.
Na základe vyššie uvedených príkazov môžete získať základnú predstavu o tom, ako LVM organizuje úložisko do fyzických zväzkov (PV), skupín zväzkov (VG) a logických zväzkov (LV):

Krok 2 – Zistite informácie o novom disku

Na váš server musíte pridať nový disk. V tomto príklade som na demonštračné účely pridal nový disk s veľkosťou 5GiB. Ak chcete zistiť informácie o uvedení nových diskov na trh:

$ sudo fdisk -l

$ sudo fdisk -l | grep "^Disk /dev/"

Príklady možných výstupov údajov:

Ďalšou možnosťou je skenovať všetky viditeľné zariadenia na LVM2:

$ sudo lvmdiskscan

Príklady možných výstupov údajov:

/dev/ram0 [ 64,00 MiB] /dev/ubuntu-box-1-vg/root [ 37,49 GiB] /dev/ram1 [ 64,00 MiB] /dev/ubuntu-box-1-vg/swap_1 [ 2,00 GiB] /dev /vda1 [ 487,00 MiB] /dev/ram2 [ 64,00 MiB] /dev/ram3 [ 64,00 MiB] /dev/ram4 [ 64,00 MiB] /dev/ram5 [ 64,00 MiB] /dev/vda5 [ fyzický objem 39,52 GiB] LV dev/ram6 [ 64,00 MiB] /dev/ram7 [ 64,00 MiB] /dev/ram8 [ 64,00 MiB] /dev/ram9 [ 64,00 MiB] /dev/ram10 [ 64,00 MiB] /dev/ram11 [ 64,00 MiB] ram12 [ 64,00 MiB] /dev/ram13 [ 64,00 MiB] /dev/ram14 [ 64,00 MiB] /dev/ram15 [ 64,00 MiB] /dev/vdb [ 5,00 GiB] 2 disky 18 partícií 0 LVM fyzický zväzok celý fyzický zväzok LVM objem

Krok 3 – Vytvorte fyzické zväzky (pv) na novej jednotke s názvom /dev/vdb

Zadajte nasledujúci príkaz:

$ sudo pvcreate /dev/vdb

Príklady možných výstupov údajov:

Fyzický zväzok „/dev/vdb“ bol úspešne vytvorený

Teraz spustite nasledujúci príkaz na kontrolu:

$ sudo lvmdiskscan -l

Príklady možných výstupov údajov:

UPOZORNENIE: berúc do úvahy iba zariadenia LVM /dev/vda5 [ 39,52 GiB] Fyzický zväzok LVM /dev/vdb [ 5,00 GiB] Fyzický zväzok LVM 1 fyzický zväzok LVM celý disk 1 fyzický zväzok LVM

Krok 4 – Pridanie novovytvoreného fyzického zväzku (pv) s názvom /dev/vdb do existujúceho logického zväzku (lv)

Zadajte nasledujúci príkaz na pridanie fyzického zväzku /dev/vdb do skupiny zväzkov "ubuntu-box-1-vg".