Logikai kötetkezelő (LVM) a Linux szabványos particionálásával szemben

Written by redzs

2022.07.24.

Kategóriák

Logikai kötetkezelő (LVM) a Linux szabványos particionálásával szemben

Használja ezt az útmutatót, hogy integrálja az LVM rugalmasságát, méretezhetőségét és bővített szolgáltatásait a szerver tárolási stratégiáiba. A hagyományos particionálás jó, de az LVM jobb.
Kép
LVM vs szabványos lemezparticionálás

Fotó:  Soulful Pizza  a  Pexelstől

A szerverek tárolókapacitását a lemezmeghajtók méretével és partíciókonfigurációival kezelik évtizedek óta. Nyilvánvaló, hogy ezek a stratégiák jól működnek és megbízhatóak. Azonban számos előnnyel jár a tárkezelés újragondolása a helyi szervereken. Ez a cikk a szabványos tároláskezelést és particionálást hasonlítja össze a Logical Volume Manager (LVM) szolgáltatással. Ezenkívül bemutat néhány alapvető parancsot minden megközelítéshez.

Hagyományos tároláskezelés

A hagyományos tárolókezelés kifejezést használom az alap merevlemez-meghajtóról történő particionálás, formázás és tárolókapacitás beszerelésének folyamatára. Ezzel a szabványos particionálással szembeállítom a Logical Volume Manager vagy LVM nevű alternatív módszert.

A tárterület kezelése általában az egyes merevlemez-meghajtók maximális kapacitása alapján történik. Az eredmény az, hogy amikor a rendszergazda a tárhelyen gondolkodik, azt minden meghajtó alapján teszi. Például, ha egy szervernek három, egyenként 1 TB-os merevlemez-meghajtója van, a rendszergazda szó szerint veszi a tárhelyet, nekem három 1 TB-os meghajtóm van, amivel dolgoznom kell .

Kép
Rendszergazda a következő gondolatbuborékkal: "Három egy terabájtos merevlemezem van"
A rendszergazda az egyedi meghajtókapacitáson alapuló szabványos partíciókra gondol.
Kép
Három 1 TB-os merevlemez partíciókkal és csatlakozási pontokkal
Három 1 TB-os merevlemez partíciókkal és csatlakozási pontokkal. A partíciók teljes egészében az egyes merevlemez-meghajtókon találhatók.

Tekintsük át gyorsan a hagyományos tároláskezelést. Íme egy példa forgatókönyv:

1. Helyezzen be egy új merevlemez-meghajtót

Vásároljon egy terabájtos (1 TB) merevlemez-meghajtót, majd fizikailag telepítse a szerverre.

2. Particionálja a meghajtót

fdiskvagy gpartedgombbal hozzon létre egy vagy több partíciót. Fontos megjegyezni, hogy a partíciók nem fogyaszthatnak többet, mint a teljes 1 TB lemezkapacitás.

Példa fdiskparancs:

# fdisk /dev/sdb

Ebben a cikkben nem térek ki a szintaxisra fdisk, de feltételezzük, hogy egyetlen partíciót hoztam létre, amely a teljes 1 TB-os lemezt használja. A partíció /dev/sdb1.

Jelenítse meg a kapacitást a /proc/partitionsés a lsblktartalom használatával:

# cat /proc/partitions
# lsblk

3. Hozzon létre egy fájlrendszert

Hozzon létre egy fájlrendszert az új partíción a mkfsparanccsal. Használhatja az ext4 vagy az RHEL alapértelmezett XFS fájlrendszerét.

# mkfs.ext4 /dev/sdb1

Noha az XFS a Red Hat alapértelmezett beállítása, LVM-mel kombinálva nem biztos, hogy olyan rugalmas, mint az ext4 . Az XFS fájlrendszerek könnyen bővíthetők, de nem csökkenthetők. Ezt a gondolatot a cikk végén tovább fogom bővíteni.

4. Hozzon létre egy csatolási pontot

A folyamat többi része viszonylag szabványos. Először hozzon létre egy könyvtárat, amely csatolási pontként szolgál. Ezután manuálisan rögzítse a partíciót a rögzítési ponthoz.

# mkdir /newstorage
# mount /dev/sdb1 /newstorage

5. Erősítse meg a tárolókapacitást

duparanccsal ellenőrizze, hogy a tárhely elérhető-e és a várt méretű-e.

# du -h /newstorage

Megjegyzés : Az -hopció a kimenetet olyan dukapacitásban jeleníti meg, amely az emberek számára könnyen érthető, például GB vagy TB.

6. Állítsa be a rendszerindításkor felcsatolandó helyet

Szerkessze a /etc/fstabfájlt a fájlrendszer csatlakoztatásához a rendszerindításkor. Ha emlékeztetőre van szüksége a webhelyen /etc/fstab, tekintse meg Tyler Carrigan Bevezetés a Linux /etc/fstab fájlba című cikkét a Sysadmin engedélyezése oldalon.

Logikai kötetkezelő (LVM)

A hagyományos tárolókapacitás az egyedi lemezkapacitáson alapul. Az LVM más koncepciót használ. A tárterület kezelése a rendelkezésre álló meghajtók kapacitásának kombinálásával vagy összevonásával történik. A hagyományos tárolásnál három 1 TB-os lemezt külön-külön kezelnek. Az LVM esetében ugyanez a három lemez 3 TB összesített tárolókapacitásnak számít. Ez úgy érhető el, hogy a tárolólemezeket fizikai kötetként (PV) vagy az LVM által felhasználható tárolókapacitásként jelölik ki. A PV-ket ezután hozzáadják egy vagy több kötetcsoporthoz (VG). A VG-k egy vagy több logikai kötetbe (LV) vannak bevésve , amelyeket azután hagyományos partícióként kezelnek.

Kép
Rendszergazda gondolkodási buborékkal, amely így szól: „Három terabájtnyi tárhelyem van”
Az adminisztrátor az LVM-et teljes kombinált tárhelynek tekinti.
Kép
Red Hat diagram, amely három fizikai kötetet jelenít meg egyetlen kötetcsoportba kombinálva, két logikai kötettel a kötetcsoportból.
Három merevlemez-meghajtót egy kötetcsoportba egyesítenek, amelyet ezután két logikai kötetbe faragnak.

Forrás : Red Hat LVM Architecture Overview

1. Helyezzen be egy új merevlemez-meghajtót

Nyilvánvalóan rendelkezésre kell állnia egy tárolólemeznek. Ahogy fentebb láttuk, fizikailag telepítenie kell egy meghajtót a szerveren.

2. Jelölje ki a fizikai térfogatokat

A fizikai kötetek (PV) olyan lemezek vagy partíciók, amelyek potenciális tárolókapacitásként az LVM rendelkezésére állnak. Minden PV-t leíró azonosítókkal és metaadatokkal rendelkeznek. Érdekes megjegyezni, hogy a RAID-del ellentétben a PV-knek nem kell azonos méretűnek vagy azonos sebességű lemezeken lenniük. A PV-k létrehozásához keverheti és egyeztetheti a meghajtótípusokat. Az LVM megvalósításához először jelöljön ki egy meghajtót fizikai kötetként.

Parancs a PV létrehozásához:

# pvcreate /dev/sdb1
# pvcreate /dev/sdc

Ez a két parancspélda kissé eltér egymástól. Az első parancs a b tárolólemez 1. partícióját PV-nek jelöli ki. A második parancs a c tárolólemez teljes kapacitását állítja be PV-ként.

Kijelző PV kapacitás és további információk:

# pvdisplay

Ez a parancs megjeleníti a kiszolgálón konfigurált összes fizikai kötetet.

3. Kötetcsoportok kezelése

Ha egy vagy több lemez fizikai kötetként elérhető az LVM számára, a tárolókapacitás kötetcsoportokba (VG-k) egyesül. Egy szerveren több VG is lehet, és a lemezek egynél több VG-nek is lehetnek tagjai (de maguk a PV-k csak egy VG tagjai lehetnek).

vgcreateparanccsal hozzon létre egy új kötetcsoportot. A VG-nek legalább egy tagnak kell lennie. A parancs szintaxisa a következő:

vgcreate name-of-new-VG PV-members

A következő paranccsal hozzon létre egy vg00 nevű kötetcsoportot tagokkal /dev/sdb1és /dev/sdctagként:

# vgcreate vg00 /dev/sdb1 /dev/sdc

A vg00 nevű VG információinak megjelenítése :

# vgdisplay vg00

4. Logikai kötetek kezelése

A VG egy vagy több logikai kötetre (LV) osztható fel. Ezeket a logikai köteteket a rendszer ezután úgy használja, mintha hagyományos partíciók lennének. A VG teljes kapacitással rendelkezik, majd ennek egy részét a rendszer egy logikai kötethez rendeli.

lvcreateparancs tárolókapacitást farag a VG-ből. Van néhány lehetőség, amellyel tisztában kell lenni.

lvcreate lehetőségeket
választási lehetőség Leírás
-n LV neve – pl. értékesítési-lv
-L Méret G vagy T – pl. 10G
-q Csendes, elnyomja a parancskimenetet
-v Bőbeszédű mód további részletekkel

lvcreateparancs szintaxisa a következő:

lvcreate -L size -n lvname vgname

Ez a parancs egy sales-lv nevű 10 GB-os logikai kötet létrehozásához, amelyet a vg00 kötetcsoportból faragtak :

# lvcreate -L 10G -n sales-lv vg00

Mint emlékszik, a vg00 kötetcsoportot két fizikai kötetből /dev/sdb1és /dev/sdc. Összefoglalva tehát a /dev/sdb1és /dev/sdcvg00 kapacitását egyesítettük, majd ebből az összesített tárhelyből egy sales-lv nevű logikai kötetet faragtunk .

lvdisplayparancs segítségével megtekintheti a logikai kötet konfigurációját.

# lvdisplay /dev/vg00/sales-lv

5. Alkalmazza a fájlrendszert és állítsa be a csatolási pontot

Az LV létrehozása után a rendszer ugyanúgy kezeli, mint bármely más partíciót. Fájlrendszerre és csatolási pontra van szüksége, ahogy a fenti szabványos partíciókezelési szakaszban beállítottuk.

  1. Futtassa a mkfs.ex4parancsot az LV-n.
  2. Hozzon létre egy csatolási pontot a használatávalmkdir.
  3. Csatlakoztassa manuálisan a kötetet a mountparanccsal, vagy szerkessze a /etc/fstabfájlt, hogy a kötet automatikusan felcsatolható legyen a rendszer indításakor.
  4. df -hparanccsal ellenőrizze, hogy rendelkezésre áll-e a tárolókapacitás.

 

Méretezési kapacitás

Ebben a szakaszban láttuk az LVM konfigurációját, de valójában még nem láthattuk a sok előnyt. Az LVM konfigurációk egyik előnye a tárolási kapacitás egyszerű és gyors méretezhetősége. Általában természetesen a rendszergazdáknak fel kell lépniük (a kapacitás növelése). Érdemes megjegyezni, hogy az LVM segítségével a tárolási kapacitást is csökkentheti. Ez azt jelenti, hogy ha a tárkapacitás túl van lefoglalva (sokkal több tárhelyet konfigurált, mint amennyire szüksége volt), csökkentheti azt. Ebben a részben mindkét forgatókönyvet ismertetem.

Kezdjük a kapacitás növelésével.

Kapacitás növelése

Tárolókapacitást adhat a Logikai kötethez. Ez akkor hasznos, ha a felhasználók a vártnál több helyet foglalnak el. A folyamat meglehetősen logikus:

  1. Adjon hozzá egy lemezt, és állítsa be PV-ként.
  2. Add hozzá egy VG-hez.
  3. Adja hozzá a kapacitást az LV-hez, majd bővítse ki a fájlrendszert.

1. Telepítsen egy tárolólemezt, majd konfigurálja PV-ként

A kapacitás növeléséhez telepítsen egy új lemezt, és állítsa be PV-ként a fenti lépések szerint. Ha már van szabad lemezterület, akkor azt is biztosan használhatja.

Itt van egy emlékeztető a PV létrehozására vonatkozó parancsra:

# pvcreate /dev/sdb2

Ebben az esetben a lemezen lévő 2. partíciót jelölöm ki/dev/sdb új PV-nek.

2. Adjon helyet a VG-nek

Miután az új kapacitást kijelölték az LVM számára, hozzáadhatja a VG-hez, növelve a medence méretét.

Futtassa ezt a parancsot új PV hozzáadásához egy meglévő VG-hez:

# vgextend vg00 /dev/sdb2

Most a tároló medence nagyobb. A következő lépés a megnövelt kapacitás hozzáadása az adott logikai kötethez. A készlethez hozzáadott napelemes tárhely bármelyikét vagy egészét hozzárendelheti a meglévő LV-hez.

3. Adjon szóközt az LV-hez

Ezután adja hozzá az új VG tárhely egy részét vagy egészét a bővítendő LV-hez.

Futtassa a lvextendparancsot az LV adott méretre való kiterjesztéséhez:

# lvextend -L3T /dev/vg00/sales-lv

Futtassa a lvextendparancsot, hogy 1 GB helyet adjon a meglévő mérethez:

# lvextend -L+1G /dev/vg00/sales-lv

4. Bővítse ki a fájlrendszert, hogy elérhetővé tegye a tárolókapacitást

Végül bővítse ki a fájlrendszert. Az ext4 és az XFS is támogatja ezt a képességet, így bármelyik fájlrendszer megfelelő.

Válassza le a fájlrendszert a következő umountparanccsal:

# umount /newstorage

Itt van az ext4 alapparancsa :

# resize2fs /dev/vg00/sales-lv 3T

Csökkentse a kapacitást

A tárhely csökkentése kevésbé gyakori feladat, de érdemes megjegyezni. A folyamat a tárolás bővítésével ellentétes sorrendben megy végbe.

Megjegyzés : Az XFS fájlrendszerek valójában nincsenek zsugorítva. Ehelyett készítsen biztonsági másolatot a tartalomról, majd állítsa vissza egy újonnan átméretezett LV-re. Ehhez használhatja a xfsdumpsegédprogramot. Az ext4 fájlrendszer csökkenthető. Ez az a fájlrendszer, amelyre ebben a részben összpontosítok. Ahogy fentebb láttuk a fájlrendszer kiterjesztésekor, a kötetet le kell csatolni. A pontos parancs az LV nevétől függően változik.

# umount /dev/vg00/sales-lv

1. Csökkentse a fájlrendszert

Ezután használja a resize2fsparancsot a fájlrendszer méretének csökkentésére. Javasoljuk, hogy fsckaz ext4 fájlrendszereken futtasson, mielőtt összezsugorítja azokat. Javasoljuk továbbá, hogy készítsen biztonsági másolatot az LV-n lévő adatokról arra az esetre, ha valami váratlan történne.

Íme egy példa az ext4 fájlrendszer zsugorítására:

# resize2fs /dev/vg00/sales-lv 3T

Megjegyzés : A fájlrendszert nem lehet kisebbre kicsinyíteni, mint a rajtuk tárolt adatok mennyisége.

2. Csökkentse az LV-t

lvreduceparanccsal csökkentheti az LV számára lefoglalt tárterületet. Ez visszaadja a potenciális tárolókapacitást a VG-nek.

# lvreduce -L 2T vg00/sales-lv

Fontos felismerni, hogy a fenti parancs az sales-lvat 2T értéket állítja be . Nem távolít el két terabájtot a meglévő LV-ből. Két terabájtra konfigurálja az LV-t. lvreduceEgy nagyon hasonló paranccsal meg lehet mondani , hogy a meglévő kapacitásból le kell vonni egy bizonyos területet:

# lvreduce -L -2T vg00/sales-lv

Ebben az esetben egy -(kötőjelet) tettem a 2Tméret elé, jelezve, hogy azt a területmennyiséget szeretném levonni a meglévő sales-lvkapacitásból. A két parancs közötti különbség kicsi, de fontos.

Mostantól megvan a VG visszakapott kapacitása egy másik LV-ben való használatra. A kapacitás átcsoportosításához használhatja a korábban tárgyalt kiterjesztési parancsokat. A VG is zsugorítható.

Rugalmasság

A kapacitás az LVM segítségével is könnyen átcsoportosítható. Csökkentheti az egyik VG kapacitását, és hozzáadhatja egy másikhoz. Ez úgy érhető el, hogy összezsugorítjuk a fájlrendszert, majd eltávolítjuk az LV-t a VG-ből. Tegyük fel, hogy van egy 10 TB kapacitású szervere. A fenti folyamatok segítségével két, egyenként 5 TB-os LV-t hozott létre. Néhány hét múlva rájön, hogy 7 TB és 3 TB LV-ket kellett volna létrehoznia. Eltávolíthat 2 TB kapacitást az egyik kötetcsoportból, majd hozzáadhatja a másik VG-hez. Ez sokkal rugalmasabb, mint a hagyományos particionálás.

Az LVM támogatja a RAID konfigurációkat, a tükrözést és egyéb speciális beállításokat is, amelyek még vonzóbbá teszik a megoldást. Tyler Carrigan Logikai kötetek létrehozása Linuxban LVM segítségével című cikke jó információkat tartalmaz a logikai kötetek csíkozásáról és tükrözéséről.

Tekerje fel

A Logical Volume Manager nagyszerű módja annak, hogy rugalmasabbá tegye tárolási igényeit, és valójában nem sokkal bonyolultabb, mint a hagyományos meghajtókezelés. A Red Hat oldalán nagyszerű dokumentáció található , és nagyon hatékonyan foglalkoznak ezzel.

Az egyik dolog, amit nagyra értékelek az LVM-ben, az a logikai parancsstruktúra. A felügyeleti parancsok többsége kapcsolódó, ezért viszonylag könnyen megjegyezhető. Az alábbi táblázat lényege nem a parancsok összefoglalása, hanem az, hogy észrevegye, hogy a parancsok mindegyike nagyon hasonló, ezért felhasználóbarát:

Hasonló parancsokat használnak az LVM összetevők kezelésére
Parancs Leírás
pvcreate Fizikai kötet létrehozása
pvdisplay Fizikai kötetinformációk megjelenítése
pvs Fizikai kötetinformációk megjelenítése
pvremove Távolítsa el a fizikai kötetet
vgcreate Kötetcsoport létrehozása
vgdisplay A kötetcsoport információinak megjelenítése
vgs A kötetcsoport információinak megjelenítése
vgremove Kötetcsoport eltávolítása
vgextend/vgreduce Hangerőcsoport bővítése vagy csökkentése
lvcreate Logikai kötet létrehozása
lvdisplay Logikai kötetinformációk megjelenítése
lvs Logikai kötetinformációk megjelenítése
lvremove Távolítsa el a logikai kötetet
lvextend/lvextend Növelje vagy csökkentse a logikai hangerőt

Amikor legközelebb helyi fájlkiszolgálót állít fel, fontolja meg az LVM használatát a hagyományos tároláskezelési technikák helyett. Hónapokat vagy éveket köszönhet magának, mert módosítania kell a szerver tárolókapacitását.

0 hozzászólás

Egy hozzászólás elküldése

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

BiosLogikai kötetkezelő (LVM) a Linux szabványos particionálásával szemben