Prema definiciji, storage predstavlja mrežni uredjaj namenjen pouzdanom, sigurnom, brzom i efikasnom skladištenju kompanijskih podataka.
Storage – osnove
Bilo da se radi o lokalnom DAS ili mrežnom NAS ili SAN okruženju u kome se storage može naći, u teoriji, uvek se radi o prenosu podataka sa ili na diskove na ovaj ili onaj način, preko ovog ili onog fizičkog medijuma. Za razliku od servera čiji je glavni zadatak da brzo i efikasno obradi zahteve korisnika što od njega zahteva neka od aplikacija, skladištenje je proces koji treba prepustiti za to projektovanim i optimizovanim savremenim storage uredjajima. Prosto, to je nešto što oni najbolje rade. Zbog toga je uvodjenje fleksibilnog i lako proširivog mrežnog uredjaja kakav je storage mnogo efikasniji način za rešenje problema skladištenja i čuvanja podataka.
Zašto NE server?
Glavni razlozi za izbegavanje servera za potrebe skladištenja leže u sledećem:
- Njemu su diskovi nužno zlo („usko grlo“), jer predstavljaju jedine komponente u procesu obrade podataka koje koriste mehaničke sklopove u svom radu (time nikad ne postižu brzinu ostalih komponenti kao što su procesor i virtualna memorija)
- Generički operativni sistemi koji su predvidjeni za rad na serveru (Windows, UNIX, Linux) nisu dizajnirani sa ciljem zadovoljenja brzog i efikasnog skladištenja podataka već za potrebe brzog procesuiranja rada aplikacija koje se na serveru izvršavaju
- Fizičke mogućnosti servera za skladištenjem su ograničene obzirom na veličinu kućišta od koga je sazdan
- Jer troši dragocene resurse na komuniciranje sa diskovima
- Jer ne može efikasno i blagovremeno da pravi kopije sistema sa ciljem čuvanja podataka u dužem vremenskom periodu
- Jer ne može da ustupi svoj neiskorišćen skladišni prostor drugom serveru kome je neophodan
- Jer se ne isplati da se u svaki server (na svaka dva diska) ubaci bar još jedan ili dva u cilju očuvanja integriteta podataka (minimum kod RAID 1 ili RAID 5 implementacije)
- Jer kada na njemu radite backup on mora da bude isključen ili mu se performanse drastično smanjuju.
Sve u svemu, server treba da poseduje diskove samo ako MORA!
DAS
Po pitanju povećanja potrebnog kapaciteta za skladištenje podataka, prvo rešenje nosilo je ime DAS (Direct Attached Storage). Nažalost, i dalje se koristi.
Šta je DAS predstavljao?
DAS nije ništa drugo nego, preko posebno dizajnirane kartice za proširenje servera, povezano „brdo“ diskova, popularno JBOD (Just Bunch Of Disks). Veza se u većini slučajeva ostvaruje putem običnog SCSI kabla ograničene dužine.
Iako je to rešilo problem fizičke proširivosti servera diskovima, ujedno je povećalo troškove skladištenja, mnogostruko. Ako razmislite, investirati u kućište koje prima 10 ili više diskova, a u datom trenutku vam treba 1 ili 2 diska , prilično je „sumnljiva“ investicija sa finansijske tačke gledišta.
Na slici iznad je primer tipične DAS arhitekture. U ovom slučaju server je preko ethernet porta vezan na kompanijsku mrežu, dok je na storage vezan preko SCSI kartice/proširenja. Na samom storage-u uglavnom se nalazi onboard SCSI port.
Da problem bude veći, DAS je pružao uslugu skladištenja samo serveru na koji je bio direktno vezan. Najnovije implementacije DAS rešenja otišla su u pravcu direktnog povezivanja 2 do maksimalno 4 servera, ali ta rešenja i dalje predstavljaju lokalne solucije a skladišni prostor je i dalje na fizičkom nivou dodeljen serverima (2 diska jednom, 3 drugom serveru, itd.) što investiranje u ovaj vid rešenja čini neisplativim čak i u kraćem vremenskom periodu.
NAS i SAN
Novija i trenutno aktuelna rešenja namenjenu skladištenju podataka mrežnog su tipa. Mrežni u ovom slučaju ne znači da se bukvalno ubacuju kao još jedan element vec više asocira na činjenicu da mu se može direktno pristupiti sa mreže (NAS) ali i da sa serverima može formirati zasebnu mrežu preko koje serveri dinamički alociraju resurse iz storage pool-a.
Postoje dve vrste arhitekture i njima pripadajući protokoli koji se koriste pri opisu “mrežnog okruženja” u kome se storage može naći. To su NAS i SAN. Razlika koja postoji sastoji se u tome što je pristup skladišnom prostoru u NAS slučaju na file nivou, sto znači da je storage taj koji brine o tome gde i kako su podaci organizovani (što ujedno znači da storage čuva tabelu file sistema) dok u SAN okruženju taj posao preuzima server (host) a storage je tu samo kao uredjaj koji mu obezbedjuje blokove u koje server po svom nahodjenju i prema svojim pravilima smešta podatke (server je odgovoran za organizaciju podataka koje smešta). SAN implementacija podrazumeva da storage uredjaj nema baš puno znanja o tome šta ti blokovi podataka koje upisuje server predstavljaju i kako su ti blokovi organizovani u okviru jednog dokumenta. (pod dokumentom se podrazumeva čak i baza podataka).
Još jedna bitna razlika je u tome što u SAN okruženju storage-u server direktno pristupa u cilju obezbedjenja skladišnog prostora, dok je u NAS okruženju nebitno da li je host klijent ili server. Prostor na storage-u svako od njih vidi kao mapiran mrežni disk (network drive) odredjene veličine.
Primer prednosti korišćenja mrežnog storage uredjaja
Pretpostavimo da u kompanijskoj mrezi postoji nekoliko servera na kojima se nalazi po 2 produkciona diska. U slučaju da želimo da ti podaci budu dostupni u slučaju otkaza jednog od diskova, u server (ako je uopšte moguće) moramo da ugradimo nekakav RAID kontroler i nezavisno od RAID nivoa koji koristimo, minimalno moramo dodati još jedan disk koji će imati ulogu paritetnog. Ako želimo da podaci povremeno budu bekapovani u cilju njihovog čuvanja u dužem vremenskom periodu (mesec dana), moraćemo da nabavimo ili CD/DVD rezač koji ćemo manuelno popunjavati podacima svakog dana) ili na samom serveru instalirati neki tape uredjaj. I dalje će bekap morati da se radi ručno…
U zavisnosti od količine podataka koje bekapujemo, vreme potrebno za bekap može da bude izuzetno dugo, nekada čak duže od vremena u kome server može da bude offline. U slučaju da serveri moraju konstantno da budu uključeni i procesuiraju zahteve klijenata, ovaj vid backup-a biće poprilično nezgodan, nekada čak i nemoguć zbog vremena i resursa koji moraju biti utrošeni na izvršenje ovog zadatka.
U slučaju korišćenja mrežnog storage uredjaja, postoji nekoliko krucijalnih prednosti. Prvo, virtualizacijom skladišnog prostora, svaki od servera koristiće samo onu količinu prostora koja mu je neophodna, ostavljajući preostali prostor na diskovima u storage pool-u dostupan serverima ili klijentima kojima je potrebniji u tom trenutku. Na taj način, centralizuje se skladišni prostor i koristi najoptimalnije moguće.
Drugo, RAID grupa koja omogućava isti ili bolji nivo zaštite, zbog centralizacije prostora, zahteva mnogo manji broj paritetnih diskova obezbedjujući dostupnost podataka većem broju servera. Bekap podataka vrši se centralizovano.
Šta je NAS?
NAS arhitektura predstavlja mrežno rešenje u kome je storage direktno (preko postojećeg ethernet sviča) vezan u kompanijsku Ethernet mrežu, na taj način obezbedjujuci resurse svim klijentima koji se u toj mreži nalaze, nezavisno od toga da li se radi o Windows baziranim radnim stanicama (CIFS) ili stanicama baziranim na Linux i UNIX platformi (NFS). Čak i uredjaj koji ima namenu servera (sa instaliranim serverskim OS-om) može ravnopravno pristupati storage-u i mapirati resurs u vidu mrežnog diska.
Na slici iznad prikazana je NAS implementacija. Preko naojbičnijeg ethernet porta komponente na slici (serveri i radne stanice) vezani su na ethernet switch. Storage uredjaj, takodje, preko jednog od svojih ethernet portova. Hostovi (serveri i klijentske radne stanice) pristupaju storage-u kao da pristupaju najobičnijem file serveru.
Kao što je već pomenuto, koji od ta dva protokola ćete koristiti u cilju povezivanja storage-a sa host-ovima (klijentima i serverima) zavisi od operativnog sistema koji koristite na host-u. Ako koristite Windows platformu (od Windows 95 OS-a, pa do Windows Server 2008 i Vista platforme) koristićete CIFS. Ako pak, za pristup skladišnom prostoru na storage-u koristite UNIX i UNIX-like platformu (Linux, itd.), tačnije bilo koju verziju UNIX-a (jer sve imaju mogucnost korišćenja NFS protokola) koristićete isključivo NFS u verzijama 2,3 ili 4.
Primer : korišćenje CIFS protokola
Recimo da u kompanijskoj mreži postoje Windows bazirane radne stanice i pretpostavimo da je svakoj od njih potreban skladišni prostor koji ce moći izuzetno lako da se proširi u slučaju potrebe i na kome će podaci biti sigurno i pouzdano uskladišteni, čak i u slučaju kompletnog otkaza radne stanice na koju je disk mapiran.
Korisnik će u ovom (NAS) slučaju direktno mapirati resurs (u ovom slučaju kao mrežni disk) sa postojećeg storage uredjaja i na njemu čuvati sve podatke koje generiše i koji su mu bitni. To može biti Word dokument, AutoCad ili Photoshop crtež, itd. Ukratko. identičan sadržaj koji bi korisnik uskladištio na lokalnom hard disku, pri čemu je pristup podacima teorijski brži jer ne uključuje lokalne diskove.

Šta je SAN?
SAN arhitektura predstavlja mrežno rešenje u kojoj storage direktno komunicira isključivo sa serverima (u najvećem broju slučajeva preko zasebne Ethernet ili Fibre Channel mreže) obezbedjujući im na taj način potrebne resurse namenjene skladištenju podataka. Ove resurse serveri vide kao lokalne diskove i nad njima se mogu vršiti sve operacije vezane za upravljanje lokalnim diskovima: formatiranje, particionisanje itd. U oba slučaja, bez obzira da li se koristila Fibre Channel ili Ethernet infrastruktura, radi se o prenošenju SCSI komandi preko medijuma različitog od SCSI kabla. Ali, filozofija prenosa podataka identična je kao i kod SCSI vezanog DAS rešenja.

Naravno, pod direktnim se smatra i mogućnost posrednog komuniciranja korišćenjem ethernet (iSCSI) ili Fibre Channel (FC) sviča.
Povezivanje servera sa storage uredjajem moguće je izvesti na dva načina.
Korišćenjem iSCSI protokola server se povezuje sa storage uredjajem putem najobičnijeg ethernet kabla (ili posredno preko ethernet sviča). iSCSI protokol predstavlja rešenje u kome se najobičnije SCSI komande po utvrdjenim pravilima pakuju u IP pakete, predstavljajući običan “payload” IP paketa i tako umotani bivaju prenešeni na Ethernet port storage-a koji dalje te pakete analizira, i nakon toga, kao SCSI komande sa odgovarajućim komandama šalje sistemu na dalju obradu i skladištenje. Ono što je u ovom slučaju još potrebno (da bi se SCSI komande spakovale na jednom i raspakovale na drugom kraju ethernet kabla) je poseban softver na oba uredjaja (ili posebne ethernet kartice sa potrebnom inteligencijom tzv. Ethernet HBA kartice). Na strani storage-a, softver je već implementiran, dok se na strani hosta (servera) to parče softvera naziva Software iSCSI Initiator. Ovde se pominje reč Initiator. U SAN komunikaciji uredjaja, jedan od uredjaja je uvek INITIATOR (onaj koji inicira komunikaciju) dok je drugi TARGET (onaj koji odgovara na zahteve). Da ne bi bilo zabune, reći ćemo da identičan uredjaj, čak i port na njemu (na primer storage) u jednoj situaciji može biti u ulozi INITIATOR-a na jednom portu, a u drugoj TARGET-a, na tom istom portu.
Kada je storage port u ulozi INITIATOR-a? Kada se koristi za vezu sa diskovima (FC slučaj) ili sa backup serverom (iSCSI ili FC slučaj). Uloga TARGET-a je mnogo češća i tada prima zahteve od host-a (servera). Jedan port ne može istovremeno imati obe uloge.
Na slici iznad vidi se izgled mreže u iSCSI implementaciji SAN okruženja. Storage je, preko sopstvenog Ethernet porta i Ethrnet switch-a logički vezan sa jednim UNIX i Windows serverom. Logički, jer resurse za oba servera obezbedjuje preko jednog fizičkog porta. Možete da primetite da (iako isti fizički medijum) server za vezu koristi dva porta (jedan za vezu sa storage-om drugi za vezu sa kompanijskim LAN-om) u cilju razgraničavanja saobraćaja i veće sigurnosti podataka koji se prenose.
Korišćenjem FC protokola, server se sa storage uredjajem povezuje putem posebnih (dodatnih) FC kartica koje se smeštaju u slobodne PCI slotove na serveru dok se na drugoj strani (na samom storage uredjaju) FC portovi nalaze onboard ili slično ugradjeni kao proširenja (PCI slotovi). Ovde je komunikacija prilično različita jer se radi o posebno dizajniranom protokolu za tu namenu.
Na slici iznad vidi se FC SAN implementacija. Storage je u ovom slučaju preko posebnog FibreChannel switch-a vezan za servere koje opslužuje. Serveri za vezu sa switch-em koriste posebne FC HBA kartice, obično preko PCI slotova za proširenje. Sa druge strane, server je preko Ethernet infrastrukture vezan za ostatak kompanijske LAN mreže.
Na kraju, kada se sve sabere i oduzme i ovde se po precizno utvrdjenoj proceduri, najobičnije SCSI komande prenose kao deo FC paketa (putem FC posebnog protokola) i predstavljaju njegov “payload”.

Na slici iznad se vidi da je All-in-one storage uredjaj u stanju da obezbedi istovremeni rad, (na istom uredjaju) oba protokola/arhitekture, i iSCSI i FC (IP SAN i FC SAN, respektivno).
Nezavisno od vrste protokola koji se u SAN okruženju koristi, server resurse sa storage-a “vidi” kao lokalne diskove i sa njima manipuliše na isti način kao da su lokalno smešteni u kućištu ili direktno vezani SCSI kablom za matičnu ploču.
U slučaju povezivanja putem iSCSI protokola (ponekad se ova arhitektura i IP SAN), trenutno dostupne brzine prenosa ne razlikuju se ni po čemu od klasičnih ethernet mreža pa je i najveća brzina prenosa 10Gbps.
U slučaju korišćenja FC protokola, na raspolaganju su brzine od 1,2 i 4 Gbps. Maksimalna brzina koja je trenutno u opticaju je 8Gbps.
SAN BOOT
Posle osnovne priče o SAN okruženju ali i opterećenju koje server “trpi” kada mora direktno da upravlja diskovima, red je da pojasnimo ovaj termin. SAN boot pretpostavlja sistem u kome server nema diskova i butuje image operativnog sistema sa samog storage-a. Ovo ima višestruke prednosti. Prva je da storage mnogo bolje upravlja diskovima od servera. Druga je sigurnost podataka koju storage obezbedjuje po RAID grupii u sastavu koje može biti sadržano mnogo više diskova i koja može biti korišćena za nekoliko servera. Backup podataka je lakši, čak i sistemskih dokumenata. Takodje, u slučaju korupcije sistemskog diska/particije, storage (sa diskova) boot-uje poslednje ispravno stanje sistema i na taj način skraćuje proces reinstalacije sistema i dostupnosti servera/sistema. Server bez diskova radi mnogo brže a na storage-u je da podatke koji su potrebni serveru dobavi ili uskladišti mnogo brže i efikasnije.