ZFS: Fogalmak és bemutató
Az OpenZFS használatával elkerülhetetlen az adatok integritása. Valójában nem lenne szerencsés, ha a ZFS-en kívül mást használ az értékes adatok tárolásához. Sokan azonban nem szívesen próbálják ki. Mivel a vállalati szintű fájlrendszer sokféle funkcióval rendelkezik, a ZFS-t nehezen lehet használni és adminisztrálni. Semmi sem állhat távolabb az igazságtól. A ZFS használata a lehető legegyszerűbb. Egy maroknyi terminológiával és még kevesebb paranccsal bármikor készen áll a ZFS használatára - a vállalattól kezdve az otthoni / irodai NAS-ig.
A ZFS készítőinek szavai szerint: „Olyan egyszerűvé akarjuk tenni a tárhely hozzáadását a rendszeréhez, mint az új RAM-kártyák hozzáadását.”
Később meglátjuk, hogyan történik ez. A FreeBSD 11-et fogom használni.Az alábbi tesztek elvégzéséhez a parancsok és a mögöttes architektúra hasonló az összes Linux disztribúcióhoz, amely támogatja az OpenZFS-t.
A teljes ZFS-verem a következő rétegekben helyezhető el:
- Tárhelyszolgáltatók - forgó lemezek vagy SSD-k
- Vdevs - A tárhelyszolgáltatók csoportosítása különféle RAID-konfigurációkba
- Zpools - A vdev-ek összesítése egyetlen tárolókészletbe
- Z-Filesystems - Adatkészletek kiváló funkciókkal, például tömörítéssel és foglalással.
Zpool alkot
Először kezdjük egy olyan beállítással, ahol hat 20 GB-os lemezünk van ada [1-6]
$ ls -al / dev / ada?
A ada0 az operációs rendszer telepítése. A többit erre a bemutatóra fordítják.
A lemezek neve a használt interfész típusától függően eltérő lehet. Tipikus példák: da0, ada0, acd0 és CD. Belenéz/ devötletet ad a rendelkezésre álló lehetőségekről.
A zpool által létrehozott zpool alkot parancs:
$ zpool hozza létre a OurFirstZpool ada1 ada2 ada3 # Ezután futtassa a következő parancsot: $ zpool status
Látni fogunk egy ügyes kimenetet, amely részletes információkat nyújt a medencéről:
Ez a legegyszerűbb zpool redundancia és hibatűrés nélkül… Minden lemez saját vdev-je.
Azonban továbbra is megkapja az összes ZFS jóságot, például ellenőrző összegeket minden tárolt adatblokkhoz, így legalább észlelheti, hogy a tárolt adatok sérülnek-e.
Fájlrendszerek, a.k.egy adatkészlet, a következő módon hozható létre a medence tetején:
A $ zfs létrehozza a OurFirstZpool / dataset1 fájlt
Most használja ismerősét df -h parancs vagy futtatás:
$ zfs lista
Az újonnan létrehozott fájlrendszer tulajdonságainak megtekintéséhez:
Figyelje meg, hogy a három lemez (vdevs) által kínált teljes terület hogyan áll rendelkezésre a fájlrendszer számára. Ez igaz lesz a készletben létrehozott összes fájlrendszerre, hacsak másképp nem határozunk meg.
Ha új lemezt szeretne hozzáadni (vdev), ada4, ezt megteheti a futtatással:
$ zpool add hozzá OurFirstZpool ada4
Most, ha látja a fájlrendszer állapotát
A rendelkezésre álló méret mára nőtt anélkül, hogy a partíció növelésével vagy a fájlrendszer adatainak biztonsági mentésével és helyreállításával különösebb gond lenne.
Virtuális eszközök - Vdevs
A Vdevs a zpool építőkövei, a redundancia és a teljesítmény nagy része attól függ, hogy a lemezeid hogyan csoportosulnak ezekbe az úgynevezett vdev-ekbe . Megtekinthetjük a vdevs legfontosabb típusait:
1. RAID 0 vagy Stripes
Minden lemez saját vdev-ként működik. Nincs adatredundancia, és az adatok eloszlanak az összes lemezen. Más néven csíkozás. Egyetlen lemez meghibásodása azt jelentené, hogy az egész zpool használhatatlanná válik. A használható tárhely megegyezik az összes rendelkezésre álló tárolóeszköz összegével.
Az első szakasz, amelyet az előző szakaszban hoztunk létre, egy RAID 0 vagy csíkos tároló tömb.
2. RAID 1 vagy tükör
Az adatok között tükröződnek nlemezeket. A vdev tényleges kapacitását az abban a legkisebb lemez nyers kapacitása korlátozza n-lemez tömb. Az adatok között tükröződnek n lemezek, ez azt jelenti, hogy ellenállhat a n-1 lemezeket.
Tükrözött tömb létrehozásához használja a tükör kulcsszót:
$ zpool tank tükör létrehozása ada1 ada2 ada3
A címre írt adatok tartály A zpool a három lemez között tükröződik, és a tényleges rendelkezésre álló tárhely megegyezik a legkisebb lemez méretével, amely ebben az esetben körülbelül 20 GB.
A jövőben érdemes lehet még több lemezt hozzáadni ehhez a készlethez, és kétféle dolgot tehet meg. Például a zpool tartály három lemeze tükrözi az adatokat egyetlen vdev mirror-0-ként:
Érdemes lehet plusz lemezt adni ada4, hogy ugyanazokat az adatokat tükrözze. Ez a parancs futtatásával tehető meg:
$ zpool tartály ada1 ada4
Ez egy extra lemezt adna hozzá a vdev-hez, amely már rendelkezik a lemezzel ada1 benne, de nem növeli a rendelkezésre álló tárhelyet.
Hasonlóképpen a futtatással leválaszthatja a meghajtókat a tükrökről:
$ zpool leválasztó tartály ada4
Másrészt érdemes hozzáadni egy extra vdev-et a zpool kapacitásának növeléséhez. Ez a zpool add paranccsal hajtható végre:
$ zpool tank tank tükör ada4 ada5 ada6
A fenti konfiguráció lehetővé tenné az adatok csíkozását a mirror-0 és a mirror-1 vdevs felett. Ebben az esetben vdevenként 2 lemezt veszíthet el, és az adatok továbbra is sértetlenek. A teljes felhasználható terület 40 GB-ra nő.
3. RAID-Z1, RAID-Z2 és RAID-Z3
Ha egy vdev RAID-Z1 típusú, akkor legalább 3 lemezt kell használnia, és a vdev csak az egyik lemez elpusztítását képes tolerálni. A RAID-Z konfigurációk nem teszik lehetővé a lemezek közvetlen csatolását a vdev-re. De további vdev-eket is felvehet a zpool hozzá, olyan, hogy a medence kapacitása folyamatosan növekedhet.
A RAID-Z2 vdevenként legalább 4 lemezt igényel, és legfeljebb 2 lemezhibát képes tolerálni, és ha a harmadik lemez meghibásodik, mielőtt a 2 lemezt kicserélnék, az értékes adatok elvesznek. Ugyanez vonatkozik a RAID-Z3-ra, amely vdevenként legalább 5 lemezt igényel, és legfeljebb 3 lemezt hibatűréssel, mielőtt a helyreállítás reménytelenné válik.
Hozzunk létre egy RAID-Z1 készletet és gyarapítsuk:
$ zpool tank létrehozása raidz1 ada1 ada2 ada3
A készlet három 20 GB-os lemezt használ, amelyek 40 GB-ot tesznek elérhetővé a felhasználó számára.
Újabb vdev hozzáadásához további 3 lemezre lenne szükség:
$ zpool tank hozzáadása raidz1 ada4 ada5 ada6
A teljes felhasználható adat jelenleg 80 GB, és akár 2 lemezt is elveszíthet (mindegyikből egy-egy), és még mindig reménye van a helyreállításra.
Következtetés
Most már elég sokat tud a ZFS-ről ahhoz, hogy minden adatait magabiztosan importálja. Innentől kezdve megnézheti a ZFS által kínált további funkciókat, például a nagy sebességű NVM-ek használatát az olvasási és írási gyorsítótárakhoz, az adatkészletek beépített tömörítését, és ahelyett, hogy elárasztaná az összes rendelkezésre álló lehetőség, csak keresse meg, amire szüksége van a adott felhasználási eset.
Közben van még néhány hasznos tipp a hardver kiválasztásával kapcsolatban, amelyet be kell tartani:
- Soha ne használjon hardveres RAID-vezérlőt a ZFS-sel.
- A RAM (ECC) hibajavítása ajánlott, de nem kötelező
- Az adat deduplikáció funkció sok memóriát emészt fel, inkább tömörítést használjon.
- Az adatredundancia nem alternatív a biztonsági mentéshez. Több biztonsági másolattal rendelkezzen, ezeket a biztonsági másolatokat a ZFS használatával tárolja!