RAID

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(RAID szintek: RAID10 pontosítás)
(Ajánlott irodalom: Új irodalom: Tomka Gergely)
120. sor: 120. sor:
 
** Van benne szép ábra is, nem akar esetleg valaki hasonlót rajzolni nekünk?
 
** Van benne szép ábra is, nem akar esetleg valaki hasonlót rajzolni nekünk?
 
** [http://66.249.93.104/search?q=cache:yPLBqrcg6UEJ:www-static.cc.gatech.edu/classes/cs4760_98_fall/papers/raidShort.ps+%22in+recent+years,+interest+in+RAID%22&hl=hu&gl=hu&ct=clnk&cd=1&client=firefox-a Ugyanez a cikk HTML-ként]
 
** [http://66.249.93.104/search?q=cache:yPLBqrcg6UEJ:www-static.cc.gatech.edu/classes/cs4760_98_fall/papers/raidShort.ps+%22in+recent+years,+interest+in+RAID%22&hl=hu&gl=hu&ct=clnk&cd=1&client=firefox-a Ugyanez a cikk HTML-ként]
  +
  +
* Tomka Gergely: [http://gergely.tomka.hu/raidenbd/raidenbd.html RAID és ENBD - gyakorlati útmutató]. Könnyed bevezetés a [[RAID]], az [[Logikai kötetkezelés|LVM]] és az [http://www.it.uc3m.es/~ptb/nbd/ ENBD] (Enhanced Network Block Device) használatába.

A lap 2006. szeptember 27., 12:59-kori változata

Redundant Array of Inexpensive/Independent Disks.

Tartalomjegyzék

1 Mire jó?

  • Sok kis diszk helyett egy nagyot látunk
    • Ami ráadásul gyorsabb is
    • És megbízhatóbb is
      • És jobb esetben működés közben cserélhető
      • Egy diszk MTFF-je 200000 óra is lehet
      • Akkor 100 diszké 2000 óra (kb. két és fél hónap)

2 Megvalósítás típusai

  • Hardware
    • Drága vezérlő
  • Software
    • pl. Linux md
    • Windows dynamic disk (?)
  • Hibrid
    • Olcsó alaplapok "RAID"-vezérlői

3 RAID szintek

  • Két ortogonális fogalom:
    • Csíkozás (striping) a nagyobb teljesítmény, és
    • Redundancia (redundancy) a nagyobb megbízhatóság érdekében.
  • Másfelől: nagy, megbízható, gyors - ebből választhatunk kettőt (vagy legalábbis az egyik kicsit mindig háttérbe szorul a másik kettő javára)
  • Csíkozás:
    • Lehet finom vagy durva
    • Rövidebb sorbanállás független I/O műveletek esetén
    • Nagyobb effektív átviteli sebesség egyetlen, több-blokkos I/O művelet esetén
    • Csökkenti a megbízhatóságot: 10 diszkből egy várhatóan pontosan tizedannyi idő alatt romlik el, mint egyből egy
  • Redundancia:
    • Milyen hibadetektáló/-javító kódot használ? (általában paritás, ritkábban Hamming vagy Reed-Solomon)
    • Hogyan osszuk el a redundáns információt a több diszk között?
      • Koncentráltan
      • Szétterítve

3.1 RAID0

  • Nincs redundancia, csak csíkozás
  • A legjobb írási sebesség (nem kell kódokat számolgatni és frissíteni)
  • A RAID1 tudhat gyorsabban olvasni (több diszken is megvan ugyanaz az adat, tehát olvashatunk arról, amelyik várhatóan a leghamarabb odaér)
  • Egy diszk kiesése után a tömb "használhatatlan"

3.2 RAID1

  • Az adatokat nem 1, hanem n>1 diszken tároljuk
  • A tömbhöz tartozhat melegtartalék is (hotspare); erre nem íródnak az adatok, amíg éles diszk ki nem esik
  • Ha 8 diszkünk van, akkor 4 kapacitása hasznosul
    • Bármelyik kieshet, és a tömb még működik
    • Ha szerencsénk van, akár 4 is kieshet, és még működik, de ez már nem garantált

3.3 RAID2

  • Hamming kódos
  • 4 adatdiszkhez 3 paritásdiszk kell, de a paritásdiszkek száma az adatdiszkek logaritmusával arányos
  • A fenti hétből egy eshet ki, négy kapacitása hasznosul
  • Nemigen használják

3.4 RAID3

  • A memóriahibákkal ellentétben a diszkek esetében pontosan tudjuk, melyik a rossz, tehát nem kell a Hamming-kód, találhatunk jobbat
  • n adatdiszkhez 1 paritásdiszk tartozik
  • Minden írás minden diszket érint
  • Az olvasásban csak az adatdiszkek vesznek részt
  • Pontosan egy diszk eshet ki
  • Nemigen használják

3.5 RAID4

  • Mint a RAID3, de nem bitenként használja az egyes diszkeket, hanem blokkonként (striping unit, esetleg stride size).
  • Blokkméret alatti írási műveleteknél read-modify-write van:
    • a többi diszkről is be kell olvasni az adott paritásblokkhoz tartozó adatokat
    • újra kiszámolni a paritást
    • kiírni a módosított adatot és az új paritást
  • Mivel csak egy paritásdiszk van, és azt az összes írás érinti, szűk keresztmetszet lehet
  • Itt is pontosan egy diszk eshet ki
  • Nemigen használják

3.6 RAID5

  • Mint a RAID4, de a paritás is el van osztva
    • n diszk esetén minden diszken minden n-edik blokk paritásblokk
  • n+1 diszkből itt is n-nek a kapacitását hasznosítjuk
  • Minden diszk részt vehet az olvasási műveletek kiszolgálásában
  • Kis olvasás, nagy olvasás, nagy írás gyors; kis írás relatív lassú
  • Pontosan egy eshet ki
  • Széles körben elterjedt

3.7 RAID6

  • Reed-Solomon
  • n+2 diszk kell n diszknyi kapacitáshoz
  • Bármely két diszk kieshet
  • Amúgy olyan, mint a RAID5; a kis írás még egy kicsit lassúbb
  • Terjedőben

3.8 RAID1+0

  • RAID10-nek is hívják, de "van" "valódi" RAID10 is
  • Két (vagy több) RAID1 tömböt csíkozással összefűzünk

3.9 RAID0+1

  • Mint fent, de két RAID0-tömböt tükrözünk egymásra RAID1-gyel

3.10 RAID10

  • Elvileg egy RAID1+0-jellegű hibrid megoldás
  • Egy komplex tömb, nem két egymásra épített
  • Így aztán lehet az egésznek egy hotspare-je, ami bármelyik diszk kiesése esetén beállhat
  • A Linux kernel támogatja

4 Ajánlott irodalom

Személyes eszközök