Bij Antagonist doen we aan webhosting en voor webhosting heb je servers nodig. Nu hebben wij veel klanten, dus doen we veel webhosting. Veel webhosting betekent veel servers. Je kunt daarom niet zonder configuratiemanagement. Bij Antagonist gebruiken we daarvoor Puppet, daar hebben we al eerder over geschreven in het artikel dat je meeneemt in de keuken van systeembeheer.
Puppet is heel erg mooi en kan heel veel, maar het is wel een extra proces wat zelf ook weer problemen kan geven. Verander je de configuratie, dan moet dit natuurlijk op alle servers worden uitgerold. Maar wat als dit op één server niet goed gaat? Bijvoorbeeld omdat het puppetproces om wat voor reden dan ook niet goed functioneert? Je wilt dit kunnen monitoren en daar kun je natuurlijk zelf iets voor schrijven, maar je kunt ook een bestaand stuk software pakken. Zodoende hebben wij gekozen voor The Foreman. The Foreman is zoals ze het zelf zeggen een complete beheertool voor de levensfases van servers.
Servers beheren met The Foreman
Wat houdt dit in? Een server gaat gedurende zijn leven door verschillende fases. Het begint bij het begin. De fysieke of virtuele server wordt voor de eerste keer aangezet en er wordt een besturingssysteem geïnstalleerd. Daarna moet de benodigde software geïnstalleerd worden. Dit is de initiële installatie. Vervolgens moet deze software geconfigureerd worden, de initiële configuratie. Hoe ondersteunt The Foreman hierin?
Je hebt een serverprofiel (bijvoorbeeld webhostingserver), dit koppel je aan de nieuwe server. Als de server vervolgens start, dan zal deze van The Foreman een IP-adres krijgen en zal een netwerk-boot starten met behulp van Kickstart. Deze zorgt voor de installatie van het besturingssyteem en de installatie van puppet. In het webhostingserverprofiel staat beschreven welke puppetconfiguratie van toepassing is op de nieuwe server en deze zal ook worden toegepast. Dit zorgt voor de volledige installatie en configuratie van alle software.
We hebben nu een werkend systeem en daarmee komen we in een nieuwe fase. Hier is het voornamelijk Puppet die zorgt dat systemen gelijk blijven. Als een wijziging met Puppet is doorgevoerd, dan is het dashboard van The Foreman erg handig. Hierin zie je in 1 oogopslag of de wijziging op alle servers zijn doorgevoerd. Daarnaast kun je verschillende feiten of ‘facts’ van een server opvragen. Wat zijn de IP-adressen, wat zijn de MAC-adressen, hoeveel schijfruimte is er vrij, welke kernelversie draait erop, welk serienummer heeft het moederbord, welke biosversie wordt gebruikt, etc.
Foreman en Katello
Daarnaast is er binnen Foreman een plug-in genaamd Katello. Hiermee is het mogelijk om zeer strak te regelen welke updates op bepaalde servers worden doorgevoerd. Is er bijvoorbeeld een kritieke bash-update, dan willen we die zo snel mogelijk op alle servers installeren. Maar is er een PHP-update met nieuwe features dan willen we die eerst op onze test-servers installeren. Pas als daar alles goed werkt, willen we de update ook installeren op onze webhostingservers.
Moet de server voor een ander doel ingezet worden? Geen probleem, geef hem in The Foreman een ander profiel, klik vervolgens op rebuild en bij de eerstvolgende reboot wordt de server helemaal opnieuw geïnstalleerd in de functie die je wilt.
Zoals je hebt kunnen lezen maken dingen zoals Puppet, The Foreman en Katello ons leven veel gemakkelijker. Dat is natuurlijk erg mooi. Het zorgt ervoor dat wij tijd hebben voor andere zaken, zoals de recent ingevoerde PHP-selector. De hoofdreden voor ons is echter om het te gebruiken zodat de kans op menselijke fouten aanzienlijk verminderd wordt. En dat komt de stabiliteit van het platform natuurlijk weer ten goede.
Zelf aan de slag?
Tot zover dit kleine kijkje onder de motorkap van de servers waarop jouw hostingpakket draait. Ik hoop dat je het je enigszins inzicht heeft gegeven in hoe een hostingplatform wordt beheerd en wellicht vond je het zelfs leerzaam. Nieuwsgierig naar de mogelijkheden? Check onze webhostingpagina met uitgebreide uitleg over alle features, specificaties en extra’s.
P.S. Wil je op de hoogte blijven van alle artikelen, updates, tips en trucs die verschijnen op ons blog? Dat kan! Via RSS, per e-mail, het liken op Facebook, het +1’en op Google+ of het volgen op Twitter.