Logikai kötetkezelő (LVM) a Linux szabványos particionálásával szemben
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 .
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
A fdisk
vagy gparted
gombbal 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 fdisk
parancs:
# 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 lsblk
tartalom 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 mkfs
paranccsal. 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
A du
paranccsal ellenőrizze, hogy a tárhely elérhető-e és a várt méretű-e.
# du -h /newstorage
Megjegyzés : Az -h
opció a kimenetet olyan du
kapacitá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/fstab
fá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.
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).
A vgcreate
paranccsal 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/sdc
tagké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.
A lvcreate
parancs tárolókapacitást farag a VG-ből. Van néhány lehetőség, amellyel tisztában kell lenni.
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 |
A lvcreate
parancs 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/sdc
a vg00 kapacitását egyesítettük, majd ebből az összesített tárhelyből egy sales-lv nevű logikai kötetet faragtunk .
A lvdisplay
parancs 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.
- Futtassa a
mkfs.ex4
parancsot az LV-n. - Hozzon létre egy csatolási pontot a használatával
mkdir.
- Csatlakoztassa manuálisan a kötetet a
mount
paranccsal, vagy szerkessze a/etc/fstab
fájlt, hogy a kötet automatikusan felcsatolható legyen a rendszer indításakor. - A
df -h
paranccsal 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:
- Adjon hozzá egy lemezt, és állítsa be PV-ként.
- Add hozzá egy VG-hez.
- 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 lvextend
parancsot az LV adott méretre való kiterjesztéséhez:
# lvextend -L3T /dev/vg00/sales-lv
Futtassa a lvextend
parancsot, 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ő umount
paranccsal:
# 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 xfsdump
segé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 resize2fs
parancsot a fájlrendszer méretének csökkentésére. Javasoljuk, hogy fsck
az 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
A lvreduce
paranccsal 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-lv
at 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. lvreduce
Egy 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 2T
méret elé, jelezve, hogy azt a területmennyiséget szeretném levonni a meglévő sales-lv
kapacitá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:
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