Het grote DIY NAS Topic |
![]() |
Op 10 januari 2007 startte Microkid het topic DIY RAID NAS bouwen. Dit onderwerp bleek meer tweakers bezig te houden en nu, een jaartje verder, bestaat het topic al uit meer dan 1300 posts. Een topic van 1300 posts doorspitten op zoek naar de informatie die je zoekt is echter niet altijd een pretje, vandaar dat we in dit topic verder gaan met het discussiëren over het ideale NAS. Daarnaast worden hier veelvoorkomende struikelblokken, tips, tweaks en how-to's bijgehouden. Lees voordat je eventueel specifieke RAID vragen gaat stellen in ieder geval de RAID FAQ door, aangezien daar veel vragen al worden beantwoord. NB: Als ik het over software raid heb, ga er dan vanuit dat ik OS-based software raid bedoel en met hardware raid bedoel ik doorgaans 'echte' hardware raid oplossingen met eigen cpu en geheugen, zoals we die kennen van areca, 3ware enz. |
Hardware: |
Processor, moederbord en geheugen: De kern van je NAS. Hiermee bepaal je in feite al of je een energiezuinige-, een überperformance-, een spotgoedkope- of een guldenmiddenwegfileserver wilt hebben. Een NAS moet natuurlijk uiteindelijk data over het netwerk pompen. 100mbit trekt elke cpu jonger dan 8 jaar tegenwoordig bijna wel vol, maar met gigabit moet je toch wel wat meer processorkracht in huis hebben. Voor zowel energiezuinige als goedkope servers zijn de AMD Athlon X2 (BE serie voor energie efficiëntie) met hun gunstige performance/watt/euro verhouding aan te raden. Maak je in ieder geval geen illusies dat je goede gigabit performance zult krijgen met een P3 of een Celeron. Vanwege het lage idle stroomverbruik van de goedkope AMD's, is dit platform dus bij uitstek geschikt voor een NAS. Bij een processor hoort natuurlijk ook een geschikt moederbord. Belangrijk is om hierbij te letten of de onboard hardware ondersteund wordt door jouw OS. Voor FreeBSD en FreeNAS zie dit overzicht voor SATA/PATA chipsets en kijk op de FreeBSD site voor een overzicht van gigabit adapters, let op gigabit bestaat uit twee onderdelen: MAC en de PHY. De PHY moet ook ondersteund worden anders werkt het niet. nVidia onboard gigabit ondersteuning in FreeBSD7 betekent nogsteeds dat je moet opletten of de PHY uitgekozen door de moederbord-fabrikant ook wordt ondersteund. Twee moederborden met dezelfde chipset kunnen nog wel een verschillende PHY chip hebben. Tenslotte is het toch wel aan te raden om minimaal 512MB geheugen te installeren, zeker wanneer je een softwarematige raidoplossing gaat gebruiken. Bovendien is geheugen tegenwoordig voor een appel en een ei bijna al te koop.. SATA (RAID) Controllers: In de meeste gevallen zal software raid wel voldoen, zeker als je RAID0, 1 of zelfs 1+0 gaat draaien. RAID5 is echter een ander verhaal. Hierbij moet immers bij elke write pariteit worden berekend en weggeschreven. Dat resulteert in een lagere write-performace en zeker als je de standaard onboard RAID5 van je moederbord of de RAID5 implementatie van windows gaat gebruiken kan de performance bedroevend zijn (minder dan 15MB/sec writes zijn eerder regel dan uitzondering). Gelukkig bestaan er wel goede implementaties, bijvoorbeeld geom_raid5, die beschikbaar is voor FreeBSD. Dit is een populaire oplossing en zal verder in deze startpost ook nog beschreven worden. Daarnaast is mdadm onder linux ook een zeer goede oplossing. Hardwarematige raid controllers zijn in de meeste gevallen voor een thuis NAS overkill, maar kunnen nuttig zijn in de volgende situaties. Je wilt RAID5 of 6 draaien en: • Je gebruikt Windows op je NAS (de softwarematige RAID5 alternatieven van windows lopen sterk achter op die van Linux en FreeBSD) • Je móet beslist Online Capacity Expansion of Online Raid Level Migration functionaliteit hebben. • Hoge IO concurrency (bijv. fileserver op een LAN-party waar veel mensen tegelijk leechen • Je hebt teveel geld en wilt een extra patsfactor aan je NAS toevoegen ![]() Als je tot de conclusie bent gekomen dat je inderdaad een hardwarematige raid controller nodig hebt én over voldoende budget beschikt, zijn vooral de controllers van het merk Areca aan te raden. Deze staan bekend om hun uitstekende performance, degelijkheid en goede support. Daarnaast zijn er natuurlijk voldoende andere aanbieders van raidcontorllers, zorg in ieder geval dat je een koopt waarbij er een CPU op zit die de XOR berekeningen uitvoert. Anders wordt je main CPU alsnog lastig gevallen met XOR operaties waar die niet voor is geoptimaliseerd en is je prijs/performance ten opzichte van een goede software raid5 oplossing nog steeds niet verbeterd. Het kan natuurlijk ook zo zijn dat je te weinig SATA poorten hebt en software RAID wilt draaien. In dat geval kun je een gewone, simpele sata controller gebruiken. Let er hierbij wederom wel op dat de PCI-bus vrij snel vol zit. Als je dus nog een leeg PCI-e x1 slot hebt doe je er beter aan een PCI-Express SATA controller te kopen, bijvoorbeeld kaarten met Silicon Image 3132 chip of JMicron JMB363, die vaak verkocht worden onder een andere naam zoals Sweex. Let goed op: Silicon Image 3132 wordt niet door FreeNAS ondersteund! Wel door FreeBSD7. Kast en voeding: Voor een thuisserver is een stille kast in combinatie met een efficiënte voeding meestal de beste oplossing. Bij de drivebays is het ook handig om te weten dat je elke 5.25" met een simpel en goedkope bracket kunt gebruiken voor een 3.5" harde schijf. Enkele merken kasten waarbij je eigenlijk altijd wel goed zit, zijn Antec, Chieftec en CoolerMaster die alle drie ook nog eens stock erg degelijke voedingen meeleveren; niet onbelangrijk voor een fileserver. Als je om wat voor reden dan ook een rackmount chassis wilt hebben, zou je eens kunnen kijken bij Chenbro. Die kasten zijn over het algemeen erg degelijk voor een relatief vriendelijke prijs. Harde schijven: Tenslotte natuurlijk het belangrijkste van je fileserver: de harde schijven. Er is extreem veel keus en het is maar net hoeveel ruimte je nodig hebt en hoeveel budget je hebt. Over de hoeveelheid schijven en de grootte ervan valt wat te zeggen. Het is handig om allereerst na te gaan hoeveel schijfruimte je in totaal wilt hebben en of je RAID wil gaan draaien. Als je bijvoorbeeld 4TB schijfruimte wilt hebben EN RAID5 wilt draaien, maar slechts plek hebt voor 4 harde schijven, kun je er voor kiezen 4 harde schijven van 1.5TB te nemen. Netto houd je dan 4.5TB over. Een andere factor om in je beslissing mee te nemen is natuurlijk dat meer harde schijven meer energie vreten en meer warmte produceren. |
Software: |
Operating System: Windows: Windows is natuurlijk een optie. Het kan prettig zijn als je geen zin hebt om energie en moeite te steken in het 'leren' van een nieuw besturingssysteem; alles is lekker vertrouwd en het is meestal ook nog vrij stabiel te noemen. De RAID5 implementatie van Windows is echter niet zo snel als die van de op *nix gebaseerde varianten. Als je er verder geen problemen mee hebt dat je schrijfsnelheden erg laag zijn ten opzichte van *NIX alternatieven, is Windows een reëele optie. De server edities van Windows ondersteunen standaard RAID5, maar Windows XP niet. Gelukkig hebben we daar de RAID hack voor. FreeNAS: FreeNAS is een OS gebaseerd op FreeBSD, speciaal gemaakt om een NAS te draaien. Het is extreem lightweight en simpel te configureren via de webinterface. Vrijwel alle standaardfeatures die je van een NAS verwacht zitten er in en biedt RAID5 ondersteuning via een oudere (maar stabiele) versie van geom_raid5, met minder hoge performance dan nieuwere versies op FreeBSD7 maar wel minder RAM genoeg neemt. Als je dus een OS zoekt waarbij je zo weinig mogelijk zelf hoeft te tweaken en die een kleine footprint heeft (het past op een 32MB CF kaart), kan dit een goede optie zijn. FreeBSD: Omdat FreeNAS een erg uitgeklede versie van FreeBSD is en speciaal gericht op files serven is, is het wat lastiger om er dingen als een webserver op te laten draaien. Wil je dus je NAS ook nog andere taken laten verrichten is het wellicht een goed idee om gewoon een FreeBSD installatie te doen. Let wel, als je dat doet moet je zelf de geom_raid5 module nog installeren. Bij de HOWTO's staan enkele tutorials hoe je een FreeBSD installatie kunt opzetten met geom_raid5 en hoe je bijvoorbeeld een webserver of Samba kunt installeren. Linux: In het vorige deel kwam linux als OS bijzonder weinig aan bod, maar toch wil ik het hier even noemen omdat het een prima optie is. Op http://linux-raid.osdl.org staat een mooie beschrijving over raid en dan met name de toepassing ervan op een linux machine. Welke distributie je wilt gebruiken is natuurlijk helemaal aan jou. Als je nog niet met een distro bekend bent, kijk dan even in Het grote welk OS (bijvoorbeeld linux distro) topic deel 7. Een aantal linux distributies die speciaal voor NASses ontwikkeld zijn: • Openfiler • SME Server |
Howto's: |
• Installatie van FreeBSD 7 met geom_raid5 |
Links: |
• Door FreeBSD 7 en FreeBSD 6/FreeNAS ondersteunde SATA en PATA chips • Linux software RAID optimalisaties • Algemene linux tuning tips • Installatie van ZFS onder FreeBSD (experimenteel!) |
[ Voor 136% gewijzigd door Quadro! op 12-03-2009 12:57 ]