Diskuse nad typy ZFS vdev
Tento díl seriálu se bude týkat zamyšlení se nad typy vdevů a flexibilitou zfs.
Seriál o ZFS v FreeBSD
Tento článek je součástí krátkého seriálu o ZFS v FreeBSD
- Přidání disku
- Řešení vadného disku
- Zvětšení poolu
- Diskuse nad typy vdev (tento článek)
- Zvětšení vdevu mirror
Diskuse nad typy vdev
ZFS umí několik typů vdevů. Single (prostě jeden disk), mirror a dále raid-zX.
Single a mirror jsou jasné, raid-zX poskytuje odolnost vůči výpadkům až X disků (aktuálně tedy jednoho, dvěma, nebo třem).
Zdálo by se tedy výhodnější (z hlediska využití místa na disku) používat nějaký typ raid-z (tedy rychlý ekvivalent raid-5, nebo raid-6; pro raid-z3 není asi klasický ekvivalent).
Jenže ZFS umožňuje vdevy pouze přidávat (jednou přidaný vdev už z poolu prostě neodstraníte).
Edit říjen 2018: Tohle od FreeBSD 11.2 neplatí zcela, viz článek o odstranění vdevu.
Současně neumožňuje nijak měnit typy vdevů. (Single lze změnit na mirror a naopak, ale single disk na serveru asi nikdo příčetný používat nebude).
U vdev typu mirror lze postupně vyměnit disky za větší. Mirror umožňuje umístění klidně i tří disků, tedy zvětšení vdev typu mirror lze bezpečně provést přidáním třetího většího disku, resilveringu, odebrání starého malého disku a přdání druhého většího disku, a odebrání posledního malého disku. Takto lze mirror bezpenčně překopat na větší disky. Toto ovšem s raid-z udělat nelze. S raid-z se zkrátka pohnout nedá.
Dle mého názoru má raid-z výhodu u storage řešení, o kterých je dopředu jasné jakou mají mít velikost a případná změna není potřebná. Například pokud bych chtěl storage server, nacpu tam 8 4TB disků do raid-z2, tj 24TB místa. To na zálohy nějakou dobu postačí a za těch pár let stejně server půjde do důchodu a vedlě něj se postaví další.
Na druhou stranu, pokud chci dynamicky přidávat disky, tak jak jsem zvyklý třeba už od dob LVM, tak řešení raid-z je značně neflexibilní.
Z výše uvedených důvodů si tedy myslím, že nejlepší návrh storage nad ZFS je postupné přidávání mirror vdevů do poolu. Je to jednak velmi rychlé (chová se to podobně jako raid10) a v rámci ZFS je to nejflexibilnější řešení. (Přidat vdev, zvětšit vdev postupnou výměnou disků.)