Waar anderen hun Unix-technologie in het open source-domein brengen om Linux geschikt te maken voor hun bedrijfseigen hardware, doet Sun dat precies andersom. Het zoekt met Solaris aansluiting bij Linux, in de hoop gebruikers te kunnen ‘strikken’ voor Solaris zodra zij behoefte hebben aan meer.
Virtualisatie, afkomstig uit de mainframewereld maar inmiddels sterk in opkomst in het rekencentrum, is wat het huidige Solaris op alle niveaus kenmerkt. De eerste en meest eenvoudige vorm is partitionering van de hardware op elektronisch niveau. Per systeembord wordt aangegeven bij welke partitie het hoort.
Eén niveau hoger treffen we virtualisatie op basis van een hypervisor aan. De verschillende besturingssystemen worden gecontroleerd door een combinatie van software en hardware. Deze technologie kennen we ook van VMWare en Xen. Speciaal voor virtualisatie op de multicore Sparc T1-processor heeft Sun een nieuwe hypervisor ontwikkeld. Naast Solaris worden ook Linux-images ondersteund.
Zones en BrandZ
Nog een niveau hoger worden van elkaar afgeschermde omgevingen op hetzelfde besturingssysteem geboden. In de Solaris-wereld worden deze softwarematige compartimenten zones genoemd. Deze zomer voegt Sun hier BrandZ aan toe. Een zone kan nu een label krijgen dat aangeeft dat het zich als een andere omgeving, met eigen besturingssysteem, moet gedragen. Zelf biedt Sun als referentie-implementatie Linux aan. Het is nu aan de open source-gemeenschap om andere BrandZ, bijvoorbeeld voor BSD, te maken.
Tenslotte kunnen we ook binnen het besturingssysteem nog middelen (resources) toekennen aan specifieke applicaties. Waar de eerste drie virtualisatietechnieken hun oorsprong vinden in het mainframe, is resource-beheer een klassieke Unix-aanpak die al sinds versie 8 in Solaris zit.
Eventueel kan zelfs nog een vijfde virtualisatielaag worden onderscheiden. Daarbij is de virtualisatiesoftware zelf geen onderdeel van het besturingssysteem. Het draait in plaats daarvan als een gewone applicatie. VMWare Server, voorheen VMWare GSX, werkt bijvoorbeeld op deze manier.
Balen
“Wij zien de compatibiliteit met Linux vooral als middel om mensen van Linux naar Solaris te laten migreren”, zegt Bart Muijzer, systems architect en operating systems ambassador. Volgens hem beginnen gebruikers te balen van Linux. “Men is destijds naar Linux gaan kijken omdat het gratis was. Maar als bank wil je een licentie en ondersteuning. Bovendien schaalt Linux niet door. Met acht dual-core processoren, goed voor zestien kernen in totaal, zit je aan het maximum.” Diverse server- en Linux-leveranciers spreken dit echter tegen.
Daarnaast noemt Muijzer het beheer een drama. Tenslotte benadrukt hij dat het overzetten (porten) van Linux-applicaties straks met de nieuwe Linux-BrandZ heel eenvoudig wordt. “Omdat we gcc (de GNU C-compiler) en alle Linux-headers en -bibliotheken op ons systeem beschikbaar hebben, is dat een kwestie van hercompileren en installeren.”
Hij neemt een grote buitenlandse bank als voorbeeld. “Zij hebben drie-, vierhonderd servers met Linux draaien. Inmiddels onderhouden ze zo vijftien verschillende versies van Linux. En die oude versies opruimen blijkt helemaal niet eenvoudig te zijn. Gebruikers ontdekken langzaam dat ook Linux niet de heilige graal is.”
Muijzer ontkent dat de compatibiliteit met Linux noodzakelijk is om de levensduur van Solaris te rekken. Toen Sun zelf nog geen Linux voerde, is het bedrijf immers veel klanten kwijtgeraakt aan andere leveranciers die wel Linux-servers verkochten. “Om te doen wat wij willen, hebben we Solaris heel hard nodig.”
Een andere functie die sinds versie 10 in Solaris zit, is voorspellende zelfgenezing (predictive self healing). “Het besturingssysteem houdt voortdurend de hardware in de gaten. Als zich bijvoorbeeld een corrigeerbare geheugenfout voordoet, dan wordt die in eerste instantie hersteld. Treedt het probleem vaker op, dan wordt het geheugen gemarkeerd zodat het vervangen kan worden.”
Freelux
Andere leveranciers van grote systemen – denk aan IBM, Unisys, HP en SGI – hebben hun zware technologie juist beschikbaar gesteld aan de Linux-gemeenschap. Zij willen zo op de Linux-golf meegaan en hun eigen, gesloten hardware blijven verkopen. Sun doet het andersom: het brengt Linux-technologie binnen in zijn Solaris. En hoewel Linux er weldegelijk is voor de Sparc-architectuur, doet Sun daar officieel niks mee. “We dragen wel technologie bij, zegt Muijzer, “maar we zullen Linux op Sparc nooit als een product brengen.”
Muijzer geeft toe dat het vooral zakelijke overwegingen zijn om het op deze manier te doen. “Solaris is waar we verstand van hebben. Bovendien zitten daar mega-investeringen in.” Sun heeft te veel geld in Solaris zitten en te veel Solaris-specifieke middelen om het besturingssysteem los te kunnen laten. “Als je het aan de leiding (corporate) vraagt, dan is alles gericht op een wereld waar over vijf tot tien jaar nog maar drie besturingssystemen over zijn: Linux, Windows en Solaris. Linux zal daarbij voornamelijk op de kleinere systemen gebruikt worden, Solaris op de grotere.”
Kennelijk heeft Muijzer zelf ook twijfels over de haalbaarheid van deze ambities als hij zegt: “Ik denk dat we uiteindelijk uitkomen bij één besturingssysteem waarin alle mooie dingen van Linux en Unix verenigd zullen zijn. Je ziet alles nu bij elkaar komen. Ik weet alleen niet of het Linux zal heten. Noem het SuperUX of Freelux.”
Onderscheidende functies
Zettabyte File System (ZFS): high-end bestandssysteem. Geport naar Linux op basis van FUSE (Filesystem in Userspace). Wordt ook overgenomen door Apple in volgende versie van MacOS X.
DTrace: tracer voor tuning en debugging van applicaties en het besturingssysteem zelf. Wordt door Apple overgenomen in de volgende versie van MacOS X.
Predictive Selfhealing: de Fault Manager en Service Manager houden de onderliggende hardware in de gaten.
Zones: verschillende operating environments binnen hetzelfde besturingssysteem. Behalve Solaris is ook een Linux-omgeving beschikbaar.
BrandZ: gevirtualiseerde zones die zich als een Linux-omgeving gedragen.
Privilege based security: de root-gebruiker als hard-gecodeerde uitzondering bestaat niet meer. Daarvoor in de plaats zijn nu een stuk of vijftig privileges gekomen, die de root nu inderdaad allemaal heeft. Deze feature is ontworpen door Casper Dik, één van de drie Nederlandse Solaris-engineers, en vormt de basis onder de Solaris 10 Trusted Extensions (vergelijk de oude Orange Book kwalificaties, tegenwoordig de Common Criteria).
Herschreven netwerk stack (zowel TCP als UDP): beter gebruik van netwerkkaarten die TCP Offload Engine (TOE) ondersteunen en maximaal gebruik van Chip Multi-Threading (CMT).
Sun plukt vruchten van OpenSolaris
Eind dit jaar komt de volgende versie (codenaam Nevada) van Solaris uit. Daarin zullen ook de opbrengsten van Suns open source-strategie zijn opgenomen. Hoewel menigeen twijfels had over de levensvatbaarheid van de community, blijkt die inmiddels goed te functioneren. Het is inmiddels al weer twee jaar geleden dat Sun zijn Solaris als open source beschikbaar stelde. “Open source is veel meer dan alleen de code op internet zetten,” zegt Bart Muijzer, systems architect en operating systems ambassador bij Sun. “Solaris bestaat uit honderdduizenden source files. Van alles wat nu als open source beschikbaar is, hebben we helemaal uitgevogeld of dat ook mocht. Daar zijn we drie jaar mee bezig geweest. In het ergste geval hebben we zelf de code herschreven.”
Hoewel menigeen twijfelde of de software opgepakt zou worden door de open source-gemeenschap, geeft Muijzer aan dat dit inderdaad het geval is. “De OpenSolaris community is nu ongeveer 30.000 mensen groot. Ongeveer eens per maand worden hun aanpassingen en onze versie gesynchroniseerd. Zo brengen wij onze ontwikkelingen naar buiten en halen we die van anderen binnen in Solaris.”
De Developer’s Edition die van de maandelijkse versie wordt afgeleid, is in feite een snapshot van hoe de volgende versie van Solaris er nu uitziet. Hoewel Muijzer nog niet met zekerheid kan zeggen welke nieuwe features er precies in zullen worden opgenomen, zijn er wel diverse die in aanmerking komen. Daaronder vallen de vervanging van de trage binaire patches, Crossbow en netwerkvirtualisatie. De volgende versie van Solaris staat gepland voor november van dit jaar, met een mogelijke uitloop naar december. Xen (alleen voor x86) zit al in de ontwikkelversie. Of die eind dit jaar al in Solaris zal zitten, is nog niet bekend.