Stilstand is achteruitgang. Onder dat motto blijven we altijd weer ontwikkelen. Soms betekent dat vervanging van apparatuur, zoals de overstap naar Cisco apparatuur, maar soms is er ook op software niveau verbetering mogelijk. Zoals in dit geval het opnieuw uitvinden van virtualisatie.
We zijn enkele jaren geleden begonnen met virtualisatie op basis van Xen. Uiteraard hebben wij dit uitvoerig getest en we hebben de clusters op basis van Xen dan ook al een flinke tijd stabiel draaien. Waar klanten (gelukkig) niks van merken, is de beheerkant. Voor dit beheer zijn we momenteel deels afhankelijk van third-party tools. Na een tijdje kom je dan toch altijd kleine dingen tegen. Het betreft open source software, dus het is zelf aan te passen. Maar dat is weer lastiger met updates van de ontwikkelaars van de software. Je kunt ook losse dingen eromheen schrijven, maar dat komt het functioneren vaak ook niet ten goede.
Eind vorig jaar besloten we dat het tijd werd om alles opnieuw te bekijken. Na veel testen, is de keus gevallen op de virtualisatietechniek KVM en het ontwikkelen van eigen clustersoftware. Eigen software is makkelijker te combineren met bijvoorbeeld onze eigen beheer- & administratie-software en krijgen we daarnaast nog meer diepgaande invloed op onze clusters, wat weer handig is bij eventuele storingen.
Maar waarom geen Xen meer? Hiervoor waren eigenlijk meerdere redenen. Belangrijk was vooral dat Xen voornamelijk voor de, inmiddels verouderde, 2.6.18 kernel wordt ontwikkeld.
Hierdoor missen vaak kernel modules voor de wat nieuwere hardware. De ontwikkeling van KVM lijkt wat actiever te zijn en meerdere Linux distributies hebben Xen ook de deur uitgedaan en vervangen door KVM. In Linux Debian Lenny zit wel een Xen kernel op basis van 2.6.26, maar we hebben tijdens onze testen deze niet volledig stabiel gekregen.
Verder hebben we met Xen ook andere kleine probleempjes. Zo gaat bijvoorbeeld een live migration (dus zonder downtime een virtueel systeem naar een ander fysiek systeem verplaatsen) niet altijd helemaal goed. KVM is op dit punt toch wel heel wat beter. Ook blijkt KVM iets betere performance te leveren dan onze huidige Xen opstelling.
Het grootste deel van deze ‘problemen’ is overigens niet aanwezig bij Citrix XenServer. Hierbij hebben we bijvoorbeeld zeer positieve ervaringen met live migration, op voorwaarde dat de software voor gastsystemen van Citrix geïnstalleerd is. Citrix XenServer heeft alleen weer als nadeel dat het wat minder open is en hierdoor veel meer afhankelijk bent van Citrix. Als oplossing voor onze klanten die zelf virtualisatie willen, is dat vaak geen probleem.
Het ontwikkelen van ons nieuwe cluster en bijbehorende clustersoftware heel wat manuren gekost. Zo zijn onder andere het beheer van instellingen, toevoegen van virtuele systemen, ervoor zorgen dat er geen dubbele MAC adressen ontstaan in het netwerk, virtuele servers live migreren, de harddisks van een systeem kunnen vergroten en regelmatige automatische controles of alles nog wel correct draait, enkele van de vele belangrijke beheer functies die onze clustersoftware moesten komen. Ook klanten moesten meer controle krijgen over hun virtuele server, waaronder bijvoorbeeld het zelfstandig kunnen herstarten of via de console overnemen van een virtuele server zijn onderdelen die binnen ons klantensysteem ‘my.shockmedia.nl’ beschikbaar moesten komen.
Na veel ontwikkeling en testen is dan inmiddels ons nieuwe cluster, op basis van KVM en onze eigen clustersoftware, live gegaan. Nieuwe Virtuele Servers leveren wij dan ook per direct op vanuit ons nieuwe cluster.