File Server iz kućne radinosti

Datum objave 28.01.2009 - Dean Narandžić

File server - 1. dio


Osnova podatkovnog poslužitelja - diskovi

Već duže vrijeme sa vama želimo podijeliti naša iskustva u sklapanju podatkovnog poslužitelja koji smo još prošle godine sastavili za kućnu upotrebu. Kao i većina vas, tijekom vremena sakupili smo impresivnu kolekciju podataka - dokumenata, slika u digitalnom obliku, glazbe, filmova i drugih multimedijalnih sadržaja u različitim formatima, programa, uputa i tko zna čega sve ne. Isprva smo ih držali na CD medijima, pojavom DVD-a smo zahvaljujući njihovom većem kapacitetu donekle smanjili broj medija, no problem katalogiziranja i pronalaska informacija je i dalje postajao sve veći. Rješenje se već godinama nameće samo od sebe - uvođenje podatkovnog poslužitelja većeg kapaciteta na koji ćemo preseliti sve podatke raspršene po drugim medijima i pristupati im putem lokalne mreže na najjednostavniji mogući način.


8-portni Super Micro SAT-MV8 PCI-X SATA kontroler koji smo koristili

Iako je problem i rješenje vrlo lako definirati, način na koji to napraviti baš i nije. Isprva smo pratili situaciju na tržištu NAS (Network Attached Storage) uređaja u nadi da će se pojaviti neki koji će svojim karakteristikama, ali i cijenom, zadovoljiti naše potrebe i mogućnosti. Bez obzira na sve veću ponudu takvih uređaja većina ih ima mane sa kojima nismo mogli živjeti. Prije svega to je mala brzina pristupa podacima što je problem koji muči praktički sve ovakve uređaje cijene pristupačne za osobnu upotrebu. Nadalje, to je kapacitet - većina jeftinijih uređaja podržava maksimalno dva diska, a cijena onih koji podržavaju više diskova jednostavno nije opravdana. Zna se tu pojaviti i drugih problema, no ova dva su najveća i najčešća, te su nas u potpunosti odvratili od takvog rješenja. Umjesto toga odlučili smo se za sastavljanje vlastitog podatkovnog poslužitelja, pri čemu kao osnovu planiramo iskoristiti hardver koji već posjedujemo uz nužne nadogradnje i proširenja.


Napajanje koje će pogoniti poslužitelj mora biti dovoljno jako i pouzdano

Što je podatkovni poslužitelj valjda ne treba posebno objašnjavati, no ipak recimo par riječi o teoriji obzirom da će nam ona poslužiti za planiranje i dimenzioniranje našeg poslužitelja. Podatkovni poslužitelj ili File Server je kao i svaki drugi poslužitelj, zapravo računalo kao i svako drugu uz par specifičnih karakteristika. Od njega se prije svega očekuje da posjeduje dovoljno kapaciteta za podatke, znači dovoljno mjesta za ugradnju diskova, priključaka za diskove i na kraju samih diskova odgovarajućeg kapaciteta. Da se radi o zahtjevnijoj primjeni kao što je obrada videa ili posluživanje više korisnika, u specifikaciju bi ugradili i zahtjev za brzinom, no u ovom slučaju to nije od presudne važnosti. Nadalje ti podaci moraju biti odgovarajuće zaštićeni što podrazumijeva kreiranje RAID polja, odgovarajuće hlađenje i napajanje (redundantno napajanje je pretjerivanje za kućnu upotrebu, ali nabava odgovarajućeg UPS uređaja nije). Ostatak hardvera nije od presudne važnosti - brza mrežna kartica se podrazumijeva, dok brzina procesora nije od kritične važnosti. Nije loše opremiti takvo računalo sa malo više memorije zbog keširanja pristupa podacima, no obzirom na niske cijene memorije, to ne bi trebalo predstavljati problem. Drugim riječima poslužit će praktički bilo koje staro računalo koje radi stabilno i pouzdano (imajte na umu da se podatkovni poslužitelj neće gasiti osim u iznimnim situacijama), jedino ćemo ga možda morati opremiti dodatnim diskovnim kontrolerom. Na kraju ostaje i odabir operativnog sustava, no o tome više malo kasnije. No krenimo redom.


CoolerMaster Stacker kavez za diskove sa 120-milimetarskim ventilatorom

Prva stvar koju moramo odrediti je diskovni kapacitet takvog računala jer o njemu ovisi nabava drugih komponenti. Prema našoj procijeni trebalo nam je cca 4TB prostora za podatke uz određenu količinu praznog prostora za buduće potrebe. U trenutku nabave hardvera najpovoljniji omjer cijene i kapaciteta davali su 500GB diskovi koji su uz cijenu od 500ak kuna davali omjer od 1kn po 1GB. Odlučili smo se za nabavku 12 diskova ovog kapaciteta što ukupno daje 6TB, no kako proizvođači specificiraju kapacitet u dekadskom brojevnom sustavu, koristan kapacitet je nešto manji te iznosi oko 5,46TB. Nadalje, kako bi izbjegli neugodna iznenađenja i gubitka podataka u slučaju kvara diska, za zaštitu podataka planiramo koristiti RAID5 polje diskova. Prednost korištenja RAID5 polja je veća sigurnost podataka (u slučaju kvara jednog od diskova, podaci su još uvijek dostupni), ali i činjenica da na njemu možemo kreirati jedan volumen ("particiju"), te su svi podaci logički objedinjeni i nalaze se na jednom mjestu. Nedostatak je potreba da osiguramo diskovni kontroler ili operativni sustav koji zna kreirati i koristiti RAID5 polje, te da u slučaju kvara dva ili više diska gubimo sve podatke na svim diskovima. Obzirom da RAID5 podatke raspoređuje ravnomjerno po 3 ili više diskova na način da na jednom od njih čuva informaciju o paritetu, koristan kapacitet se time dodatno smanjuje na 5TB. Našu konfiguraciju smo odlučili još malo prilagoditi našim potrebama pa smo jedan od diskova izdvojili da radi zasebno kao radni disk - na njemu čuvamo nove podatke koje nismo pripremili (preimenovali, provjerili i odlučili da ćemo ih trajno zadržati) za spremanje na naše RAID5 polje. Obzirom da ćemo sam operativni sustav instalirati na poseban disk koji posjedujemo od ranije u konačnici govorimo o slijedećoj konfiguraciji:
- sistemski disk kapaciteta 36GB
- radni disk kapaciteta 500GB (koristan prostor 465,76GB)
- RAID5 polje od 11 diskova kapaciteta 500GB ukupnog korisnog kapaciteta 4,55TB


Diskovi ugrađeni u kaveze

Znači ukupno imamo 13 SATA diskova, a kako planiramo zadržati i SATA DVD-R uređaj koji posjedujemo od ranije, potrebno nam je i 14 SATA priključaka, odgovarajući broj utora u kućištu, te napajanje odgovarajuće snage i broja priključaka. Ostatak sustava već posjedujemo, a radi se o Gigabyte GA-K8NXP-SLI matičnoj ploči za AMD s939 sa x2 3800 procesorom i 2GB RAM memorije. Obzirom da ploča u pitanju već posjeduje 8 SATA priključaka i dva gigabitna mrežna kontrolera, te je provjerena u svakodnevnom radu, predstavlja idealan izbor za naše potrebe. Ipak, kako "samo" 8 SATA priključaka za ovaj sustav nije dovoljno, potrebno je nabaviti i jedan ili više dodatnih SATA kontrolera. Ovdje smo se odlučili za SuperMicro PCI-X kontroler SAT-MV8 koji nam za prihvatljivih 650 kuna nudi dodatnih 8 SATA priključaka. Neka vas ne zbuni što se radi o PCI-X kontroleru (PCI-X je ekstenzija PCI sabirnice koja nudi 64-bitnu propusnost i veće brzine rada), jer su PCI i PCI-X međusobno kompatibilni tj. moguće je PCI-X kartice koristiti u PCI utoru i obrnuto - višak pinova na konektoru visi u zraku, a kartica radi u 32-bitnom režimu na standardnoj PCI frekvenciji od 33MHz.

File server - 2. dio


Capice između utora za 5,25" uređaje koje su nam smetale za ugradnju kaveza

Obzirom da nam treba i odgovarajuće kućište, proučili smo ponudu na tržištu i odlučili se za Sharkoon Rebel 12 Economy čija cijena od 680kn predstavlja idealan izbor u ovoj kategoriji. Ovo kućište nudi čak dvanaest 5,25" utora te ležišta za dodatnih šest 3,5" diskova, što bi nam trebalo biti više nego dovoljno. Naravno, potrebno je riješiti i ugradnju 3,5" diskova u 5,25" utore, za što smo nabavili dva CoolerMaster Stacker okvira za diskove koji nam omogućuju da u tri 5,25" utora ugradimo četiri diska (120kn komad). Dodatna prednost ovih okvira je što dolaze za tihim 12-centimetarskim ventilatorom za hlađenje diskova koji je nužan za njihov dugotrajan i pouzdan rad. Znači 8 diskova ćemo ugraditi u dva okvira, a preostalih 4 u originalna ležišta u kućištu, isto kao i sistemski disk. Jedini problem sa kojim smo se susreli je ugradnja okvira u kućište. Naime, okviri su predviđeni za ugradnju u CoolerMaster Stacker koji nema nosače uređaja između ležišta za 5,25" uređaje, dok naše kućište ima što nas sprečava da okvire jednostavno umetnemo. Problem je riješio naš vjerni Dremel - proces rezanja je bio gotov za par desetaka minuta i okviri su nakon toga savršeno sjeli. Od ostale opreme nabavili smo još i Corsair VX 550W napajanje (iako bi i znatno slabije bilo dovoljno), kao i 1000VA UPS.


Kavezi ugrađeni u kućište - obratite pažnju da su svi diskovi i kablovi numerirani

Prije nego se pozabavimo sklapanjem, recimo par riječi o odabiru operativnog sustava - obzirom da posjedujemo licencu odlučili smo se za korištenje MS Windows 2008 servera, prvenstveno zbog ugrađene podrške za kreiranje tzv. softverskih RAID5 polja. To znači da ovaj OS zna kreirati RAID5 polje na bilo kojoj kombinaciji diskova bez obzira na njihov kapacitet, sučelje ili kontroler na koji su spojeni (naravno, uz ograničenja veličine i brzine u odnosu na najmanji i najsporiji disk u polju). Obzirom da se zbog cijene nismo odlučili za nabavku diskovnog kontrolera koji bi podržavao ovu funkcionalnost, mogućnost kreiranja RAID5 polja u operativnom sustavu nam je bila imperativ. Alternativa je korištenje Linuxa, no kako sa njime nemamo iskustva, a cijena licence za MS Windows 2008 server nije bila problem, odluka je bila jasna. Dodatna prednost korištenja softverskog RAID5 polja je dostupnost podataka u slučaju kvara hardvera. Obzirom da ne ovisimo o tipu kontrolera koji koristimo, u slučaju njegova ili kvara matične ploče možemo ih zamijeniti sa praktički bilo kojom kombinacijom sa dovoljno SATA priključaka bez gubitka podataka. Nedostatak bi mogao biti nešto sporija brzina prilikom čitanja i pisanja podataka (hardverski RAID kontroleri mogu biti brži, no brzina je ovdje često funkcija cijene), no iz iskustva smo znali da nam to neće biti problem.


Sklopljeni i operativni podatkovni poslužitelj (OK, ova 8800GT je viška)

Kada smo skupili sve dijelove krenuli smo u sklapanje. Obzirom da je sa kontrolerom došlo i 8 SATA kablova imali smo sve što nam treba, pa je samo sklapanje proteklo bez problema. Posebnu pažnju smo posvetili označavanju diskova i kablova kako bi u slučaju kvara mogli identificirati i zamijeniti pokvareni disk bez puno razmišljanja. Najveći problem je bio u provođenju kablova, a dodatno smo morali nabaviti i nekoliko splitera za napajanje sa Molex na par SATA priključaka. Niti instalacija operativnog sustava nije donijela nikakvih iznenađenja - ukoliko ste ikada instalirali MS Windows Vista OS, 2008 server vam neće biti problem. Malo smo zapeli prilikom potrage za odgovarajućim upravljačkim programom za dodatni diskovni kontroler, pri čemu nam web stranice proizvođača nisu bile od puno koristi, ali smo se snašli uz pomoć informacija na Internetu (64-bitnu verziju drivera koja radi sa MS Windows 2008 serverom nismo pronašli, no sa 32-bitnom nema problema). Konfiguracija RAID5 polja se radi iz Disk Managment alata - nakon što smo inicijalizirali diskove, sa desnim klikom miša otvorimo izbornik iz kojeg odabiremo opciju New RAID-5 Volume, te kroz jednostavan čarobnjak odaberemo bitne parametre kao što su izbor samih diskova i veličina polja. Ovdje jedino treba biti strpljiv, jer sinkronizacija polja ove veličine traje - više od cijelog dana! Ovo je ujedno i najveći problem u korištenju terabajtnog RAID5 polja, jer se sinkronizacija pokreće svaki put kada se sustav sruši ili nasilno ugasi i uvijek traje jednako dugo. Zato je poželjno imati UPS, kao i stabilan sustav koji možemo ostaviti da radi mjesecima ili čak godinama…


Diskovi prije konfiguracije RAID5 polja u Disk Managment alatu

Slijedi provjera napravljenog. Iako je na prvi pogled sve radilo kako treba uočili smo da se diskovi ugrađeni u ležišta od kućišta pretjerano griju. Iako je pored njih moguće ugraditi 8-centimetarske ventilatore, odlučili smo se za nabavku dodatnog CoolerMaster okvira za diskove, pa smo u konačnici imali tri okvira za svih 12 diskova koji su zauzeli devet 5,25" utora. Od preostalih tri, dva smo popunili sa optičkim pogonom i sistemskim diskom. Također, kako bi dodatno pospješili hlađenje ugradili smo i dodatna dva 12-centimetarska ventilatora na bočnoj stranici koja smo spojili da rade na 5V i izvlače ugrijani zrak iz kućišta (moguće je dodati i još jedan 14-centimetarski ventilator na stražnju stranicu kućišta). Ovdje bi još jednom pohvalili konstrukciju kućišta koje je opremljeno filterom prašine na svim 5,25" maskama i koji odlično obavlja svoj posao!

Sustav smo ponovo uključili i napravili zadnje provjere: temperatura diskova nije prelazila 38C, a brzina čitanja i pisanja se kretala između 24MBps i 40MBps. Obzirom da je to brže od naše 100mbps lokalne mreže, zadovoljni smo rezultatom iako je ujedno i dosta sporiji od brzine koju nam može pružiti svaki od diskova pojedinačno. Kako u tom trenutku još nismo imali spremno drugo računalo da radi kao klijent, napravilo smo nešto što se sa poslužiteljima inače ne radi: instalirali smo jaču grafičku karticu (nVidia 8800GT), te ga privremeno koristili kao radnu stanicu, za svakodnevni rad ali i pokretanje novijih igara. Niti ovdje nije bilo problema, osim sa starijim verzijama upravljačkih programa za grafičku karticu koji su znali srušiti sustav. Nadogradnjom na novije verzije i taj problem je nestao tako da računalo već duže vrijeme radi pouzdano na duže staze (po nekoliko mjeseci bez gašenja). Prije upotrebe preostao je još jedan nimalo trivijalan zadatak: preseljenje svih podataka na sustav. To je trajalo oko dva mjeseca i uzela nam veći dio slobodnog vremena u tom periodu :(

Obzirom da sustav aktivno koristimo u svakodnevnom radu već više mjeseci, možemo reći da smo sa ovim rješenjem iznimno zadovoljni. Pristup podacima nikada nije bio jednostavniji, a našu kolekciju optičkih medija više uopće ne koristimo. Napokon su nam svi podaci nadohvat ruke! Naravno, može i bolje, pod uvjetom da nam financije to dopuštaju. Na primjer mislimo da bi sustav mogao brže čitati podatke kada bi umjesto kombinacije integriranih i dodatnog SATA kontrolera nabavili 16-portni (4x4) SAS kontroler koji podržava hardverski RAID5. No, njegova je cijena oko 3600kn, što nam je u ovom trenu ipak previše... Nadalje, sustav bi bio nešto fleksibilniji da smo nabavili hot swap ladice za diskove, npr. varijanta od pet diskova u tri 5,25" utora po cijeni od oko 800kn komad. Takve ladice bi omogućavale lakšu izmjenu pokvarenog diska (trenutno za to moramo rastaviti veći dio računala), no nadamo se da to neće biti potrebno tako skoro. Za kreiranje i upravljanje RAID5 poljem bolje rješenje predstavlja Veritas Storage Foundation Basic (http://www.symantec.com/business/theme.jsp?themeid=sfbasic). Radi se o besplatnom softveru za Windows server operativne sustave koji između ostaloga može skratiti vrijeme sinkronizacije u slučaju inkonzistentnosti RAID polja. Danas bi odabrali veće diskove iz jednostavnog razloga boljeg odnosa cijene i kapaciteta, što bi nam ujedno omogućilo postizanje većeg kapaciteta ili niže troškove sklapanja poslužitelja, što zbog uštede na samim diskovima, a što zbog uštede na drugim dijelovima (manje kućište, kavezi za diskove, slabije napajanje i UPS). Također, ovakvo računalo nije baš tiho, te ga je preporučljivo izdvojiti u zasebnu prostoriju i podacima pristupati putem lokalne mreže. Na kraju moramo spomenuti da nismo zadovoljni niti sa UPS uređajem. Iako smo ga dobili izuzetno povoljno (1000kn za snažni 1000VA uređaj), softver koji je došao sa njime i koji bi trebao moći napraviti čisti shutdown u slučaju nestanka struje na MS Windows server 2008 jednostavno ne radi.

Nadamo se da smo vam u ovom tekstu uspjeli predočiti razloge i prednosti sklapanja podatkovnog poslužitelja, te vam dali par ideja za vlastito rješenje. Imajte na umu da ovakav poslužitelj može obavljati i druge poslove, kao što je usmjeravanje Internet prometa ili rad na P2P mrežama bez da time opterećujete računalo na kojem svakodnevno radite. Naravno, možete ga koristiti i kao jedino računalo u kući, no to vam ipak ne preporučamo, barem ne kao trajno rješenje - imajte na umu da ćete na njemu čuvati i važne podatke, pa nikako ne želite da eksperimentiranjem sa novim aplikacijama, igrama i upravljačkim programima onemogućite pristup podacima!