Ik geef toe dat ik redelijk in de war geraakt ben van al het tumult rond Storage Area Networks (san’s). Een san is een ultrasnel netwerk, waarmee I/O-randapparatuur op de computer wordt aangesloten. De wirwar aan kabels behoort hiermee tot het verleden. In essentie is die architectuur, een netwerk van computers en controllers voor randapparatuur, identiek aan de architectuur van een mainframe. Het beweerde voordeel van een ‘san’ is dat een groot aantal verschillende computers en randapparaten tegelijk op elkaar aangesloten kunnen worden.
Dit lijkt aantrekkelijk. Toch moeten er nog enige belangrijke vragen worden beantwoord. Een opslagsysteem wordt alleen gebruikt om de fysieke gegevens op te slaan. De meeste applicaties maken gebruik van verschillende lagen software, die steeds meer betekenis aan die ruwe bitpatronen toekennen. Boven op de ‘storage’-laag bevindt zich een filesysteem, dat zorgdraagt voor het toewijzen van fysieke sectoren aan logische ‘bestanden’ die het besturingssysteem herkent. Hier is een tabel voor nodig, die zelf ook opgeslagen moet worden. Boven het niveau van het filesysteem is de software vrij om bestanden te openen en te sluiten op basis van logische namen, zonder dat bekend hoeft te zijn op welke fysieke locatie het bestand is opgeslagen.
De gegevens in een bestand zijn niet meer dan een reeks bits en bytes. Daarom is er vaak een speciale laag software nodig, de ‘record management’-laag, die bijhoudt welke bytes in een bestand overeenkomen met een bepaald ‘record’. Deze vertaling van logische referenties naar fysieke gegevens wordt ingewikkelder naarmate de complexiteit van de database toeneemt. In tegenstelling tot eenvoudige platte bestanden met records bevat een database ingewikkelde en onderling samenhangende tabellen. Een van de belangrijkste verfijningen van moderne database-software is het gebruik van ‘caching’. Hierbij worden veelgebruikte records opgeslagen in het geheugen, waardoor het raadplegen van de database vele malen sneller verloopt. Bij grote databases worden veel geraadpleegde read-only tabellen vaak direct naar het geheugen gekopieerd; de schijf fungeert in feite als een niet-vluchtig backup-medium. Caching is wel ingewikkelder, bijvoorbeeld omdat gegevens die naar de cache geschreven worden ook op disk terecht moeten komen, of omdat meerdere caches onderling gesynchroniseerd moeten worden.
Kortom, het is een complexe situatie. Het heeft jaren geduurd voor er praktische oplossingen waren. En deze oplossingen bevinden zich grotendeels in grote computers, of in geclusterde systemen met een gemeenschappelijke controller. Al die functionaliteit moet opnieuw ontworpen worden om haar adequaat op een san aan te kunnen sluiten.
De vraag rijst welke leverancier verantwoordelijk is voor de synchronisatie van deze complexe software. Als een san niet meer is dan een nieuwe generatie opslagsystemen voor mainframes, is dit niet zo ingewikkeld. Maar de san-leveranciers mikken op heterogene netwerken met veel verschillende computers en besturingssystemen. En hier raak ik in de war. Elk besturingssysteem heeft toch zijn eigen algoritme om fysieke sectoren op disk toe te wijzen aan logische bestanden? De betekenis van een sector wordt bepaald door het filesysteem. Het lijkt me dus dat er sprake is van een complexe situatie waarbij een of andere vorm van aanvullende sturing noodzakelijk is. Hierdoor wordt een san-omgeving complexer dan een mainframe-omgeving, en dat komt natuurlijk doordat in het laatste geval slechts sprake is van één besturingssysteem.
Het lijkt nog wel even te duren voordat san-apparatuur echt door verschillende systemen tegelijk kan worden gebruikt. Toch is er een compromis mogelijk, waarbij de diskcontroller de allocatie van sectoren kan spreiden over meerdere partities, zodat Unix bijvoorbeeld een sector krijgt toegewezen, NT een andere sector, en MVS weer een andere sector. Hierbij worden alleen de schijven gemeenschappelijk gebruikt, niet de gegevens.
De sleutel tot de verdere ontwikkeling van san ligt in de intelligentie van de diskcontrollers. Het zou mogelijk zijn om verschillende filesystemen via één controller te laten lopen, waarbij synchronisatie plaatsvindt door middel van replicatie naar de individuele machines op basis van san. Als dit mogelijk is, dan ontstaat er een groot voordeel: deze architectuur kan worden gebruikt voor archivering en backup, veelal tussen disk- en tape-systemen. Op dit moment werkt de meeste backup-software door sectoren van disk te lezen, in het geheugen op te slaan en vervolgens naar tape te schrijven. Als de controller over alle noodzakelijke meta-informatie beschikt, dan kun je de gegevens via san selectief van disk naar tape kopiëren zonder dat ze tussentijds in het geheugen hoeven te worden opgeslagen.
Samenvattend: ‘storage area networks’ zijn interessant als opslagmogelijkheid voor systemen van hetzelfde type, maar zijn nog te complex om grote systemen met verschillende besturingssystemen te kunnen vervangen.
Martin Healey, pionier ontwikkeling van op Intel gebaseerde computers en c/s-architectuur. Directeur van een aantal IT-bedrijven en professor aan de Universiteit van Wales.