Kötetkezelés és hibatűrő adattárolás BSD platformon

Miután az elmúlt hónapokban olyan operációs rendszerekkel (Solaris, AIX) dolgoztam és dolgozom most is, ahol lehetőség nyílik a kötetek ill. fájlrendszerek on the fly, működés közbeni  átméretezésére, mindezt zero downtime-mal, azt hiszem, jogosan merült fel bennem a kérdés, hogy ezügyben mi a helyzet BSD fronton?

Nézzük meg mit is jelentene ez? Tegyük fel, van nekünk egy operációs rendszerünk, ami teszem azt, egy adatbázis szervert is futtat. Az adatbázisok maguk, nyilvánvalóan minimum egy külön partíción helyezkednek el.  Idővel azt észleljük, hogy a fájlrendszer a kapacitása vége felé jár. Jó esetben mi ezt idejekorán észrevesszük, van időnk végiggondolni, hogy mit tehetünk, mielőtt végleg megtelne a filerendszerünk, és ez az alkalmazásban is hibához, kieséshez vezetne.

Kötetkezelés és hibatűrő adattárolás  BSD platformon

Alapesetben nincs könnyű dolgunk, az adott szerverben meg kell növelnünk a tárterületet, pl. plusz merevlemez hozzáadásával, és a partíciók, kötetek átméretezésével. Sokszor ez nem szokott zökkenőmentes lenni: tervezett leállás, tervezés, néha 3rd party alkalmazás is szükséges lehet hozzá.

Vannak  azonban lehetőségek, melyek esetén a fájlrendszer átméretezése megoldható problémamentesen. Ilyen lehetőséget kínálnak kereskedelni szoftverek, de vannak szabad fejlesztések is, melyekkel ez áthidalható. A teljesség igénye nélkül példa mindegyikre:

  • AIX built-in LVM és jfs filesysteme
  • Solaris bult-in SVM (softpartíciókkal)
  • ZFS (volume manager és filesystem, free)
  • Veritas volume manager és VXFS filesysteme

A fentebb felsoroltak mindegyike képes legalábbis növelni a fájlrendszert, némelyik, megkötésekkel persze, de igény szerint csökkenteni is.

A BSD-k esetében, sajnos, nem vagyunk bővében az ilyen lehetőségeknek. Az egyedüli lehetőség a fentiek közül a ZFS, de egyelőre alaptelepítésben ez csak a FreeBSD-ben áll rendelkezésre a cikk írása idején (az Open- ill. NetBSD esetén portolható).  A ZFS-re, mint adattárolási megoldásra itt külön nem térnék ki: barátom és kollegám, Paluska Misi bloggazda nagyszerű cikkéből mindenki tájékozódhat, mire képes a ZFS.

Mi a helyzet a hibatűrő adattárolással? Itt már, szerencsére, sokkalta jobb a helyzet, ugyanis mindhárom BSD OS támogat alapértelmezetten valamilyen szintű RAID megoldást. Vegyük sorra ezeket:

FreeBSD:

  • vinum (a FreeBSD 5-ös verziójától a GEOM-nak megfelelően) mostmár gvinum (RAID 0,1,5 szintek támogatása)
  • GEOM (gmirror, gstripe, graid (RAID1, RAID0, RAID3 szintek támogatása))
  • ccd (concatenated disk driver: RAID0, RAID1, RAID5? )

Itt  megjegyezhetjük, hogy a gvinum volume-k, ha a fájlrendszer nem használt, tehát unmounted állapotban van, akkor növelhető, ilyen értelemben fél-online módon, és minimális donwtime-mal.

OpenBSD:

  • raidctl (RAID 0, RAID1 szintek), ez ki fog kerülni a támogatásból és felváltja a már létező bioctl
  • bioctl (RAID0, RAID1, RAID5 szintek) ez és az előző is támogatja rendszerindítóként is

NetBSD:

  • raidctl (RAID 0, RAID1 szintek)
  • bioctl (RAID0, RAID1, RAID5 szintek) ez és az előző is támogatja rendszerindítóként is

Összegzés:

BSD fronton a négy kilences rendelkezésre állásra, még úgy tűnik, várni kell, ami a dinamikus fájlrendszereket illeti. Hibatűrő adattárolásban viszont, mind stabilitásban, mind performancia tekintetében bátran odaállíthatjuk bármely más operációs rendszer szoftveres megoldásai mellé. Ezen RAID megoldások konfigurációja viszont egyszerűségben, átláthatóságban az élmezőnybe emeli őket.

Az elkövetkező cikkekben a felsorolt megoldások majd mindegyike bemutatásra kerül!