Valg af et åbent storage-operativsystem
Det bliver stadig mere almindeligt at opgive traditionelle, proprietære storage-enheder, både NAS og SAN, og i stedet bruge standard hardware og installere et storage-operativsystem på det til det, mange kalder “gør-det-selv”-storage-servere. Dette er naturligvis en misvisende betegnelse, da ingen kalder en normal filserver “gør-det-selv” blot fordi man selv installerede Windows. Storage er omgærdet af megen myte og legende, og folk panikker ofte, når de tænker på at installere Windows og kalde det NAS frem for en filserver. Så hvis det hjælper, brug betegnelser som filserver eller storage-server frem for NAS og SAN – problem løst. Dette er en del af “open storage”-bevægelsen – at flytte storage-systemer fra proprietære til standard.
At vælge det rigtige operativsystem til en storage-server er vigtigt og ikke altid nemt. Jeg arbejder intensivt inden for dette område, og folk spørger mig ofte, hvad jeg anbefaler; anbefalingerne varierer afhængigt af scenariet og virker ofte forvirrende. Men faktorerne er faktisk relativt enkle, hvis man blot kender de begrænsninger, der skaber valgene og stierne i beslutningsprocessen.
Inden man vælger et OS, skal man stoppe op og overveje, hvad ens behov vil være. Nogle områder, der skal overvejes, er: kapacitet, ydeevne, administrationslethed, budget, forbindelseteknologi, pris og klyngedannelse. Der er to hovedkategorier af systemer, vi vil overveje: standard operativsystem eller storage-applianceoperativsystem. De standard operativsystemer er Windows, Linux, Solaris og FreeBSD. Storage-applianceoperativsystemerne er FreeNAS, OpenFiler og NexentaStor. Der er andre i begge kategorier, men disse er de vigtigste spillere i øjeblikket.
Den første beslutning, der skal træffes, er, om du eller din organisation er komfortabel med at understøtte et normalt operativsystem i en storage-serverrolle. Hvis du ser på NAS, skal du blot spørge dig selv, om du kunne administrere en filserver. Administration af en bloklager-server (SAN) er lidt mere kompleks eller i hvert fald usædvanlig, så dette kan fremkalde en smule bekymring, men er reelt på linje med andre administrationsopgaver. Hvis svaret er ja, at brug af normale operativsystemværktøjer og -grænseflader er acceptabelt for dig, så udeluk straks “appliance”-kategorien. Appliance-tilgangen tilføjer kompleksitet og sinker udviklings- og supportcyklusser, og er derfor uønsket, medmindre det er nødvendigt.
Storage-applianceoperativsystemer eksisterer udelukkende for at give et færdigpakket, “nemt at bruge” syn på at drive en storage-server. Konceptuelt er dette rart, men der er reelle problemer med denne metode. De største problemer opstår fra pakkningsprocessen, som trækker dig et skridt væk fra enterprise OS-leverandørerne selv, hvilket gør dit system mere skrøbeligt, bagud med opdateringer og funktioner og mindre sikkert end de traditionelle OS-modstykker. Det efterlader dig også i et meget lille firmas varetægt for OEM-niveau support, når noget går galt, frem for hos en stor enterprise-leverandør med en massiv brugerbase og et community. Applianceringsprocessen fjerner også funktioner og muligheder fra systemerne efter nødvendighed. I sidste ende taber du.
Appliances er rare, fordi du får en praktisk webgrænseflade, hvorfra “alle” kan administrere din storage. I hvert fald i teorien. Men i virkeligheden er der to bekymringer. Den første er, at der altid er behov for at gå ned i selve operativsystemet og fikse ting fra tid til anden. At have den brugerdefinerede webgrænseflade for appliance'en gør dette dramatisk sværere end normalt, så netop på det tidspunkt, hvor du mest har brug for appliance-naturen af systemet, har du det ikke. Den anden er, at det at gøre noget så kritisk som storage tilgængeligt for “alle” at arbejde med er en skræmmende tanke. Der er få dele af din infrastruktur, hvor du ønsker mere erfaring, planlægning og omhu end i storage. At gøre systemet sværere at bruge er ikke altid en dårlig ting.
Hvis du har brug for appliance-systemet, kigger du primært på FreeNAS og OpenFiler. NexentaStor tilbyder et overbevisende produkt, men det er ikke tilgængeligt i en gratis version, og prisen kan være byrdefuld. Den frit downloadbare version ser ud til at være gratis for de første 18 TB rålager, men licensen siger andet, hvilket gør dette sjældent det populære valg. (Prisen på NexentaStor er høj nok til, at køb af et fuldt understøttet Solaris-system ville være billigere og giver fuld support fra den originale leverandør frem for Nexenta, som i bund og grund genpakker gamle versioner af Solaris og ZFS. Mere moderne kode og opdateringer er tilgængelige til en lavere pris fra den originale kilde.)
FreeNAS er, bortset fra klyngedannelse, den foretrukne storage-platform i en applianceret pakke. Den har det meget omtalte ZFS-filsystem, som giver den fleksibilitet og brugervenlighed, der mangler i OpenFiler og andre Linux-baserede alternativer. Den har også en fungerende iSCSI-implementering, så du kan bruge FreeNAS sikkert enten som NAS eller SAN. Support til FreeNAS ser ud til at vokse med nye udviklinger, der sker regelmæssigt, og funktioner, der bevares. FreeNAS tilbyder en bred vifte af funktioner og understøttede protokoller. Det menes, at klyngedannelse vil komme til FreeNAS i fremtiden, da dette for nylig er blevet tilføjet til det underliggende FreeBSD-operativsystem. Hvis det er tilfældet, vil FreeNAS fuldstændigt eliminere behovet for OpenFiler på markedet. FreeNAS er helt gratis.
OpenFiler mangler en pålidelig iSCSI SAN-implementering (medmindre du betaler en formue for at få den del af systemet erstattet med en fungerende komponent) og er langt mere forældet end sine konkurrenter, men tilbyder fuld blokniveau real-time replikation, der giver mulighed for at fungere i en klyngetilstand for pålidelighed. Problemet er, at appliancens praktiske webgrænseflade ikke adresserer dette scenarie, og hvis du vil gøre dette, skal du gøre dit arbejde på kommandolinjen, meget grundigt. Dette er ekspertarbejde, og alle, der er i stand til selv at overveje et projekt for at gøre OpenFiler til et pålideligt cluster, vil være lige så komfortable, og sandsynligvis langt mere komfortable, med at bygge hele klyngen fra bunden på deres valgte Linux-distribution. OpenFiler er bygget på den ret upopulære og nu fuldstændig ophørte rPath Linux ved hjælp af Conary-pakkesystemet, som begge er nicheaktører i Linux-verdenen. Du vil finde ringe rPath-support fra andre administratorer, og mange pakker og funktioner, som du måske ønsker adgang til, er utilgængelige. OpenFileres eneste fordel af nogen betydning er tilgængeligheden af DRBD til klyngedannelse, hvilket som nævnt ovenfor er meningsløst. Support til OpenFiler ser ud til at aftage med nye funktioner, der er ikke-eksisterende, og faktisk er nøglefunktioner som AFP blevet droppet frem for at nye funktioner er blevet tilføjet. OpenFiler er gratis, men nøglefunktioner som pålidelig iSCSI er det ikke. Nylige rapporter fra OpenFiler-brugere er, at selv ikke-iSCSI-storage er blevet ustabilt i den seneste udgivelse, og at datatab er en hyppig forekomst. OpenFiler er stadig meget populær i mindshare i dette branchesegment, men bør undgås fuldstændigt.
Hvis du ikke behøver at have dit storage-operativsystem applianceret, har du flere og bedre valg, men et langt mere komplekst beslutningsforløb. I modsætning til applianceOS-markedet, der er fyldt med huller (NexentaStor har uventede omkostninger, OpenFiler ser ud til at understøtte iSCSI men forårsager datatab, funktioner fjernes fra nye versioner), er alle fire her nævnte operativsystemer ekstremt robuste og funktionsrige. Tre af dem har OEM-leverandørsupport, hvilket kan være en afgørende faktor, og alle har fremragende tredjepartssupportmuligheder langt bredere end hvad der er tilgængeligt for appliancemarkedet.
Den første beslutning er, om Windows-eksklusive funktioner, navnlig NTFS ACL'er, er nødvendige. Det er almindeligt for nye NAS-brugere at blive overraskede, når SMB-protokollen ikke giver al den granulære filsystemkontrol, de er vant til i Windows. Det skyldes, at disse kontroller faktisk håndteres af filsystemet, ikke netværksprotokollen, og Windows alene giver disse via NTFS. Så hvis den granulære Windows-filkontrol er nødvendig, er Windows din eneste mulighed.
De tre andre kandidater, Linux, Solaris og FreeBSD, deler alle grundlæggende egenskaber med det bemærkelsesværdige undtagelse af klyngedannelse. Alle har god software-RAID, alle har kraftfulde og robuste filsystemer, alle har kraftfuld logisk volumenadministration, og alle giver en række NAS- og SAN-forbindelsesmuligheder. Mange versioner af Linux og FreeBSD er tilgængelige helt gratis. Solaris er gratis til testbrug, men er ikke tilgængeligt gratis til produktionsbrug.
Den største differentiator mellem disse tre OS-muligheder er klyngedannelse. Linux har haft DRBD i lang tid, og dette er en robust filsystemklyngeteknologi. FreeBSD har for nylig (med version 9.0) tilføjet HAST til at tjene samme formål. I teorien har FreeBSD altså de samme klyngemuligheder som Linux, men dette er meget nyere og langt mindre velkendt. Solaris mangler filsystemklyngedannelse i basis-OS og kræver kommercielle tilføjelser til at håndtere dette på nuværende tidspunkt.
Solaris og FreeBSD deler det kraftfulde og kamptestede ZFS-filsystem. ZFS er ekstremt kraftfuldt og fleksibelt og har længe været det centrale salgsargument for disse platforme. Linux' understøttelse af filsystemer er mere indviklet. Næsten enhver Linux-distribution (vi bekymrer os primært om RHEL/CentOS, Oracle Unbreakable Linux, Suse/OpenSuse og Ubuntu her) understøtter EXT4, som er kraftfuldt og hurtigt, men mangler nogle af de virkelig fine ZFS-funktioner. Men Linux er hurtigt ved at adoptere BtrFS, som er meget konkurrencedygtigt med ZFS, men er nyt og i øjeblikket kun tilgængeligt i Suse og Oracle Linux-distributioner. Vi forventer at se det fra de andre snart til produktionsbrug, men på nuværende tidspunkt er det stadig eksperimentelt.
Bortset fra klyngedannelse vil valget af OS mellem disse tre sandsynligvis primært komme an på erfaring og kendskab. Solaris er generelt kendt for at give den bedste gennemstrømning og FreeBSD den dårligste. Men alle tre er temmelig tætte på hinanden. Når BtrFS er bredt tilgængeligt og stabilt på Linux, vil Linux sandsynligvis blive standardvalget, som det har været tidligere.
Uden ekstern indflydelse er min anbefaling til storage-platform FreeBSD og derefter Linux, med Solaris elimineret på baggrund af, at det sjældent er nogen, der leder efter kommerciel support, og det derfor automatisk udelukkes. Dette er næsten udelukkende baseret på tilgængeligheden af Copy-on-Write-filsystemer og under antagelse af, at der ikke er behov for klyngedannelse, hvilket ikke er almindeligt. Hvis klyngedannelse er nødvendig, så Linux først, derefter FreeBSD, og Solaris er igen udelukket.
Linux og FreeBSD nærmer sig hurtigt hinanden i funktionalitet. Efterhånden som BtrFS modnes på Linux og HAST modnes på FreeBSD, ser de ud til at mødes i midten, hvor valget er knap nok mere end et tilfælde.
Der er intet enkelt, simpelt svar. At vælge et storage-OS handler om at afbalancere utallige faktorer fra ydeevne, ressourcer, funktioner, support, stabilitet osv. Der er nogle få faktorer, der kan bruges til at udelukke mange kandidater, og at kende disse hårde afgrænsningsfaktorer er afgørende. At vide nøjagtigt, hvordan du planlægger at bruge systemet, og hvilke faktorer der er vigtige for dig, er vigtigt for at sortere i de tilgængelige muligheder.
Selv når du har valgt en platform, er der mange beslutninger at træffe. Nogle platforme inkluderer multiple filsystemer. Der er SAN og NAS. Der er multiple SAN- og NAS-protokoller. Der er netværksbinding (eller teaming, i Windows-verdenen). Der er Multipathing. Der er snapshots, volumes, RAID. Listen fortsætter og fortsætter.
