Journalistiek

Onpartijdig, onafhankelijk nieuws, uitsluitend in dienst van het branchebelang.

Storage Stories: VPS platform van TransIP

  • Door
  • dr. Serge Gielkens
  • geplaatst op
  • 2 februari 2016 08:00 uur

In deze aflevering van Storage Stories beschouwen we de opslag achter het VPS product van TransIP. Hiertoe hebben we een gesprek met Reinier Schoof, hoofd systeembeheer. TransIP is sinds 2003 actief en levert behalve VPS ook cloudstorage, webhosting, domeinnaamregistratie en colocatie. TransIP is een echte fan van ZFS en in dit artikel vertelt Schoof hoe zij ZFS inzetten voor hun opslag.

Hardware

Voor het computing deel van het VPS-platform gebruikt TransIP hardware van Dell. De storage hardware zijn customized machines van Supermicro die een externe partij naar ons bouwplan assembleert. “Dat is het resultaat van een jarenlange zoektocht naar de perfecte combinatie”, vertelt Schoof. “Sinds de lancering in 2011 van VPS zijn we constant aan het schaven. Het zijn 2U en 4U machines met een Intel moederbord. Het chassis hebben we vooral gekozen op het kunnen dragen van genoeg schijven. De specifieke samenstelling varieert in de loop der tijd maar we gebruiken wel zoveel mogelijk standaard componenten.”

TransIP heeft overigens wel kant-en-klare hardware getest. “We hebben geëxperimenteerd met een setup met een JBOD van Supermicro maar we zien dat dat toch teveel complexiteit met zich meebrengt. Daarom zijn we teruggegaan naar losse servers met SSD’s. De setup moet zo stabiel en eenvoudig mogelijk zijn en in grote volumes te leveren zijn. Het is geen bijzondere hardware maar we moeten er wel vertrouwen in hebben dat het goed draait.”

De SSD’s zijn van Intel. “In 2013 hebben we alles van HDD naar SSD gemigreerd. Intel heeft ontzettend stabiele SSD’s geleverd. We hebben in de loop der jaren wel andere merken getest. Soms had Intel ook wat moeite met leveren door een wereldwijd tekort aan NAND-chips. Dan moet je wel een uitstapje maken, maar we keerden zo snel mogelijk terug naar Intel. Andere merken vertoonden veel uitval of hadden een veel lager maximum aantal write cycles.”

TransIP heeft daarnaast ook grote aantallen HDD’s die ze inzet voor haar Big Storage product en backups. De archief storage en back-ups staan op meerdere remote sites. De HDD’s zijn hoofdzakelijk van Seagate en HGST. “Wat betreft HDD’s zijn we van oudsher fan van Seagate. Toen we begonnen met VPS, draaiden we alles op HDD van Seagate. Door de overstromingen van 2011 in Thailand waren ze ineens een stuk slechter te verkrijgen. Toen zijn we noodgedwongen ook uitgeweken naar wel leverbare modellen zoals Toshiba en Hitachi. Tegenwoordig zetten we ook veel HGST-schijven in.”

ZFS

Voor TransIP is de snapshot-functionaliteit van ZFS cruciaal. “Wij gebruiken de snapshot-functionaliteit van ZFS heel intensief zoals voor backups. Met ZFS kunnen we die eenvoudig oversturen naar remote locaties. Middels snapshots bieden we klanten ook clones aan. Ze kunnen een clone van een VPS maken om die op een nieuwe VPS te plaatsen.”

Het gebruikte besturingssysteem is momenteel OpenIndiana met de illumos kernel. OpenIndiana is de voortzetting door de community van OpenSolaris. TransIP heeft ook getest met FreeBSD. “We hebben een proof-of-concept op een custom build van FreeBSD 8.2 gedaan. Die hadden we gepatcht om zpool-versie 28 te kunnen draaien. Al snel bleek dat FreeBSD niet de performance bood van Solaris of zijn derivaten. We hebben daarom toen OpenSolaris gekozen.”

TransIP gebruikt FreeBSD met ZFS overigens wel voor andere doeleinden. “We zijn fan van FreeBSD en gebruiken het veel voor andere producten”, vervolgt Schoof enthousiast. “We zijn bovendien zo overtuigd van ZFS dat we het ook op deze FreeBSD-systemen gebruiken. Daardoor kunnen we ook daarvan makkelijk backups maken. FreeBSD heeft ook features van Solaris geleend zoals het ZFS boot environment. Je doet een upgrade, reboot het systeem en bij twijfel boot je het oude systeem weer.”

TransIP blijft dan ook doorgaan met het testen van FreeBSD en ZFS voor de storage. “De verschillen in performance worden steeds kleiner en momenteel is die nagenoeg vergelijkbaar met Solaris. Voor ons is dat een reden om op termijn alsnog ook voor storage op FreeBSD te standaardiseren. Dat maakt het beheer weer makkelijker en bovendien is de community achter FreeBSD een stuk groter.”

ZFS wordt als block device over NFS geëxporteerd naar de hypervisors. “We hebben geëxperimenteerd met andere manieren van overdracht voor storage zoals iSCSI en FC. Dat is een stuk prijziger dan de redundante 10Gb ethernetverbindingen die we nu daarvoor gebruiken. Maar vooral het beheer van de logische devices bood niet de flexibiliteit die we zochten.”

De hypervisor is KVM met Debian als besturingssysteem. Dat is gekozen vanwege de stabiliteit en betrouwbaarheid. Maar het is geen vanilla-systeem. “We hebben veel custom built packages”, legt Schoof uit. “De kernel, KVM en libvirt inclusief de tooling eromheen bouwen we zelf. De Debian repositories staan niet bekend om de meest recente versies. We lopen soms tegen problemen aan of hebben nieuwe features nodig waardoor we liever nieuwere versies installeren. Ook veiligheidslekken en bugs in KVM patchen we. We zijn nauw betrokken bij nieuwe releases van KVM. We sturen de patches dan ook terug naar de ontwikkelaars van KVM.”

Eigen code base

TransIP ontwikkelt veel in eigen beheer. “We hebben automatiseren voor de klant hoog in het vaandel staan”, zegt Schoof. De belangrijkste programmeertaal is PHP, maar ook shell scripting of C voor meer low level programmatuur wordt gebruikt. De hoofdreden is volledige flexibiliteit. “Je krijgt een platform dat optimaal ingeregeld is”, voegt Schoof toe.

TransIP gebruikt dan ook geen cloudsoftware zoals CloudStack of OpenStack. “De provisioning en het managen van VM’s op onze platformen is in-house ontwikkeld. Het voordeel in onze ogen is dat wij precies weten hoe alles werkt. Mijn ervaring met een product als OpenStack is dat de hoeveelheid daemons en configuratie de provisioning van images onnodig complex maakt. Wij willen een zo uitgekleed mogelijk systeem dat precies doet wat wij willen. We hebben een slank systeem. Als er iets mis is, kunnen we het meteen herstellen.”

De provisioning code van TransIP zorgt ervoor dat niet alle VM’s van een klant op één machine draaien. De VM’s worden zo goed mogelijk gespreid maar er is geen garantie dat elke VM op een aparte machine draait. Eigen code regelt ook de load balancing. “We hebben hot spare machines die eventueel burst capaciteit kunnen leveren. Dat biedt ook de ruimte om te schuiven met VM’s.” Om de VM zelf te migreren wordt de functionaliteit van KVM gebruikt. Voor het migreren van storage leunt TransIP weer op de snapshot-functionaliteit van ZFS. “Het werkt met ZFS snapshots op de manier zoals KVM dirty memory pages gebruikt om een VM live te migreren.”

Tot slot

Aan het eind van het interview vragen we Schoof wat hij het belangrijkste vindt in een storage-oplossing:

“Slanke systemen en machines is het uitgangspunt. Haal alle overbodige elementen weg zodat overblijft wat je wil gebruiken. Als er iets mis is, kunnen we daardoor zo snel mogelijk pinpointen. We mogen met gepaste trots over ons systeem praten. Om de automatisering van controlepaneel tot en met storage te verzorgen hebben we een schare developers maar ik kan me goed voorstellen dat niet iedereen de capaciteit heeft om alles in-house te ontwikkelen.”

Nog geen reacties

Laatste reacties

Bedankt voor het succes van ISPam.nl
Koen Stegeman, Editor-in-Chief & founder Hostingjournalist.com: Jammer Arnout, maar je hebt een mooie bijdrage aan de hosting industrie geleverd, en dat jaren lang....

Bedankt voor het succes van ISPam.nl
Dillard Blom: Jammer dat een 'instituut' verdwijnt, en daarmee een bron van informatie over actuele zaken (en opin...

Bedankt voor het succes van ISPam.nl
L.: Uit automatisme kijk ik toch nog steeds elke dag naar ispam.nl, toch de hoop dat er nog een berichtj...

Bedankt voor het succes van ISPam.nl
Toni Donkers: Arnout bedankt! ik ga het missen dat is een feit!

Bedankt voor het succes van ISPam.nl
Marcel Stegeman: Ik zie het nu pas. Inderdaad jammer maar ik kijk nu al uit naar het volgende project.