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

  1. Přidání disku
  2. Řešení vadného disku
  3. Zvětšení poolu
  4. Diskuse nad typy vdev (tento článek)
  5. 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ů.)