Hardware RAID Vs. Software RAID

How to Protect Your Data Using ZFS

Kysymys, joka usein kysytään palvelinalalla, on: ”Kumpi on parempi – ohjelmisto RAID vai laitteisto RAID?”. Jos tutkit tätä aihetta, monet RAIDia koskevat tiedot viittaavat siihen, että laitteisto- RAID-kortti on parempi kuin ohjelmisto- RAIDin käyttö. En kuitenkaan ole samaa mieltä. Olen sitä mieltä, että useimmissa sovelluksissa Software RAID on paljon parempi kuin Hardware RAID. Laitteisto-RAIDilla on paikkansa tietyissä käyttöjärjestelmissä, mutta aion kertoa, miksi ohjelmisto on yleensä paljon parempi.

Laitteisto-RAIDin suosiminen ohjelmisto-RAIDin kustannuksella on peräisin ajalta, jolloin laitteisto ei vain ollut tarpeeksi tehokas käsittelemään ohjelmisto-RAIDin käsittelyä kaikkien muiden tehtävien ohella, joihin sitä käytettiin. Silloin ratkaisu oli käyttää laitteiston RAID-korttia, jossa oli sisäänrakennettu prosessori, joka hoiti RAID-laskennan ”offline”. Se näyttäytyi tietokoneen käyttöjärjestelmälle yhtenä levynä, ja sisäisesti se käsitteli tietoja, jotka siirtyivät useisiin tallennuslaitteisiin (kiintolevyihin) ja niistä pois. Näin asiat sujuivat sujuvasti ja samalla hyödynnettiin RAID-järjestelmän turvallisuutta.

Hardware RAID on edelleen suosittu joidenkin ihmisten keskuudessa, ja monet nykypäivän laitteisto-RAID-kortit tarjoavat huippusuorituskykyä ja keventävät samalla suorittimen kuormitusta, mutta siinä on silti joitakin vakavia ongelmia ja haittoja:

  • Haasteet tietojen palauttamisessa, kun tapahtuu suuria vikoja
  • Käytössä olevat/niin standardoidut protokollat, jotka merkitsevät sitä, että joukkoratsiosi toimii vain saman laitteisto-RAID-kortin kanssa. Et voi kytkeä kiintolevyjoukkoasi mihin tahansa RAID-korttiin ja odottaa sen lukevan tietojasi.
  • Hardware-RAID:lla on kyky ottaa joukko kiintolevyjä ja saada se näyttämään yhdeltä kiintolevyltä. Tämä arkkitehtuuri on yksinkertaisuudessaan tyylikäs. Tämä kuitenkin myös estää olennaisesti ominaisuuksien integroinnin käyttöjärjestelmään ja tiedostojärjestelmään. Tämä integrointi on oikeastaan se, mikä on mahdollistanut sen, että ohjelmisto-RAID on dramaattisesti ohittanut laitteisto-RAIDin.

Missä uskon meidän olevan nyt

Kaksi asiaa tapahtui, jotka hyödyttivät ohjelmisto-RAIDia laitteisto-RAIDiin nähden ja antoivat sille mahdollisuuden nousta johtoasemaan. Laskentateho kasvoi niin radikaalisti, että RAIDin aiheuttama laskentakuorma ei ole enää merkittävä. Toiseksi RAID-ohjelmistojen vahvuus, ominaisuudet ja integrointi ovat kasvaneet dramaattisesti.

Hardware RAID tarjoaa edelleen vankkoja ja yksinkertaisia arkkitehtuuriratkaisuja useiden asemien yhdistämiseen RAID-matriisiksi ja niiden esittämiseen käyttöjärjestelmälle yhtenä laitteena. Tämä on erityisen hyödyllistä MS Windowsissa, jossa ohjelmisto-RAID on tuskallisen hidas. Siihen liittyy kuitenkin edelleen tietoturvariski, koska on käytettävä identtistä (tai yhteensopivaa) ohjainta tietojen palauttamiseksi laitteistovian sattuessa.

Ohjelmistopuolella nykypäivän ohjelmisto-RAID on huippunopea (ainakin Linuxissa ja BSD:ssä), erittäin joustava ja hyvin integroitu käyttöjärjestelmiin. Se on myös paljon kyvykkäämpi ja tehokkaampi toipumistilanteissa kuin hardware RAID. Tietojesi palauttamiseksi tarvitset vain toisen tallennuspalvelimen, jossa on sama käyttöjärjestelmä. Sen jälkeen vaiheet ovat yksinkertaisia, kytke vain asemat ja ryhdy töihin – sinun pitäisi pystyä toipumaan lähes kaikista tilanteista, joissa tietojen menetys ei ole ylittänyt perustavanlaatuisia rajoja.

On selvää, että tietokoneet ja ohjelmistot ovat kulkeneet todella pitkälle, ja on yhä selvempää, että ohjelmistomuotoinen RAID tulee olemaan yhä yleisempi ajan myötä.

ZFS-tiedostojärjestelmä ja volyyminhallinta

Menemme nyt perehtymään yhteen suosikkitiedostojärjestelmistämme ja volyyminhallinnoistamme, ZFS:ään. Puhumme joistakin ominaisuuksista, jotka tekevät ZFS:stä ainutlaatuisen, ja annamme sitten esimerkin eräältä asiakkaaltamme, joka säästi paljon rahaa, koska hän käytti ZFS:ää ohjelmisto-RAIDin kanssa.

Pidän ZFS:stä, koska sen avulla voidaan kiertää monet ongelmat, joita saattaa esiintyä perinteisiä RAID-kortteja käytettäessä. Esimerkiksi sen sijaan, että laitteiston RAID-kortti saisi ensimmäisenä haltuunsa asemat, ZFS käyttää JBOD-korttia, joka ottaa asemat ja käsittelee niitä sisäänrakennetulla volyyminhallinnallaan ja tiedostojärjestelmällään. Tämä antaa ZFS:lle paremmat mahdollisuudet ohittaa jotkin laitteiston RAID-kortteihin yleensä liittyvät haasteet. Tämän hallinnan ja toiminnallisten ominaisuuksiensa ansiosta ZFS pystyy käsittelemään virheitä erittäin hyvin. Nämä ominaisuudet, kuten Copy on Write, Snapshots, käytännössä ääretön skaalautuminen, itsekorjautuminen tarkistussummien avulla ja sisäänrakennettu virtualisointi tallennuspoolillesi, antavat ZFS:lle ylimääräistä kestävyyttä.

ZFS:llä on oma tapansa jäsentää uusia kirjoituksia nimeltä Copy on Write. Tämä eroaa tavasta, jolla useimmat volyyminhallintajärjestelmät jäsentävät uudet kirjoitukset. Normaalisti kun muutosta tai uutta dataa kirjoitetaan, se kirjoitetaan vanhan datan päälle. Jos kirjoituksen aikana kuitenkin tapahtuu sähkökatkos, tiedot voivat kadota. Sen sijaan, että ZFS kirjoittaisi vanhan datan päälle, se kirjoittaa datan uuteen paikkaan ja kopioi polun yli. Tämä tarkoittaa, että tiedot eivät katoa, jos virta katkeaa kirjoituksen aikana. Se antaa ZFS:lle myös mahdollisuuden toiseen sen hyödyllisimpiin ominaisuuksiin; tilannekuviin (Snapshots).

Tilannekuvat ovat lähinnä aikaleimoja, jotka osoittavat, mikä datan polku oli tietyssä vaiheessa menneisyydessä, ja ne tallennetaan omaan taulukkoonsa erillään datasta. Koska ZFS ei korvaa dataa, vaan kirjoittaa sen uuteen paikkaan, voit palata aiempaan aikaleimaan, se toimii melkein kuin varmuuskopio. Tilannekuvissa on kuitenkin paljon vähemmän yleiskustannuksia kuin todellisessa varmuuskopioinnissa, sillä täydellinen varmuuskopiointi edellyttää tietojen kopiointia. Tilannekuvat voidaan ottaa siihen verrattuna nopeasti ja helposti.

ZFS:llä on myös uskomaton kyky parantaa itsensä kirjoitusvirheistä, datan korruptoitumisesta tai bittimädäntymisestä. Se analysoi tarpeettomiin paikkoihin tallennetut tiedot tarkistussummien avulla ja korjaa itsensä epäjohdonmukaisuuksien perusteella. Siinä on myös perinteiset RAID-toiminnot, joissa käytetään peilausta, raidoitusta ja pariteettitarkistuksia. Kun käytetään laitteiston RAID-korttia, levyn kunnon tarkistusohjelma peittyy, kun levyt kytketään siihen. Tämä on ongelma, koska et näe uhkaavia merkkejä siitä, että jokin levyistä on menossa epäkuntoon. ZFS kiertää tämän, koska se ei kirjoita levyille mitään operaatioita ennen kuin ne esitetään käyttöjärjestelmälle.

Asiakkaan tapausesimerkki

Me kaikki teemme virheitä, jotkut niistä voivat olla kalliimpia kuin toiset. Eräs asiakkaamme, joka käytti ZFS:ää Storinatorissaan, joutui muuttamaan toimistojaan eikä ottanut kiintolevyjä pois ennen muuttoa ja jotenkin vahingoitti levyjä muuton aikana.

Kun asiakas yritti käynnistää Storinatorin ja tuoda ZFS-poolin – osa kiintolevyistä oli vahingoittunut ja osa oli väärässä paikassa – jopa metatietoja oli vioittunut. Koska asiakas kuitenkin käytti ZFS:ää, hän pystyi rakentamaan poolin uudelleen kohtuullisen helposti.

Tukitiimimme täällä 45Drivesilla pystyi manuaalisesti tuomaan poolin huonontuneena. Kun pooli oli sisällä, pystyimme lisäämään uusia asemia, pyyhkäisemään poolin ja asiat palautuivat normaaliksi.

Pystyimme tähän vain ZFS:n joustavuuden ansiosta, mutta tämä ei olisi ollut mahdollista, jos asiakkaamme olisi käyttänyt laitteiston RAIDia, koska se on paljon herkempi komponenttivioille. Jos hän olisi käyttänyt laitteisto-RAIDia, olisi ollut suuri mahdollisuus, että hänen tietonsa olisivat hävinneet – ilman jonkinlaista kallista palautusta.

Yhteenveto
Jos tarvitset äärimmäistä turvallisuutta, ominaisuuksia ja suorituskykyä, ohjelmisto-RAID on vastaus. Huomaa, että sinun on käytettävä suorituskykyistä käyttöjärjestelmää, kuten Linuxia tai BSD:tä; ja jos teet niin, sinun kannattaa todella harkita ZFS:ää. Uncategorized admin12:03 p.m.

Vastaa

Sähköpostiosoitettasi ei julkaista.