Levyjärjestelmät

Network Attached Storage (NAS) viittaa yleensä yksittäiseen massamuistilaitteeseen kun taas Storage Area Network (SAN) on massamuistiverkko, joka rakentuu yhdestä tai useasta levyjärjestelmästä ja kytkimistä muodostaen tallennusverkon. Fibre Channel (FC) on teknologia joka yhdistää useita fyysisentason verkkostandardeja. FC-teknologian kanssa käytetään yleisesti valokuitukaapelointia, mutta myös kuparikaapelointia voidaan käyttää välimatkojen pysyessä lyhyinä. FC vaatii Fibre Channel host bus adapterin (HBA), eli oman fyysisen verkkokortin toimiakseen. HBA-korttien tuoman lisähinnan vuoksi FC:sta on kehitetty Fibre Channel over Ethernet (FCoE), joka ei vaadi erillisiä HBA-kortteja, mutta vaatii kytkimeltä tuen FCoE-protokollalle.

Internet Small Computer Systems Interface (iSCSI) on protokolla, joka siirtää tietoblockeja TCP/IP-kerroksessa iSCSI initiatorin (palvelin) ja targetin (massamuisti) välillä. iSCSI toimii joko FC-teknologiaan käyttävissä verkoissa tai perinteisissä IP-verkoissa. iSCSI-targetit näyttäytyy hostille block-laitteena, eli fyysisenä massamuistina. Network File System (NFS) on hajautetun levyjärjestelmän protokolla, jonka avulla asiakas pääsee käsiksi tiedostoihin verkon välityksellä. Server Message Block (SMB) mahdollistaa muun muassa tiedostojen ja tulostimien jaon verkon yli. NFS on yleinen UNIX-järjestelmissä ja SMB Windows-järjestelmissä. Yksinkertaisuudessaan NFS ja SMB ovat protokollia jotka jakavat palvelimella tai levyjärjestelmässä sijaisevan tiedostojärjestelmän verkossa oleville koneille.

Nykyiset levyjärjestelmät ovat hyvin vahvasti ohjelmistopohjaisia, joissa redundanttisuus ja muut toiminnot on luotu ohjelmistolla. Esimerkiksi Dellin SC-sarjan levyjärjestelmissä levyt näyttäytyvät yhtenä tallenne-varantona, jonka RAID-toiminnot, levytyypit, ja nopeudet ovat virtualisoitu. Levyt on ryhmitelty nopeuden mukaan kolmeen Tier-tasoon. Tier 1 on nopein ja Tier 3 hitain. SC virtualisoi levytilan tallennetyypeiksi. Tallennetyyppi on varanto(hakemisto) tallennustilaa yhdellä tietolohkolla ja tietyllä redundanttisuudella. Storageprofiili määrittelee kuinka Data Progression siirtää tietolohkoja Tier-tasojen välillä. Data Progression siirtää tietolohkoja Tierien ja levyjen välillä, sekä useiden RAID-tasojen välillä samalla Tier-tasolla. Järjestelmä arvioi levyn käyttöä 24h välein ja Data Progression siirtää tietolohkoja automaattisesti tasojen välillä, niin että usein käytetty tieto siirretään tehokkaammalle tasolle.

Alla olevassa taulukossa näkyy levytyypeille määriteltävät tyypilliset Tier-tasot. Taulukossa on vain osa Tier-tasoista, ja erilaiset kombinaatiot ovat mahdollisia.


Levytyyppi:Tyypillinen TierHuomioitavaa
SSD-write intensive (SSD-WI)Tier 1Tarjoaa parhaan suorituskyvyn.
SSD-read intensive (SSD-RI)Tier 2Tarjoaa hyvän luku- ja kirjoitussuorituskyvyn. Käytetään Tier 1-tasona, SSD-WI:n puuttuessa.
SSD (Muut)Tier 1Käytetään kun SSD-WI:tä ei tarjolla. Muussa tapauksessa mikä tahansa Tier-taso.
15K HDDTier 1Käytetään kun SSD:ä ei tarjolla. Muussa tapauksessa Tier 2 tai Tier 3.
10K HDDTier 2Voidaan käyttää Tier 1-tasolla, jos suorituskykyisempää levytyyppiä ei ole tarjolla. Myös Tier 3 on mahdollinen joissakin tapauksissa.
7.2 HDDTier 3Käytetään ainoastaan Tier 1-tasolla, kun muita levytyyppejä ei ole saatavilla.

SC4020 RAID-vaihtoehdot ovat:
• Non-redundant: Käyttää RAID 0-tasoa. Tieto on lomitettu levyjen kesken, mutta ei tarjoa redundanttisuutta. Jos yksi levy hajoaa, kaikki tieto katoaa.

• Single-redundant: Suojaan yhden levyn vikaantumiselta.
- RAID 10 (Jokainen levy on peilattu)
- RAID 5-5 (Tieto lomitettu 5 levylle)
- RAID 5-9 (Tieto lomitettu 9 levylle)

• Dual-redundant: Suojaan kahden levyn vikaantumiselta.
- RAID 10 dual mirror (Tieto on kirjoitettu kolmelle eri levylle)
- RAID 6-6 (4 tietosegmenttiä, 2 pariteettisegmenttiä jokaiselle lomitukselle)
- RAID 6-10 (8 tietosegmenttiä, 2 pariteettisegmenttiä jokaiselle lomitukselle)

• Jos käytettävissä on spare disk: Spare disk korvaa viallisen levyn, ja tieto rekonstruktioidaan levylle.
• Jos käytettävissä ei ole spare diskiä: Tieto on saatavissa, mutta pakka toimii vajaana.

• Jos toinen levy vikaantuu vajaasta RAID 10- tai RAID 5-pakasta: Kahden levyn vikaantumisesta selviämisen mahdollisuus on sitä suurempi, mitä enemmän pakassa on levyjä. Tämä ei kuitenkaan takaa tiedon saatavuutta. Jos toinen levy vikaantuu, ja tämä levy vaaditaan vikaantuneen levyn uudelleen rakentamiseen, järjestelmä pysäyttää kaiken I/O-liikenteen, koska tieto ei ole saatavissa.
• Jos toinen levy vikaantuu vajaasta RAID 6- tai RAID 10-DM -pakasta: Levyjärjestelmä jatkaa toimintaansa vajaana, kunnes vikaantuneet levyt on korvattu. Tieto rekonstruktioidaan spare diskeille. Jos ensimmäinen palautusoperaatio on käynnissä, järjestelmän suorituskyky voi laskea hetkellisesti. Levyjen rekonstruktion jälkeen suorituskyky palaa normaaliksi.

RAID5-5

KUVIO 1. RAID5-5 järjestelmässä blockien ja p-pariteettien lomitus



RAID6-6

KUVIO 2. RAID6-6 järjestelmässä blockien sekä p- ja q-pariteettien lomitus



Levytilan hyötysuhde RAID-tasoilla saadaan poistamalla levyjen kokonaismäärästä kaikki pariteetti- ja peililevyt, ja jakamalla levymäärä levyjen kokonaismäärällä.

Hyötysuhde

KUVIO 3. RAID-tasojen työtysuhde

Perinteisesti levyohjaimet ja levyt toimivat siten, että tieto ja tarkistussumman säilytetään yksikkönä. Ohjainten ongelma on yleisesti ollut, että tiedon eheyttä ei tarkisteta levylle kirjoittamisen jälkeen. Laiteohjelmistonvirheen vuoksi ohjain voi ilmoittaa käyttöjärjestelmälle, että tieto on kirjoitettu, mutta todellisuudessa levylle ei ole kirjoitettu mitään. Sen sijaan levyllä on vanhan tieto ja tarkistussumma jotka täsmäävät. Asiaa voidaan ajatella vaikkapa näin: Tietokonekauppiaalla on varastossa 10 tietokonetta. Hän myy niistä kaksi ja saldo päivitetään varastojärjestelmän tietokantaan. Levyohjain ilmoittaa, että homma OK, mutta todellisuudessa saldo on jäänyt päivittämättä. Näin ollen saldoksi ilmoitetaan varastojärjestelmässä 10kpl, kun todellisuudessa tietokoneita on kahdeksan. Tällaista virhettä kutsutaan levyjärjestelmissä phantom writeksi. Tämä ei ole suuri ongelma fyysisten laitteiden myynnissä vuosittaisen inventaariokorjauksen vuoksi, mutta kun asiaa ajatellaan esimerkiksi panona pankkitilille, niin oikean tiedon jäljittäminen voi olla haasteellista, etenkin jos sama virhe tapahtuu miljoonille tapahtumille.

Levyjärjestelmissä esiintyy erilaisia virheitä:
- Ohjelmistovirheitä ajureissa, tiedostojärjestelmässä, ohjelmistoRAIDissa. Virheitä ohjaimen tai levyn firmwaressa.
- Blokille tallennettu tieto on virheellistä.
- Levy ei havaitse virhettä.
- Phantom write.
- Blokille kirjoitettu tieto on korruptoitunut.
- Blokilla oleva tieto muuttuu.
- Tieto on kirjoitettu väärälle blokille.
- Blokille kirjoitettu tieto on kirjoitettu vain osittain, mutta ohjain ilmoittaa onnistuneesta kirjoituksesta.


Levyjen kapasiteetin kasvaessa RAID-pakan rekonstruktioajat muodostuvat pullonkaulaksi. RAID5-järjestelmää ei enää nykyaikana tule käyttää, koska levyjärjestelmä kestää vain yhden levyn vikaantumisen. Vaikka järjestelmässä olisi spare-levy ja RAID5-pakan levy hajoaa, niin tiedon uudelleen rakentaminen usean teran levylle kestää päiviä, pahimmassa tapauksessa viikkoja, jolloin tiedon menetyksen riski kasvaa suureksi. Esimerkiksi Dell ilmoittaa SC-järjestelmässä SAS15K-levyn rebuild tehoksi n. 3.5TB/päivä kevyellä kuormituksella RAID6-10-pakalla. On hyvin todennäköistä, että ensimmäisen levyn hajotessa hajoaa myös toinen levy. Levyjen kapasiteetin kasvaessa ja todennäköisyys useamman levyn samanaikaiselle vikaantumiselle tekee jopa RAID6-järjestelmästä riskialttiin. Myös järjestelmän suorituskyvyn aleneminen täytyy ottaa huomioon, kun RAID-pakkaa uudelleen rakennetaan.

Levyjärjestelmien ja useiden tiedostojärjestelmien ongelmana on, että ne eivät kykene kaikkien tasojen läpi suoritettavaan I/O-operaation varmentamiseen.