2024. június 22., szombat

Gyorskeresés

Linux RAID10 kapacitásbővítése

Írta: | Kulcsszavak: Linux . RAID . extend . bővítés . RAID10

[ ÚJ BEJEGYZÉS ]

Nem biztos, hogy ez a legelegánsabb módszer, de a szóbajövő lehetőségeket megvizsgálva úgy láttam, hogy ez lesz a legegyszerűbb.
A metódusban relatíve kes mágia van, és különböző fórumokról és wikiről össze lehet vadászni, én is inkább art írom csak le, hogy meglegyen egyben, plusz hátha másnak is jól jön.

Adott volt egy szoftveres RAID10 kötet, lemezenként létrehozott partíciókkal, a partíciók összevonva md eszközzé
sd[abcd]1-ből lett md1, sd[abcd]2-ből md2, stb. Az egyszerűség kedvéért mondjuk azt, hogy nem erl a kötetről bootol a rendszerünk.
4db 500GB-s lemez, md4 összkapacitása 879GB volt, ez bizonyult skösnek, ert cseréltem le 4x1TB-ra. md1,2,3 maradt ugyanakkora.

Az elmélet egyszerű: egyesével kicserélni a lemezeket, minden csere után hagyni a rendszernek, hogy a kieső lemez helyére beszinkronizálja az újat, majd a végén megnövelni a partíciókat a lehetséges maximum méretre.

Nézzük a gyakorlatot.

Esr is minden lemez partíciós tábláját lementjük az egyszerű visszaáltás kedvéért.
# sfdisk -d /dev/sda > ~/sda_part_table
Ezt ha akarjuk minden lemezre megcsinálhatjuk, bár elvileg teljesen egyformák a lemezeink, rátok bízom, én kimentettem mindet (persze ugyanaz lett az eredmény).

Kiejtjük egyesével a partíciókat, majd törölk is őket a megfelelő kötetből
# mdadm --fail /dev/md1 /dev/sda1
# mdadm -r /dev/md1 /dev/sda1
# mdadm --fail /dev/md2 /dev/sda2
# mdadm -r /dev/md2 /dev/sda2
# mdadm --fail /dev/md3 /dev/sda3
# mdadm -r /dev/md3 /dev/sda3
# mdadm --fail /dev/md4 /dev/sda4
# mdadm -r /dev/md4 /dev/sda4

Ezután megkapjuk az értesítő emailt a FAIL eventekről, kikapcsoljuk a gépet, kicserélk a HDD-t és visszakapcsoljuk a gépet.

A kötetek összeszedik magukat három lábon, mi pedig nekiláthatunk az új lemez beillesztésének.
Esr is nézzük meg, hogy megvan-e, hol van? Ezt ki-ki sat módszerei szerint, én az egyszerűség kedvéért egy ls -l /dev/sd* paranccsal beértem, amelyik lemeznek nincs partíciója, az az új, ha ugyanoda dugtuk, ahol a régi volt, akkor jó ellyel ugyanaz az eszköz is marad, jelen esetben sda.

Töltsük rá vissza a korábbi sda partíciós tábláját
# sfdisk /dev/sda < ~/sda_part_table
Az sfdisk slni fog, hogy az utolsó partíció vége nem blokkhatáron van, nem baj, úgyis mindjárt kezelésbe vesszük.
Én cfdisk-párti vagyok, ha partíciókezelésről van szó, egyszerű, jólködik ésr szinte GUI-ja is van, de bármi más megteszi. Belépsz, törlöd az utolsó partíciót, létrehozol egy újat, a maximális mérettel és kész is.

Ezután az új lemezt beleadagoljuk a sánta köteteinkbe.
# mdadm --add /dev/md1 /dev/sda1
# mdadm --add /dev/md2 /dev/sda2
# mdadm --add /dev/md3 /dev/sda3
# mdadm --add /dev/md4 /dev/sda4

cat /proc/mdstat-tal tudjuk követni a resync álsát, aki nagyon mozgóképfetisiszta, az a watch -n 1 cat /proc/mdstat parancs setségével, másodpercenkénti frissítéssel, élőben követheti az izgalmakkal teli eseményt.

Ha minden rendben lezajlott, akkor GOTO10 és ejthetjük is kifelé sdb-t...

Miután mind a négy lemezünket kicserélk, jöhet az izgi rész: növeljük meg az md-ben lévő partíciót:
# mdadm --grow /dev/md4 --size=max
(ugyebár én csak atsó partíciót növeltem)
Mielőtt a partíció fölött a fájlrendszer méretét is megnövelnénk, még egyszer utoljára nézzünk rá a régi méretre egy df -h setségével
/dev/md4 879G 805G 75G 92% /media/Unity

Majd adjuk ki a parancsot, amire napok ótarunk:
# resize2fs /dev/md4
Aki ideges fajta, az ette válassza le a lemezt, én úgy hagytam, az ext4 online is megcsinálja.

Újabb df -h ésr láthatjuk is az eredményt
/dev/md4 1.8T 805G 991G 45% /media/Unity
Ez egy újabb resyncet fog indítani, ne ijedjünk meg, ez normális.

Ha ez is rendben lefutott, akkor innentől örömbódottá, ismét van hová pornót tölteni.

Bónusznak itt egy kép az én alanyomról :)

Hozzászólások

(#1) Jim Tonic


Jim Tonic
nagyúr

Nice work. Megkérdezhetem, minek neked ilyen szerverbe RAID10? Mármint nem tűnik enterprise db szervernek. :)

Alcohol & calculus don't mix. Never drink & derive.

(#2) Lenry válasza Jim Tonic (#1) üzenetére


Lenry
félisten

ez a projektszerver, ide dolgozik mindenki, milliónyi kicsi fájllal, ezért egyszerre volt fontos a biztonság és a sebesség

Gvella Glan! | There are two types of people: Those who can extrapolate from incomplete data

(#3) Jim Tonic válasza Lenry (#2) üzenetére


Jim Tonic
nagyúr

De akkor miért nem valami server mobo? :)

Alcohol & calculus don't mix. Never drink & derive.

(#4) Lenry válasza Jim Tonic (#3) üzenetére


Lenry
félisten

mert ez is tudja azt, amire szükségünk van -> rá tudok kötni 8 HDD-t

Gvella Glan! | There are two types of people: Those who can extrapolate from incomplete data

(#5) egykettő válasza Jim Tonic (#3) üzenetére


egykettő
aktív tag

A legtöbb esetben azért mert olcsó, gyorsan lehet cserélni ha baj van, ez a helyzet a softraiddel is :)

(#6) Jester01


Jester01
veterán

Szerintem egyszerűbb és biztonságosabb lett volna 2 lemezt kivenni (ugye a raid10 ezt elbírja) és akkor a kivett lemezek rögtön biztonsági mentésként szolgálnak. 2 új lemezt betéve új degraded tömböt létrehozva és fájl szinten másolva időt lehet spórolni mivel egyszerre fogja a 2 lemezt írni. Ráadásul ezzel elkerülhető a fájlrendszer átméretezés amitől én mindig nagyon ódzkodom és még az esetleges fragmentációra is jó hatással lesz. Ezután a másik 2 lemezt kicserélve már mehet egy resync.

Jester

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.