Adatbiztonság

Az adatbiztonság (ill. adatvédelem) az adatok sérülését megakadályozó, a használhatóságát és bizalmas kezelését lehetővé tévő technológiák és módszerek összessége. A berendezések, adathordozók, a kommunikációs hálózat és a hozzáférések védelme kiemelt fontosságú az információs technológia területén.

Az adatmentés feladata tehát, hogy a váratlan hardware-meghibásodás, felelőtlen felhasználói beavatkozás, illetve szándékos károkozás esetén a rendszert és az adatokat a lehető legrövidebb időn belül, a legkevesebb költség kieséssel helyre tudjuk állítani.

Az egyik legfontosabb szintű védekezés a kiszolgálók védelme

A kiszolgálók (pl.: szerverek) üzem közben igen erős terhelésnek vannak kitéve. Ahol lehetőség van rá, a szervert, illetve szervereket klímatizált környezetben kell elhelyezni. A szervereket felügyeleten kívül más térbe (üzlet, iroda) csak végszükség esetén szabad tárolni.

A vállalat méretétől és típusától függő adatbiztonság: a 10+ gépes vállalatnál szerver esetén már feltétlenül ajánlott egy RAID és a rendszeres mentés szalagos egységre.

A RAID (Redundant Array of Independent Disks) fogalma azt jelenti, hogy az adatokat nem egy, hanem a RAID szintektől függően 2-5 merevlemezen tároljuk.

Több feladata is lehet egyszerre a szinttől függően:

  • Nagy tárterület létrehozása, a logikai diszk haladja meg az egyes fizikai lemezek méretét.
  • Redundancia, azaz nagyfokú hibatűrés, az egyes lemezek meghibásodásával szembeni tolerancia.
  • Teljesítménynövelés, az összekapcsolt lemezek együttes teljesítménye, haladja meg az egyes lemezekét (pl. írási és olvasási műveletek átlapolása).

RAID

A RAID (Redundant Array of Inexpensive Disk vagy Redundant Array of Independent Disks) napjaink egyik fontos technológiája. Lényegében több merevlemezes tömböknél (ún. disk array) alkalmazzák, aminek köszönhetően a lemezekre írt adatokhoz redundáns információkat is társítva lehetővé teszi azoknak helyreállítását bizonyos mennyiségű adat megsérülése esetén. A RAID technológia lényege a nevében is benne van: több független merevlemez összekapcsolásával egy nagyobb méretű és megbízhatóságú logikai lemezt hozunk létre.

A RAID születése:

A RAID koncepció megközelítőleg 20 éves múlttal rendelkezik. A Kaliforniai Egyetem számítástudományi tanszéke (University of California, Berkeley) 1987-ben dolgozta ki a RAID rendszert, melynek első célkitűzései csupán a két vagy több merevlemez összekapcsolása oly módon, hogy az a számítógép számára az egy darab logikai meghajtónak látszódjon(RAID 0). Majd ezt követően fejlesztések során 1-től 5-ig határoztak meg különböző szinteket (RAID levels), amelyek mind más és más elven valósítják meg az összekapcsolást, olyan szempontokat figyelembe véve mint a nagyobb kapacitás, nagyobb biztonság illetve nagyobb sebesség elérése. Akkoriban még az Inexpensive (olcsó) szót használták a rövidítésben, mára inkább az Independent (független) szerepel a mozaikszóban.

Szintek

A RAID-ben eredetileg 5 szintet (RAID1-től RAID5-ig) definiáltak. Az egyes szintek általában nem a fejlődési, illetve minőségi sorrendet tükrözik, hanem egyszerűen különböző megoldásokat javasolnak. A kezdeti 5 szinthez később hozzávették a RAID 6-ot. RAID 0-ként szokták emlegetni azt a változatot, ahol a diszkeket redundancia nélkül kapcsoljuk össze. Ezen kívül használjak még a RAID 10, vagy RAID 1+0 elnevezéseket is, amelyek a RAID 1 és a RAID 0 kombinálásával hoznak létre. Hasonlóan a RAID 50 a RAID 5 és a RAID 0 kombinációja. A RAID alapötlete a lemezegységek sávokra (stripes) bontása. Az itteni sávok nem azonosak a lemez fizikai sávjaival (tracks), amit az angol elnevezés különbözősége is jelez. A sávok minden diszken egyforma méretűek, amely 512 bájttól néhány megabájtig terjedhet. Az adatok nem folytonosan tárolódnak egy-egy diszken, hanem az egymást követő sávok mindig a sorban round-robin módon következő diszkre kerülnek. A sávok méretének megválasztása az alkalmazástól függ. Adatbázisok esetén úgy kell a sávméretet megválasztani, hogy egy rekord férjen el egy sávon belül, így a különböző diszkeken lévő rekordok párhuzamosan egyszerre elérhetővé (írási/olvasási műveletekkor) válnak, felgyorsítván a rendszer teljesítményét. Nagyméretű fájlok átvitele esetén viszont a sávok méretét minél kisebbre kell állítani, hogy az egyes fájlok a diszkeken mintegy “szétkenve” helyezkedjenek el, így a fájlok különböző diszkeken lévő egyes darabjainak írása, illetve olvasása párhuzamosan történhet.

RAID 0

A RAID 0 alkalmazza az egyes lemezegységek sávokra bontását, viszont semmilyen plusz redundanciát nem visz a rendszerbe, így nem biztosít hibatűrést, azaz egyetlen meghajtó meghibásodása az egész rendszer hibáját okozza. Mind az írási, mind az olvasási műveletek párhuzamosítva történnek. A módszer az összes RAID eljárás közül a legjobb teljesítményt nyújtja, ugyanis a többi módszernél a redundancia kezelése (mint majd látni fogjuk) lassítja a rendszert. A tárkihasználás a redundancia hiánya miatt szintén hatékony. A megoldás lehetővé teszi különböző kapacitású lemezek összekapcsolását is viszont ilyenkor a teljes logikailag elért kapacitás mindössze a kisebb méretű lemez kapacitásának a dupláját fogja jelenteni, tehát egy 120 GB kapacitású és egy 100 GB-os lemez összefűzésekor mindössze egy 200 GB méretű logikai meghajtót fogunk kapni. Természetesen lehetőség van akár 4 diszk összefűzésére is, de mint ahogy fent már említettük, redundancia hiányában a lemezek számának növelésével nő az adatvesztés veszélye is, mert itt elég egyetlen eszköz kiesése és már az egész adathalmaz használhatatlanná válhat, amit aztán csak nagyon bonyolult módszerekkel és meglehetősen kis eséllyel lehet csak helyreállítani. A RAID 0 főleg olyan helyeken alkalmazható, ahol nem szempont az adatbiztonság és csak kevés merevlemez csatolható fel az operációs rendszer korlátozása miatt, mint például a régebbi Microsoft Windows rendszerek összesen 24 meghajtó betűjelet tesznek elérhetővé, ezzel 24 eszközre korlátozva a partíciók számát. Az újabb rendszerek, mint a Windows 2000 Professional és az ezt követő Windowsok, valamint az Unix rendszerek már lehetőséget adnak a partíciók könyvtárként való definiálására, amivel tulajdonképpen kiváltható a tömb ilyen célú alkalmazása. A másik pozitív tulajdonsága viszont továbbra is csábító lehet olyan, kifejezetten csak játékra épített rendszereknél, ahol ezzel tetemes teljesítménynövekedést érhetünk el. Ilyen célú alkalmazásra mégsem túlajánlott, mivel az egyszer már összekapcsolt diszkek különálló alkalmazása csak újraszervezés után, a teljes adattartalom eltávolításával és újraformázással lehetséges.

RAID 1

A RAID 1 eljárás alapja az adatok duplikált tárolása, azaz tükrözése (disk mirroring). Az eltárolandó információ mindig párhuzamosan két meghajtón kerül felírásra, amely meghajtó párost a számítógép egy szimpla kapacitású logikai meghajtónak lát. Az adatok olvasása párhuzamosan történik a két diszkről, felgyorsítván az olvasási teljesítményt. Az írás normál sebességgel, párhuzamosan történik a két meghajtón. Az eljárás igen jó hibavédelmet biztosít, bármely meghajtó meghibásodása esetén folytatódhat a működés. Ezen nagymértékű hibatolerancia ára a kétszeres tárolókapacitás-felhasználás. A RAID 1 önmagában nem használja a sávokra bontás módszerét.

RAID 2

A RAID 2 használja a sávokra bontás módszerét, emellett egyes meghajtókat hibajavító kód (ECC: Error Correcting Code) tárolására tartanak fenn (A hibajavító kód lényege, hogy az adatbitekből valamilyen matematikai művelet segítségével redundáns biteket képeznek. A használt eljárástól függően a kapott kód akár több bithiba észlelésére, illetve javítására {ez utóbbi persze több redundanciát igényel} alkalmas. A védelem ára a megnövekedett adatmennyiség.). Ezen meghajtók egy-egy sávjában a különböző diszkeken azonos pozícióban elhelyezkedő sávokból képzett hibajavító kódot tárolnak. A módszer esetleges diszkhiba esetén képes annak detektálására, illetve kijavítására. Manapság nem használják, mivel a (SCSI) meghajtókban már minden egyes szektorban az adott szektorhoz tartozó ECC is eltárolásra kerül.

RAID 3

A RAID 3 felépítése hasonlít a RAID 2-re, viszont nem teljes hibajavító kód, hanem csak egy diszknyi paritásinformáció kerül eltárolásra. Egy adott paritássáv a különböző diszkeken azonos pozícióban elhelyezkedő sávokból XOR művelet segítségével kapható meg. A rendszerben egy meghajtó kiesése nem okoz problémát, mivel a rajta lévő információ a többi meghajtó (a paritást tároló meghajtót is beleértve) XOR-aként megkapható. Az alapvető különbség a RAID 2-ben alkalmazott hibajavító kóddal szemben, hogy itt feltesszük, hogy a meghajtó meghibásodását valamilyen módón (pl. többszöri sikertelen olvasás hatására) észleljük, majd a meghibásodott diszken lévő információt a többi diszken lévő adatok segítségével állítjuk elő. A RAID 2 a diszkhibák ellen is védelmet nyújt, pl. egyes bájtok megsérülése esetén. (Vegyük észre, hogy csak az XOR-os paritásbit technikát használva az egyik meghajtón egy adott bájt megsérülése esetén, csak azt vennénk észre, hogy a különböző meghajtókon az azonos sávba tartozó részek XOR-a nem nullát adna, de nem tudnánk sem azt, hogy melyik meghajtón van a hiba, sem azt, hogy hogyan javítsuk ki. Ezért van szükség a szektoronkénti hibajavító kód alkalmazására.) A RAID 3-nál kisméretű sávokat definiálnak, így az egyes fájlok olvasása és írása párhuzamosan történhet az egyes meghajtókon, viszont a módszer nem támogatja egyszerre több kérés párhuzamos kiszolgálását (single-user mode). (Természetesen a paritássávot minden egyes íráskor módosítani kell, amihez szükséges a korábbi tartalom kiolvasása. Viszont például fájltranszfer esetén, pont a kisméretű sávok miatt, az azonos pozícióban lévő sávok általában az összes diszken felülírásra kerülnek, így ez esetben a probléma kevésbé jelentkezik).

RAID 4

A RAID 4 felépítése a RAID 3-mal megegyezik. Az egyetlen különbség, hogy itt nagyméretű sávokat definiálnak, így egy rekord egy meghajtón helyezkedik el, lehetővé téve egyszerre több (különböző meghajtókon elhelyezkedő) rekord párhuzamos írását, illetve olvasását (multi-user mode). Problémát okoz viszont, hogy a paritás meghajtó adott sávját minden egyes íráskor frissíteni kell (plusz egy olvasás és írás), aminek következtében párhuzamos íráskor a paritásmeghajtó a rendszer szűk keresztmetszetévé válik. Ezen kívül valamely meghajtó kiesése esetén a rendszer olvasási teljesítménye is lecsökken, a paritás meghajtó jelentette szűk keresztmetszet miatt.

RAID 5

A RAID 5 a paritás információt nem egy kitüntetett meghajtón, hanem körbeforgó paritás (rotating parity) használatával, egyenletesen az összes meghajtón elosztva tárolja, kiküszöbölvén a paritás meghajtó jelentette szűk keresztmetszetet. Mind az írási, mind az olvasási műveletek párhuzamosan végezhetőek. A sávméret változtatható; kisméretű sávok esetén a RAID 3-hoz hasonló működést, míg nagyméretű sávok alkalmazása esetén a RAID 4-nek megfelelő működést kapunk.

RAID 6

A RAID 6 tekinthető a RAID 5 kibővítésének. Itt nemcsak soronként, hanem oszloponként is kiszámítják a paritást. A módszer segítségével kétszeres meghajtó meghibásodás is kiküszöbölhetővé válik. A paritássávokat itt is az egyes meghajtók között, egyenletesen elosztva tárolják, de ezek természetesen kétszer annyi helyet foglalnak el, mint a RAID 5 esetében.

RAID 0+1

Ez egy amolyan hibrid megoldás, amelyben a RAID 0 által hordozott sebességet a RAID 1-et jellemző biztonságot ötvözhetjük. Hátránya hogy minimálisan 4 eszközre van szükségünk melyekből 1-1-et összefűzve, majd páronként tükrözve építhetjük fel a tömbünket, ezért a teljes kinyerhető kapacitásnak mindössze a felét tudjuk használni, tekintve hogy az első 2 darab diszkből álló összefűzött (RAID 0) tömb a másik 2 darab diszk tükrözését (RAID 1) tárolja.

RAID 1+0

Hasonlít a RAID 01 megoldáshoz annyi különbséggel, hogy itt a a 2-2 diszk között alkalmazzuk a RAID 0 segítségével az összefűzést és ezen belül lévő párok vannak RAID 1 megoldással tükrözve.