SSD vs RAID Linux alatt

RAID manapság nemcsak a linuxos soft raid-del (md) hozható létre hanem LVM-mel és fájl rendszer szinten is. E tekintetben az md raid-et céloztam meg: az LVM-hez képest kiforrottabbnak tűnik, fájlrendszernek pedig ext4-et fogok használni.
Persze aki akar, az hozhat érveket a zfs, a btrfs meg az lvm mellett is.
A RAID kapacitása két SSD-nyi lesz. Eddig RAID10-ben mentek a jelenlegi HDD-k, hardware-es RAID vezérlő mögött. 4 SSD diszkből létre tudok hozni RAID10-et és RAID6-ot is. A használható lemezterület a kettő esetén hasonló. A RAID6 hibatűrése jobb, viszont adott esetben lassabban épül újra. Ami viszont a HDD-hez képest új szempont az SSD-nél, hogy fölösleges írás lehetőleg ne történjen. És itt elérkezünk a chunk size kérdéséhez. Vajon a RAID10 és a RAID6 között van-e eltérés a feleslegesen kiírt blokk-ok számát tekintve?

Bármilyen hasznos ötlet, tanács felmerül: ne kíméljetek.

BTW: követem az eseményeket és hallottam a nemrég lefülelt linux-os softraid bug-ról, ami fájl rendszer korrupciót okozott.

Köszönettel:
Dw.

Hozzászólások

én az SSD-t alul szoktam particionálni 10-20%-al, ennyivel is növelve a gyári "overprovision" értéket.
(már amelyik ezt támogatja - pl intel)

RAID10-nél 1 blokkra 1 tükrözött jut, tehát 1+1 írást jelent egy művelet és ehhez 0 olvasást.
RAID6-nál minden esetben 2 különböző parítást számolunk, tehát 1+2 írást jelent egy művelet, valamint a parítás számításához N-3 további járulékos olvasást is.
RAID6-nál figyelembe kell venni hogy a paritásblokkok sokkal nagyobb írási terhelést kapnak mint a többi. Ezt a lemezek között kiegyenlítik a paritásblokkok egyenletes kiosztásával, viszont a blokkok helye a lemezen belül nem változik. Ha az SSD belső elektronikája nem kezeli ezt le valamilyen áthelyezéses módon, akkor a paritásblokkok alatti chipek sokkal hamarabb el fognak hullani mint maga a lemez tenné.
RAID10 esetében nincs ilyen probléma blokkszinten, az írás eloszlása pont olyan amilyen a fájlrendszerből jön.

A RAID6 írás valóban 1+2 írás - de biztos az az N-3 olvasás? Nem lenne egyszerűbb csak fixen 3 olvasást használni? Ha beolvasom azt a szektort, amit felül akarok írni, meg beolvasom hozzá a két eredeti paritás szektort is, majd "kivonom" az eredeti szektort a paritás szektorokból, végül kibővítem azokat a szektor új tartalmával, akkor az N-3 helyett minden esetben 3 szektort kell beolvasni. Ez persze N<6 esetén több meló, N>6 esetén meg kevesebb és konstans. Azt se feledjük, hogy N minimum 4, ez alatt RAID6-nak nincs értelme! Persze nagy kérdés a megvalósítás: melyik módszert implementálták?

Ez a RAID10 vs RAID6, 1+1 vs 1.2 iras szerintem nem igy mukodik...

RAID10-nel vilagos, minden kiirt adat ketszer irodik le. Ez OK.

RAID6-nal viszont minden kiirt adathoz kell 2 paritast szamolni, de a kiirt adat mennyisege nem egysegnyi, az a diszkek szamaval no. Az altalad szamolt 1+2 csak 3 lemezre lenne igaz, ami RAID6-ra nem lenne eppen optimalis es bar elvileg lehetseges szerintem ezt senki nem tamogatja (mert akkor mar inkabb egy 3 lemezes RAID1). A fentiekben emlitett 4 diszkre viszont lehet 2 egyszegnyi adatot irni (mondjuk az eslo 2 lemezre) es azokhoz 2 egysegnyi paritast kell szamolni (a masodik 2-re), vagyis pont ugyanaz lesz a "hatasfok" 2 egysegnyi adathoz 2 egysegnyi plusz iras. Ha a RAID6-ban megtobb lemez van, akkor mar elonyosebb a RAID6 (szigoruan ebbol a szempontbol).

Egyebkent mashogy megkozelitve is ez jon ki, ha a teljes kapacitast (a diszkek osszeadott neyrs kapacitasat) a valosan hasznalhatoval hasonlitod. Ha egy huzamban vegigirom a RAID tombot, akkor valosan hasznalhato helynyi teruletre irhatok a "fenmarado" helyre kozben beirodik a masolat (RAID10 eseten) vagy a paritas (RAID6-nal). Marpedig ha a hasznos/teljes kapacitas a RAID10-re es RAID6-ra is ugyananyi, akkor nyilvan irni is ugyanannyit kell.

Iras kozben pedig olvasni egyaltalan nem kell. hiszen a memoriaban ott van a kiirando adat, ahhoz meg a memoriaban ki lehet szamolni a paritast, nem kell a diszkrol visszaolvasni.

Én jobban szeretem, ha a filerendszer csinálja a RAID-et.
Egyrészt ha újra kell építeni a tömböt, és a 100G-s RAID-en csak 20G adat van, akkor 20G-t fog másolni, másrészt a szorosabb integráció miatt a filerendszer+RAID jobban tud optimalizálni.

Sajnos nincs túl nagy választék:
* ZFS - érezhetően lassúbb Linuxon, mint pl. a BTRFS, viszont mindent tud, amit egy filerendszer csak tudhat;
* Btrfs - RAID5 és RAID6 még csak kísérleti állapotban (illetve úgy látom, attól már előrébb járunk) van.

Én az otthoni gépemen Btrfs-t használok.

Fuszenecker Róbert