Onehdy jsem musel vyměnit disky na serveru CentOS 6.7. Staré disky, ač stále funkční, se zátěží nezvládly. Proto se forkovali a koupili SSD disky o stejné kapacitě jako ty staré. Ale od náklady na 1 GB na SSD disku jsou mnohem dražší, pak se při pohledu na velikost /var (180 GB) a / (kořenový oddíl) 300 GB rozhodnutí zvětšit velikost / zmenšením velikosti / var přirozeně navrhl sám sebe. Nápad je to samozřejmě dobrý, ale takhle jsem ještě nikdy nehrál, takže jsem víkend strávil na fórech, nejprve jsem vše zkontroloval na virtuálním stroji bez raidu, pak jsem si myslel, že na mém serveru běží soft raid1 a udělal testovací lavici (nainstaloval jsem CentOS 6.7 na starý počítač se dvěma disky v softwarovém raidu1) a vše na něm zkontroloval a poté znovu spustil na funkčním serveru. Ale i tak to bylo vzrušující. Tak pojďme!

Tip: Pokud jste se ještě nikdy nebavili se změnami oddílů, nikdy to nezkoušejte na pracovním počítači.

Existuje tedy systém dvou disků spojených v raid1 (zrcadlení).

Rozdělení je něco takového:

/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 přiděleno do /boot

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

Proč jsem uvedl příklad zhroucení? Jen abyste mohli poznamenat, že nikdy v budoucnu nebudeme měnit velikost svazků na zařízeních /dev/sdXY. Všechny změny oddílů provedeme pouze s logickými svazky LVM!

Úkol: změňte velikost /var na 30 GB a dejte veškerý volný prostor / (root). Souborový systém obou oddílů je ext4. Systém CentOS 6.7.

Krok 1: Snižte /var

V mém případě (softwarový raid1) jsem nejprve pro jistotu zkontroloval, že jsou všechny disky připojeny a nejsou tam žádné chyby (cat /proc/mdstat).

Nebyl jsem si jistý, jestli je dobrý nápad odpojit /var (umount /var) v produkčním režimu, a tak jsem bootoval z CentOS LiveCD v Rescue Mode (bylo možné vstoupit do single mode bez LiveCD).

Kontrola dostupnosti fyzického svazku LVM:

#pvscan
PV /dev/md1 VG VolGroup lvm2

Kontrola dostupnosti skupin svazků:

#vgscan
Čtení všech fyzických svazků. Může to chvíli trvat...
Nalezeno skupina svazků "VolGroup" pomocí metadat typu lvm2

Aktivujte logické svazky:

Podíváme se na logické svazky:

#lvscan
AKTIVNÍ "/dev/VolGroup/LogVol01" dědí
AKTIVNÍ "/dev/VolGroup/LogVol00" dědí
AKTIVNÍ "/dev/VolGroup/LogVol02" dědí

Můžete vidět podrobnosti o svazku /dev/VolGroup/LogVol01 (máme ho /var):

# lvdisplay /dev/VolGroup/LogVol01

a nemusíš se dívat.

Všechny výše uvedené kontroly mají zajistit, aby byly svazky LVM viditelné a aktivní, a abyste pochopili, se kterým svazkem byste měli pokračovat. Jděte dál.

Odpojte svazek, který máme /var a který se sníží:

# umount /dev/VolGroup/LogVol01

Zkontrolujeme souborový systém svazku:

# fsck.ext4 /dev/VolGroup/LogVol01

Příkaz by měl projít bez chyb.

Zkontrolujeme chyby (-f - síla):

# e2fsck -f /dev/VolGroup/LogVol01

Nejprve zmenšete velikost systému souborů svazku:

resize2fs -p /dev/VolGroup/LogVol01 30G

Pozor: zde "30G" je velikost, kterou chceme nastavit pro souborový systém, ne o kterou chceme souborový systém zmenšit.

A teprve poté změníme velikost svazku LVM:

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

Obdrželi jste zprávu o úspěchu.

Nyní nemůžete oddíl připojit zpět, ale okamžitě restartujte a zkontrolujte, zda je vše v pořádku, systém nabootuje, df -h dává velikost /var rovnou 30 GB.

Na CentOS se po nabootování před přihlášením objevila zpráva od SELinuxu, která by měla přeindexovat změny. OK. Chvíli to trvalo a samotný systém se restartoval. Poté jsem se přihlásil a ujistil se, že je vše v pořádku. Teprve poté jsem přešel k druhému kroku (který se ukázal být mnohem rychlejší a jednodušší), kterým bylo zvětšení kořenového oddílu přidáním veškerého dostupného volného místa na fyzickém svazku LVM. Spusťte pvscan a zjistěte, zda výstup příkazu ukazuje, že je k dispozici místo (toto je plus nebo mínus to, co bylo použito dříve pod /var). Nyní přidáme toto volné místo do / (root).

Krok 2: zvětšete velikost svazku LVM (který máme /) bez restartu

Ano, nečetl jsi to. Abychom zvětšili velikost svazku LVM, nemusíme bootovat do jednoho režimu (nebo přes LiveCD v záchranném režimu).

Pro jistotu, abyste si nepletli, kterému svazku chcete dát volné místo, spusťte cat /etc/fstab a lvscan, ujistěte se, že oddíl / (root) je /dev/VolGroup/LogVol02 a ne něco jiného ;)

# lvextend -l+100% ZDARMA -r

Správně, žádné mezery mezi -l (to je malé L) a +100% ZDARMA. Všimněte si, že jsem přesně nespecifikoval, jak moc chci zvětšit velikost svazku. V této situaci jsem to nepotřeboval, a abych nehádal, kolik konkrétně potřebuji přidat GB, jednoduše jsem uvedl, že bylo přidáno vše, co bylo možné. man lvextend pro varianty -L+100G ;) Volba -r říká, že po zvětšení logického svazku se má změnit velikost systému souborů. Bez této možnosti by existovaly dva příkazy:

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

Po úspěšném dokončení bych restartoval a zkontroloval, že je vše v pořádku.

Přirozeně, vše výše uvedené může selhat v jakékoli fázi, i když jen kvůli výpadku napájení. Pokud jsou tedy data na měnitelných oddílech nějakým způsobem důležitá, měli byste mít jejich kopii.

Vše výše uvedené platí pro CentOS. U Ubuntu se zdá být vše při starém. Myslím (nevím), že pro všechny moderní Linux jsou všechny příkazy stejné.

21.08.2017 10:48 bzzz

Logical Volume Manager (LVM) je velmi výkonný systém pro správu objemu dat pro Linux. Umožňuje vytvářet logické svazky nad fyzickými oddíly (nebo dokonce nerozdělenými pevnými disky), které budou v samotném systému viditelné jako běžná bloková zařízení s daty (tedy jako běžné oddíly). Hlavní výhody LVM spočívají v tom, že za prvé lze vytvořit jednu skupinu logických svazků na libovolném počtu fyzických oddílů a za druhé lze velikost logických svazků snadno měnit přímo za provozu. Kromě toho LVM podporuje mechanismus snapshot, kopírování oddílů za běhu a zrcadlení podobné RAID-1.

Pokud máte v plánu udělat hodně práce s LVM, pak můžete spustit speciální "shell" pomocí příkazu sudo lvm. Příkaz help zobrazí seznam příkazů.

Vytvořit a odstranit

Jak již bylo uvedeno, LVM je postaven na základě oddílů pevného disku a / nebo celých pevných disků. Na každém z disků / oddílů musí být vytvořen fyzický objem(fyzický objem). Například používáme disk pro LVM sda a oddíl sdb2:

pvcreate /dev/sda pvcreate /dev/sdb2

Na těchto fyzických svazcích tvoříme objemová skupina, který se bude jmenovat, řekněme, vg1:

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

Podívejme se na informace o naší skupině svazků:

vgdisplay vg1

Můžete vytvořit několik skupin, každou s vlastní sadou svazků. Ale obvykle to není vyžadováno.

Nyní můžete vytvořit skupinu svazků logické svazky lv1 a lv2 20 GB respektive 30 GB:

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

Nyní máme bloková zařízení /dev/vg1/lv1 a /dev/vg1/lv2.

Zbývá na nich vytvořit souborový systém. Neexistují žádné rozdíly s obvyklými sekcemi:

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

Odebrání LVM (nebo jeho jednotlivých částí, například logických svazků nebo skupin svazků) probíhá v opačném pořadí - nejprve je třeba odpojit oddíly, poté odebrat logické svazky (lvremove), poté můžete odebrat skupiny svazků (vgremove ) a nepotřebné fyzické svazky (pvremove) .

Přidání fyzických svazků

Chcete-li přidat nový pevný disk sdc do skupiny svazků vytvořte fyzický svazek:

pvcreate /dev/sdc

A přidejte to do naší skupiny:

Vgextend vg1 /dev/sdc

Nyní můžete vytvořit další logický disk (lvcreate) nebo zvětšit velikost stávajícího disku (lvresize).

Mazání fyzických svazků

Odebrání pevného disku ze spuštěné skupiny svazků sda Nejprve z něj přeneseme všechna data na jiné disky:

pvmove /dev/sda

Poté jej odeberte ze skupiny svazků:

Vgreduce vg1 /dev/sda

A nakonec odstraňte fyzický svazek:

Pvremove /dev/sda

Ve skutečnosti poslední příkaz pouze odstraňuje značku, že disk je členem lvm, a nepřináší mnoho výhod. Po odebrání z LVM bude nutné disk znovu rozdělit/přeformátovat pro další použití.

Změna velikosti

LVM usnadňuje změnu velikosti logických svazků. Chcete-li to provést, musíte nejprve změnit samotný logický svazek:

Lvresize -L 40G vg1/lv2

a pak souborový systém na něm:

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

Změna velikosti fyzického svazku je velmi složitý úkol a obvykle se nepoužívá. Je rozumnější a bezpečnější odebrat fyzický svazek, změnit velikost oddílu a znovu vytvořit svazek.

Jak snadné je to zkusit

Pokud není LVM nainstalováno pro další použití, ale „na pohled“, lze disky a oddíly nahradit soubory. Nejsou potřeba žádné další disky ani virtuální stroje. Vytvoříme virtuální disky a budeme s nimi pracovat. Můžete například vytvořit 4 disky po 1 GB, ale můžete vytvořit další počet větších nebo menších velikostí, jak chcete. Soubory vytváříme sami, simulujeme zařízení:

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

Vytvořte zařízení zpětné smyčky ze souborů:

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

Snímky

Jednou z nejdůležitějších funkcí LVM je podpora mechanismu snapshot. Snímky vám to umožňují okamžitý snímek logického svazku a později jej použít k práci s daty.

Příklady použití

LVM se aktivně používá, když je potřeba mechanismus snapshotů. Tento mechanismus je například extrémně důležitý při zálohování neustále se měnících souborů. LVM umožňuje zmrazit určitý stav souborového systému a zkopírovat z něj všechna potřebná data, přičemž nemusíte zastavovat nahrávání na původní souborový systém.

Snímky lze také použít k organizaci podpory pro mechanismus archivních kopií souborovým serverem se Sambou, o tom v odpovídajícím článku:

LVM s LiveCD

Pokud potřebujete pracovat s LVM z Ubuntu LiveCD, musíte udělat několik dalších kroků, protože ve výchozím nastavení neexistují žádné nástroje pro práci s LVM.

Nejprve musíte nainstalovat tyto nástroje:

sudo vgscan sudo vgdisplay VAŠE_VGNAME

Sudo vgchange -a y

Tento příkaz by měl hlásit, že všechny vaše logické svazky jsou aktivovány. Nyní s nimi můžete pracovat běžným způsobem.

Správce logických svazků ( LVMAngličtina. Správce logických svazků ) - poskytuje další vrstvu abstrakce mezi fyzickými/logickými disky (obvyklé oddíly, se kterými fdisk a podobné programy pracují) a souborovým systémem. Toho je dosaženo rozdělením počátečních oddílů na malé bloky ( rozsahy, obvykle 4-32 MB) a jejich spojením do jediného virtuálního svazku, přesněji do skupiny svazků ( objemová skupina), který se dále dělí na logické svazky ( logický objem). Pro systém souborů je logický svazek reprezentován jako normální blokové zařízení, ačkoli jednotlivé rozsahy svazku mohou být umístěny na různých fyzických zařízeních (a dokonce i samotný rozsah lze prokládat jako RAID). LVM zvyšuje flexibilitu souborového systému, ale jelikož je pouze mezivrstvou, neruší omezení a použití jiných vrstev. To znamená, že stále musíte vytvářet a upravovat oddíly, formátovat je.

Stvoření.

# pvcreate /dev/sdb1 /dev/sdb2 //vytvořit fyzický svazek # vgcreate volgroup00 /dev/sdb1 //vytvořit skupinu svazků # vgextend volgroup00 /dev/sdb2 //přidat nový oddíl do skupiny svazků # pvdisplay /dev /sdb2 //zobrazení atributů fyzického svazku # lvcreate -L20G -ntest01 volgroup00 //vytvoření 20Gb logického svazku s názvem test

Velikost svazku může být vytvořena počtem rozsahů, jejich počet ve skupině svazků je určen vgdsplay :

# lvcreate -l 10000 volgroup00 -n test02

Nyní, když je nad ním vytvořen logický svazek, můžete provádět stejné akce jako s běžným oddílem, tzn. lze jej formátovat, připojit, přenášet informace a tak dále.

# mkreiserfs /dev/volgroup00/test01 //formátovat logický svazek pod ReiserFS # mount /dev/volgroup00/test01 /mnt/lvmtest //připojit logický svazek # cp -a /etc/ /mnt/lvmtest //copy

Údržba LVM.

Zvětšení velikosti logického svazku

Po zvětšení logického svazku musíte zvětšit velikost systému souborů. Pro každého FS vaše metoda. A v každém případě existují nuance:
Před změnou velikosti systému souborů ext2 musíte odpojit oddíl (velikost Ext3/Ext4 změny za chodu).
Ext4 pouze se zvyšuje s změnit velikost 2fs. V fsadm jejich metody.
Zvětšete velikost souborových systémů Reiserfs možné jako v jízdní, stejně jako v nenamontované stav.
Velikost systému souborů XFS lze pouze zvýšit jízdní stav. Kromě toho obslužný program potřebuje předat bod připojení jako parametr, nikoli název zařízení.

# lvextend - L+ 4G / dev/ volgroup00/ test01 //zvýšit logický svazek o 4 GB# resize2fs /dev/volgroup00/ext //Ext2/Ext3/Ext4 rozšíření nebo druhá možnost přes fsadm (některé zdroje píší o e2fsadm, sám jsem to nenašel).# fsadm - l resize / dev/ volgroup00/ ext 2G //zvýšení logického svazku Ext2/Ext3 s příponou FS. Od září 2009 není Ext4 zatím podporován# resize_reiserfs - f / dev/ volgroup00/ reiser //rozšíření reiserFS# xfs_growfs / mnt/ lvm/ xfs // rozšíření XFS # btrfsctl - r + 2g / mnt/ lvm/ btrfs/ // rozšíření Btrfs nebo # btrfsctl - r + 2g - A / dev/ volgroup00/ rozšíření btrfs // B

# lvextend -L+4G /dev/volgroup00/test01 //zvýšit logický objem o 4GB # resize2fs /dev/volgroup00/ext //Ext2/Ext3/Ext4 rozšíření nebo druhá možnost přes fsadm (některé zdroje píší o e2fsadm, na doma to nenašel). # fsadm -l resize /dev/volgroup00/ext 2G //Zvětšení logického svazku Ext2/Ext3 s rozšířením FS. Od září 2009 není Ext4 ještě podporován # resize_reiserfs -f /dev/volgroup00/reiser // rozšíření ReiserFS # xfs_growfs /mnt/lvm/xfs // rozšíření XFS # btrfsctl -r +2g /mnt/lvm/btrfs/ / / Rozšíření Btrfs nebo # btrfsctl -r +2g -A /dev/volgroup00/btrfs //rozšíření btrfs

Zmenšení velikosti logického svazku

Logické svazky lze také zmenšit. Nejprve musíte zmenšit velikost souborového systému a teprve poté zmenšit velikost logického svazku. V opačném pořadí můžete ztratit data. Existují také některé nuance:
Před změnou velikosti musí být souborový systém odpojen.
Při změně velikosti ext2/ext3 resize2fs'y určuje jeho novou velikost.
Pokles XFS a JFS nemožné.
Pokles btrfs Můžete za běhu, ale je lepší to neriskovat.

# resize2fs /dev/volgroup00/ext2 500m //zadejte novou velikost pro Ext2/Ext3 FS # fsadm -l resize /dev/volgroup00/ext3 200M //zadejte novou velikost pro Ext2/Ext3 FS # resize_reiserfs /s-1 dev/ volgroup00/reiserfs //reduce FS Reiserfs # btrfsctl -r -2g -A /dev/volgroup00/btrfs //reduce FS Btrfs # lvreduce -L-1G /dev/volgroup00/test01 //redukuje logický objem

Přejmenování logického svazku

# vgchange -a n /dev/volgroup02 //zakázat logické svazky ve skupině obětí # vgmerge volgroup01 volgroup02 //Sloučit volgroup02 do volgroup01

Rozdělení skupiny svazků

# vgsplit volgroup01 volgroup02 /dev/sdb1 //přidělení nové skupiny svazků volgroup02, která bude umístěna na fyzickém svazku /dev/sdb1

Změna velikosti fyzického svazku. Existuje několik nuancí:
Zvětšení velikosti fyzického svazku LVM se provádí poté, co je oddíl zvětšen programy jako cfdisk/fdisk
Snížení svazku by mělo být provedeno po zmenšení souborových systémů a logických svazků, jinak je možné poškození dat

# [b]pvresize /dev/sda1 //zvýšit fyzický objem # [b]pvresize --setphysicalvolumesize 40G /dev/sda1 //snížit fyzický objem

Snímky

Snímek je kopie jiného svazku pouze pro čtení. Při vytváření snímků se musíte ujistit, že běží dmeventd. Při fotografování s XFS musí se nejprve zmrazit. xfs_freeze.

# lvcreate -L600M -s -n var-backups /dev/volgroup00/var //vytvořte svazek var-backup jako kopii svazku var # mount /dev/volgroup00/var-backup /mnt/backup //potom připojte snímek

Vytvoření zrcadla (zrcadla)

Zrcadla se používají ke zvýšení odolnosti proti chybám a zvýšení úrovně zabezpečení informací. K vytvoření zrcadla potřebujete 3 fyzické svazky, 2 pro zrcadlo a 1 pro deník. Doporučuje se používat fyzické svazky umístěné na různých médiích. Použití fyzických svazků z jednoho média ruší užitečnost použití zrcadlení, protože v případě selhání hardwaru se zrcadlo stane nepoužitelným. Při vytváření zrcadel se musíte ujistit, že běží dmeventd

# pvcreate /dev/sda5 /dev/sdb1 /dev/sdc1 //vytvoření fyzického svazku # vgcreate mirror00 /dev/sda5 /dev/sdb1 /dev/sdc1 //vytvoření skupiny mirror00 # lvcreate -L 5G -n volume00 - m 1 mirror00 //vytvoření zrcadleného objemu objemu00

zobrazit informace o logických svazcích, procento kopie by mělo dosáhnout 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 využití zařízení ve vytvořeném zrcadle

# lvs - a - o + devices LV VG Attr LS Size 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_miage) [0.0. 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 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) mirror.0G (0) mirror00 iwi-ao 5,00G /dev/sdb1(0) mirror00 lwi-ao 4,00M

# vgextend volgroup01 /dev/sdc1 /dev/sdd1 //přidat nové fyzické svazky do skupiny # lvconvert -m 1 /dev/volgroup01/volume-new //převést běžný svazek na zrcadlený

Mazání svazků a skupin

Logické svazky musí být před odebráním odpojeny.

# vgreduce volgroup00 /dev/sdb1 //odstranění fyzického svazku ze skupiny # lvremove /dev/volgroup00/test01 //odstranění logického svazku # vgremove volgroup00 //odstranění skupiny svazků # pvremove /dev/sdc1 //odstranění fyzického svazku hlasitost

Vlastně chci jednoduše a jednoduše mluvit o tak úžasné věci, jako je správa logických svazků nebo správa logických svazků.
Vzhledem k tomu, že LVM používám již delší dobu, řeknu vám, co to konkrétně pro mě znamená, aniž bych se díval do manuálů a aniž bych vytahoval citáty z wiki, svými slovy, aby to bylo jasné i těm, kteří to dělají nic o tom neví. O všemožných "pokročilých" funkcích jako jsou pruhy, snímky atd. se pokusím hned nemluvit.

LVM je další vrstva abstrakce od hardwaru, která vám umožňuje shromáždit hromady heterogenních disků do jednoho a ten pak znovu rozdělit přesně tak, jak chceme.

Existují 3 úrovně abstrakce:
1. PV (Physical Volume) – fyzické svazky (mohou to být oddíly nebo celé „nerozdělené“ disky)
2. VG (Volume Group) - skupina svazků (fyzické svazky (PV) spojíme do skupiny, vytvoříme jeden disk, který budeme dále rozdělovat, jak chceme)
3. LV (Logical Volume) - logické oddíly, skutečná sekce našeho nového "jednoho disku" alias skupiny svazků, který následně naformátujeme a použijeme jako běžný oddíl, běžný pevný disk.
to je asi celá teorie. :) teď trénuj:
k práci potřebujete balíčky lvm2 a schopnost pracovat s oprávněními root, takže:
$ sudo bash
# apt-get install lvm2

Řekněme, že máme v počítači 40GB pevný disk a podařilo se nám dát dohromady nějaké peníze a nakonec si koupit TERABYTER! :))) Systém je již v provozu a první disk je rozdělen na jeden oddíl (/dev/sda1 jako /), druhý - ten největší, který jsme právě připojili - není rozdělen vůbec / dev/sdb ...
Navrhuji trochu uvolnit kořenový disk a zároveň zrychlit (nový disk funguje rychleji než starý) a „zabezpečit“ systém pomocí lvm.
Na druhém disku můžete vytvořit oddíly a přidat je do skupin svazků (pokud potřebujeme několik skupin svazků),
nebo nemůžete na disku vytvořit oddíly vůbec a z celého zařízení udělat fyzický oddíl (PV)

[e-mail chráněný]:~# pvcreate /dev/sdb
Fyzický svazek "/dev/sdb" byl úspěšně vytvořen

Vytvoříme skupinu svazků se smysluplným názvem, například podle názvu počítače „ws“, takže při přetažení tohoto disku na jiný počítač nedochází ke konfliktům s názvy skupin svazků:

[e-mail chráněný]:~# vgcreate ws /dev/sdb

Je vhodné přidat složky jako /usr/var/tmp/home z kořenového oddílu, aby nedošlo k opětovné defragmentaci kořenového oddílu a v žádném případě k přetečení, takže vytvoříme oddíly:

[e-mail chráněný]:~# lvcreate -n usr -L10G ws # zde vytvoříme 10Gb oddíl s názvem "usr"
Logický svazek "usr" vytvořen
analogicky uděláme totéž pro /var, /tmp, /home:
[e-mail chráněný]:~# lvcreate -n var -L10G ws
[e-mail chráněný]:~# lvcreate -n tmp -L2G ws
[e-mail chráněný]:~# lvcreate -n home -L500G ws
stále máme nějaké volné místo ve skupině svazků (například pro budoucí oddíl pro zálohování)
podívejte se, kolik přesně můžete pomocí příkazu:
[e-mail chráněný]:~# vgdisplay
informace o vytvořených logických svazcích
[e-mail chráněný]:~# lvdisplay
informace o fyzických objemech
[e-mail chráněný]:~# pvdisplay

Oddíly, které jsme vytvořili, se objeví ve složce /dev/[vg_name]/, respektive tam budou odkazy na soubory,
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 root root 21 2009-08-10 18:35 var -> /dev/mapper/ws-var
atd…

Dále, lvm je téměř u konce ... formátujeme naše oddíly do našich oblíbených souborových systémů:
[e-mail chráněný]:~# mkfs.ext2 -L tmp /dev/ws/tmp
[e-mail chráněný]:~# mkfs.ext4 -L usr /dev/ws/usr
[e-mail chráněný]:~# mkfs.ext4 -L var /dev/ws/var
[e-mail chráněný]:~# mkfs.ext4 -L home /dev/ws/home

Mimochodem, nebylo by špatné udělat swapovací oddíl:
[e-mail chráněný]:~# lvcreate -n swap -L2G ws
[e-mail chráněný]:~# mkswap -L swap /dev/ws/swap
[e-mail chráněný]:~# swapon /dev/ws/swap

Vytvoříme složku a postupně připojujeme nově vytvořené svazky, zkopírujeme do nich potřebný obsah:
[e-mail chráněný]:~# mkdir /mnt/target
[e-mail chráněný]:~# mount /dev/ws/home /mnt/target
zkopírujte vše ze složky /home tam svým oblíbeným správcem souborů (při zachování přístupových práv), takto;):
[e-mail chráněný]:~# cp -a /home/* /mnt/target/
[e-mail chráněný]:~# umount /mnt/target/
Mimochodem, u složky temp stačí opravit práva, není nutné tam nic kopírovat:
[e-mail chráněný]:~# mount /dev/ws/tmp /mnt/target && chmod -R a+rwx /mnt/target && umount /mnt/target/
přidejte potřebné řádky do /etc/fstab, například:
/dev/mapper/ws-home /home ext4 relatime 0 2
/dev/mapper/ws-tmp /tmp ext2 noatime 0 2
/dev/mapper/ws-swap žádné swap sw 0 0
a restartujte ... (pokročilí pánové se obejdou bez restartu;))

Pro chutné, chci nabídnout pokročilejší věc:
řekněme, že máme systém s oddílem na LVM a pevný disk začne selhávat, pak můžeme celý systém přesunout na jiný pevný disk/oddíl bez restartu:

# On-line přidávání/odebírání pevných disků pomocí LVM (příklad)

[e-mail chráněný]:~# pvcreate /dev/sda1 # náš neúspěšný emulátor disku
Fyzický svazek "/dev/sda1" byl úspěšně vytvořen

[e-mail chráněný]:~# pvcreate /dev/sdb1 # náš emulátor záchranného disku
Fyzický svazek "/dev/sdb1" byl úspěšně vytvořen

[e-mail chráněný]:~# vgcreate vg0 /dev/sda1 # vytvoření skupiny svazků vg0
Skupina svazků "vg0" byla úspěšně vytvořena

[e-mail chráněný]:~# lvcreate -n test -L10G vg0 #vytvořit oddíl pro "důležité" informace
"Test" logického svazku vytvořen

[e-mail chráněný]:~# mkfs.ext2 /dev/vg0/test # vytvořit souborový systém na oddílu
[e-mail chráněný]:~# mount /dev/mapper/vg0-test /mnt/tmp/ #mount partition
… # naplňte jej informacemi, otevřete v něm několik souborů atd.

[e-mail chráněný]:~# vgextend vg0 /dev/sdb1 # rozbalte naši skupinu svazků na „záchrannou“ jednotku
Skupina svazků „vg0“ byla úspěšně rozšířena

[e-mail chráněný]:~# pvmove /dev/sda1 /dev/sdb1 #přesunout obsah z umírajícího disku na záchranný disk
/dev/sda1: Přesunuto: 0,9 %
/dev/sda1: Přesunuto: 1,8 %

/dev/sda1: Přesunuto: 99,7 %
/dev/sda1: Přesunuto: 100,0 %

[e-mail chráněný]:~# vgreduce vg0 /dev/sda1 # odebrat umírající disk ze skupiny svazků.
Odebráno "/dev/sda1" ze skupiny svazků "vg0"

Celkový:
Vytvořil jsem logický oddíl, naformátoval jej, připojil a naplnil potřebnými daty, poté jsem jej přesunul z jednoho zařízení na druhé, přičemž oddíl zůstal připojený a data zůstala po celou dobu dostupná!
Podobným způsobem se mi podařilo přenést celý systém z umírajícího disku na raidové pole bez restartu. :)

P.S. Omlouvám se za překlepy, neustále mě to rozptylovalo =))

P.P.S. Ach ano!!! Nejdůležitější a největší nevýhodou LVM je, že není čitelný pro grub
takže oddíl /boot musí být mimo LVM na samostatném oddílu pevného disku,
jinak se systém nespustí.

Můj domácí linuxový server má 250 GB disk. Právě jsem si koupil nový 250GB disk SATA a chci přidat nový disk ke svému stávajícímu svazku LVM, abych ho zvýšil na 500 GB. Jak přidat disk do LVM a rozšířit objem LVM v operačním systému Linux?

Linux Volume Management (LVM) vytváří snadno použitelnou vrstvu nad fyzickými disky. Můžete kombinovat více disků a vytvářet logické svazky úložiště. To poskytuje specifické výhody, jako jsou:

  1. Žádná omezení velikosti disku;
  2. Zvýšená šířka pásma disku
  3. Zrcadlení svazků pro kritická obchodní data;
  4. Snímky objemu;
  5. Snadné zálohování a obnovení pomocí snímků;
  6. Snadný přenos dat;
  7. Změna velikosti fondů úložiště (přidávání nebo odebírání disků) bez nutnosti přeformátování disků.
Tento tutoriál vám ukáže, jak rozdělit, formátovat a přidat nový disk do svazku LVM v systému Linux. Pro demo účely používám Ubuntu VM, ale příkazy zůstávají stejné pro holý kov nebo jakoukoli jinou virtualizační technologii, jako je KVM, Xen, VMware atd.

Pozornost: Buďte opatrní s lvm / mkfs.ext4 a dalšími příkazy, stejně jako s názvy zařízení, např. pokud je název zařízení nastaven nesprávně, může dojít ke zničení všech dat. Buďte opatrní a vždy mějte plné zálohy.

Krok 1 – Zjistěte informace o existujících LVM

Správa úložiště LVM je rozdělena do tří částí:

  1. Fyzické objemy (FT(PV))– aktuální (například /dev/sda, /dev,sdb, /dev/vdb atd.)
  2. Skupiny svazků (GT(VG))– fyzické svazky jsou seskupeny do skupin svazků. (např. my_vg = /dev/sda + /dev/sdb .)
  3. Logické svazky (LT(LV))– skupina svazků je zase rozdělena na logické svazky (například my_vg je rozděleno na my_vg/data, my_vg/backups, my_vg/home, my_vg/mysqldb atd.)
Chcete-li zjistit informace o každé části, zadejte následující příkazy.

Jak zobrazit informace o fyzických svazcích (pv)

Chcete-li zobrazit informace o fyzických nosičích, zadejte následující příkaz pvs:

V současné době tedy můj LVM obsahuje fyzický svazek (aktuální disk) s názvem /dev/vda5 . Chcete-li zobrazit podrobné informace o vlastnostech, zadejte:

$ sudo pvdisplay

Příklady možných datových výstupů:

Z výše uvedeného výstupu je zřejmé, že naše skupina svazků s názvem ubuntu-box-1-vg je vytvořena z fyzického svazku s názvem /dev/vda5 .

Jak zobrazit informace o skupině svazků LVM (vg)

Chcete-li zobrazit informace o skupinách svazků a jejich vlastnostech, zadejte kterýkoli z následujících příkazů vgs/vgdisplay vgs:

$ sudo vgdisplay

Příklady možných datových výstupů:

Jak zobrazit informace o logickém svazku LVM (lv)

Chcete-li zobrazit informace o skupinách disků a jejich vlastnostech, zadejte kterýkoli z následujících příkazů lvs / lvdisplay:

$ sudo lvdisplay

Příklady možných datových výstupů:

Moje skupina svazků ubuntu-box-1-vg je rozdělena na dva logické svazky:

  1. /dev/ubuntu-box-1-vg/root - kořenový souborový systém;
  2. /dev/ubuntu-box-1-vg/swap_1 - Odkládací prostor.
Na základě výše uvedených příkazů můžete získat základní představu o tom, jak LVM organizuje úložiště do fyzických svazků (PV), skupin svazků (VG) a logických svazků (LV):

Krok 2 – Zjistěte informace o novém disku

Musíte přidat nový disk na váš server. V tomto příkladu jsem pro demonstrační účely přidal nový disk o velikosti 5GiB. Chcete-li zjistit informace o uvedení nových disků:

$ sudo fdisk -l

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

Příklady možných datových výstupů:

Další možností je prohledat všechna viditelná zařízení na LVM2:

$ sudo lvmdiskscan

Příklady možných datových výstupů:

/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 oddílů 0 fyzický svazek LVM LVM celý fyzický svazek hlasitost

Krok 3 – Vytvořte fyzické svazky (pv) na nové jednotce s názvem /dev/vdb

Zadejte následující příkaz:

$ sudo pvcreate /dev/vdb

Příklady možných datových výstupů:

Fyzický svazek "/dev/vdb" byl úspěšně vytvořen

Nyní spusťte následující příkaz pro kontrolu:

$ sudo lvmdiskscan -l

Příklady možných datových výstupů:

VAROVÁNÍ: pouze s ohledem na zařízení LVM /dev/vda5 [ 39,52 GiB] fyzický svazek LVM /dev/vdb [ 5,00 GiB] fyzický svazek LVM 1 fyzický svazek LVM celý disk 1 fyzický svazek LVM

Krok 4 – Přidání nově vytvořeného fyzického svazku (pv) s názvem /dev/vdb do existujícího logického svazku (lv)

Zadejte následující příkaz pro přidání fyzického svazku /dev/vdb do skupiny svazků "ubuntu-box-1-vg".