‘Storage, dat lossen we zo goedkoop mogelijk op’
De uitgifte van data is in principe gratis. Het is één van de argumenten voor een gezamenlijke internetdienstaanbieder. Daarnaast heeft het bedrijf veel ervaring met omroepen, dat helpt bij het begrijpen van de vragen en behoeften. Alle omroepen schakelen voor onder meer het digitaal doorgeven van hun programma’s het internetbedrijf in. De VPRO is de enige uitzondering; die biedt de streams zelf aan. "Maar zelfs dat loopt toch via onze servers", vertelt Dick Snippe, tijdelijk de coördinator bij de beheertak, die werk biedt aan zes van de veertien man personeel. Raid-5 en NFS De dienstverlener beschikt inmiddels over tien servers voor storage, tien voor on-demand en tien voor live-streaming. "Storage lossen we zo goedkoop mogelijk op." Dat verklaart volgens Snippe meteen waarom gekozen is voor één gespecialiseerde Nederlandse leverancier, Melrow, die de machines zelf assembleert. "Zij leveren bijzondere apparaten voor bijzondere klanten." Storageservers zijn er in twee smaken. De eerste generatie beschikt over twaalf harde schijven van 250 Gbyte. De opvolger heeft twaalf schijven van 500 Gbyte. Uiteraard is het een Raid-installie (Redundant Arrays of Inexpensive Disks, een aantal methoden voor opslag waarbij de data over meerdere schijven worden verdeeld) en wel Raid-5. Snippe koos ook voor Linux als besturingssysteem. "Simpel, omdat die makkelijk zijn in te richten als fileserver." Hij en zijn collega’s gebruiken daarvoor NFS. Dit Network File System is een door Sun Microsystem ontwikkeld bestandssysteem, dat het mogelijk maakt schijven via het netwerk te benaderen alsof ze fysiek in de computer zitten. Triviale uitbreiding Het hele recept levert machines op met twee respectievelijk vier terabyte aan opslagruimte. De aanpak is op deze manier uiterst simpel schaalbaar, vertelt Snippe. "Hebben we meer nodig, dan kopen we gewoon een doos erbij. Het is zó modulair, het is bijna net Lego." Omdat iedere nieuwe storageserver via het netwerk gekoppeld kan worden aan de andere, is uitbreiding tot ongeveer honderd servers triviaal. "Het is een kwestie van enkele symlinks veranderen, en je bent klaar." Symlinks is ook een typische Unix-truc; een bestand kan een link zijn, die verwijst dan naar het eigenlijke bestand. Dat origineel kan, middels NFS, ook op een server elders in het netwerk zitten. Dat het systeem op deze manier niet veel meer dan honderd servers groot mag worden, verontrust Snippe totaal niet. "Door de groei van de hardeschijfcapaciteit, worden onze servers steeds groter. Een jaar geleden waren onze serverbouwstenen twee terabyte groot. Nu zijn ze al vier terabyte. Tegen de tijd dat die versleten zijn, zullen de terabyte disks gewoon zijn. Groei van het aantal servers is niet echt nodig." Snippe gebruikt voor al deze dozen de Linux-distributie Fedora Core. "Nou ja, we gebruiken Fedora als een compile farm. We maken de Linuxkernel zelf en halen dan de rest van de software die we nodig hebben van de Fedora servers." Voor het monitoren van alle servers gebruiken de ICT’ers Nagios, een open- source beheertool. Iedere vier terabytedoos in het opslagnetwerk kost ongeveer achtduizend euro. Een doos met 24 keer 500 Gb schijfruimte kost niet meer dan veertienduizend euro. "Vraag voor de grap de prijs eens van een vergelijkbare machine aan HP of EMC. Die zitten er zelfs met hun low- end machines nog stukken boven." De opslag moest heel goedkoop geregeld worden, vervolgt Snippe over de Linux-aanpak. De aanschaf moest gebeuren in de financiële schaduw van de voorganger van het systeem, een machine van SGI (Silicon Graphics) volgeladen met disks en backuptapes. Die machine voldeed wat opslag betreft prima, maar bleek onvoldoende te presteren als er wat meer vraag was naar bestanden op de tapes. "Groeide de vraag van tienduizend naar honderdduizend bezoekers, dan was dat erg goed te merken." Snippe vond indertijd, nu een paar jaar terug, tape niet langer voor de hand liggend. "Tape is flauwekul. De disks zijn zoveel groter geworden en via Linux met Raid-5 zo goed te ontsluiten." De omroep-internetdienstaanbieder koos vervolgens voor NFS in plaats van iSCSI (Internet SCSI, een TCP/IP-variant van disktechniek SCSI). Doordat de Linuxbakken zo weinig kostten, konden Snippe en zijn collega’s het serverparkje stuk voor stuk uitbreiden. Het geld kwam uit de hoeken en gaten van het budget. "Onze klanten zijn erg blij dat de tape uit zicht is. Begin dit jaar is de SGI-machine afgeschreven, want ook de back-up is nu disk-based. Als je nog emplooi hebt voor een SGI-machine..." Snippe is ondertussen bezig met de volgende generatie voor opslag. Nu bestaat het opslagsysteem nog uit edge-servers, die de binnenkomende verzoeken doorspelen aan de batterij van Linux-Raid-5-servers. Deze Edge-laag bestaat uit tien Linuxsystemen en zes Windowsmachines, die alleen nodig zijn omdat Microsoft op de eigen Windows 2003-servers alleen het gebruik toestaat van WMF (Windows Media File, een audio en video-bestandstype). "Ook de Helix-server van Realnetworks kan echter sommige WMF-varianten aanbieden, totdat Microsoft de codes weer eens aanpast. Die Real-techneuten hebben WMF denk ik ‘ge-reversed-engineerd’. Maar dat zullen ze wel ontkennen." Om straks te kunnen voldoen aan de verwachte groei van aanvragen, gaat Snippe beginnen met het inbouwen van een laag Linux-cacheservers tussen de edge-laag en de batterij diskservers. Op deze manier gaat de internetdienstaanbieder slim om met licenties, verklaart Snippe. "We kunnen de capaciteit uitbreiden zonder dat we extra licenties hoeven te kopen bij Realnetworks of bij Microsoft. Hun servers blijven in aantal constant, maar kunnen door de caching tussenlaag gewoon meer verzoeken aan." De caching laag gaat ook volledig bestaan uit Linuxservers. "We beginnen gewoon met een nieuwe laag Legoblokken. Twaalf disks per doos. We beginnen maar eens met vier dozen. Dat zijn dus 48 disks en dat wordt zeker geen Raid-5 maar een twelve-way-mirror. We zetten het één keer neer en het staat meteen op twaalf schijven. Dat moeten we overigens nog wel testen." Snelle, kale kernels Waarom compileert de omroep-internetdienstaanbieder zelf de Linux-kernel? Dat blijkt de installatiesnelheid fors te verhogen. Nu hebben Snippe en zijn collega’s zo’n 150 tot 200 Linux-servers in beheer. Zo’n doos moet snel kunnen worden ingericht. "Binnen een minuut of vijf. Nou, dat is denk ik wel overdreven, maar het moet kunnen met de spreekwoordelijke druk op de knop." Om dat gemak te bereiken moet de machine via het netwerk aangezet en vervolgens compleet geïnstalleerd kunnen worden. In de kernel wordt daarom PXE-boot (Preboot eXecution Environment) als optie meegebakken. Dat betekent dat, eenmaal op afstand aangezet, die kernel in het RAM-geheugen een mini-versie van Linux begint. Die haalt vervolgens de software op die nodig is en richt zichzelf in als RAID-5-server. "Het maakt onze ‘bare metal restores’ ontzettend simpel. Alles wat je nodig hebt, is een kernel die PXE-snapt, TFTP en shell-toegang." TFTP is een versimpelde en onbeveiligde variant van FTP (File Transfer Protocol). Snippe en collega’s kozen er daarnaast voor de kernel zo ver mogelijk uit te kleden. "Ach, als we toch bezig zijn met een eigen kernel..." Zo worden alleen de modules toegelaten die echt voor het systeem nodig zijn, de rest wordt eruit gehaald. Dat betekent geen ondersteuning voor PCMCIA-kaartjes, geluidskaarten of allerlei netwerkkaarten. De modules die nodig zijn, worden ook meegebakken in de kernel en juist niet als door de kernel oproepbare modules klaargezet. Dat maakt de kernel wel iets groter, maar het is iets simpeler bakken, vertelt Snippe. Het vergroot daarnaast de veiligheid. Men kan niet inbreken en een goed verstopte kwaadaardige module inladen, want de kernel laadt geen modules. Indrukwekkend systeem. Snippe beaamt het, maar enigzins verlegen. "Ik zou het wel eens willen presenteren op een Unix-conferentie. Er is geen hond die van dit systeem weet, behalve de schaarse bezoeker van Realnetworks." Holle kies Snippe heeft twee verschillende antwoorden op de vraag hoe de internetdienstverlener waakt over de duurzaamheid van de data. "Wat betreft de bestanden waar wij zelf over gaan, zoals logfiles, is het beleid heel simpel: we bewaren alles. Dat is praktisch en eenvoudig te doen omdat logfiles lineair in omvang toenemen, terwijl disks exponentieel groter worden. Is de server waar die logfiles op staan afgeschreven, dan is hij vervangen door een met twee keer zoveel schijfruimte. De oude logfiles passen makkelijk in de holle kies van de nieuwe server. Ad infinitum." Het beleid ten aanzien van de gegevens van de klanten, is complexer. Snippe: "Het uitdagende stuk is de content, ofwel, hoe zag die en die website er uit op die en die datum. Officieel doen wij daar niets voor. Een omroep gooit content weg, wij gaan dat niet archiveren. We maken uiteraard wel back-ups." Dat doet de dienstverlener met onder meer open-sourcetool Rsync. Oneindig bewaren De maximale bewaartijd is vijf jaar, vertelt Snippe. "Vraagt een omroep niet om iets te bewaren, dan is het mogelijk na vijf jaar niet meer aanwezig. Maar net als met onze logfiles, zijn we prima in staat oud materiaal oneindig te bewaren." De dienstverlener bood eerder al eens de omroepen aan om alle radiozendlijnregistratie, van radio1, radio2, 3fm, radio4 en 747am, voor eeuwig te bewaren als mp3-bestanden. Ze rekenden daar geen extra kosten voor, boven de al in rekening gebrachte coderingen voor de levering on-demand. "Daar was geen behoefte aan. Tja. Dan houdt het op natuurlijk." Beveiligingsrisico Een complicerende factor bij het bewaren van de data, is volgens Snippe de software die voor websites wordt gebruikt. "Als je nu bij mij komt met een databasedump van tien jaar oud, en een website geschreven met de verouderde PHP-versie 2, dan is het lastig om die met up-to-date software weer aan de praat te krijgen. Zo’n site draaien op software van tien jaar terug wil je niet: daar in de tussentijd allemaal beveiligingslekken in gevonden zijn. Kortom, die hele versie-problematiek is complex. Daar heeft denk ik nog niemand een pasklaar antwoord op."