- Door
- dr. Serge Gielkens
- geplaatst op
- 15 maart 2016 08:00 uur
Deze keer vertelt Pim Effting ons voor de rubriek Storage Stories hoe RealHosting zijn webhostingomgeving heeft ingericht. Effting is mede-eigenaar en oprichter van RealHosting dat zich hoofdzakelijk richt op webhosting en managed hosting. RealHosting gebruikt al geruime tijd Virtuozzo en Plesk van Parallels. Het is dan ook geen verrassing dat toen zij in 2012 zocht naar een HA-oplossing voor haar storage-infrastructuur, de keuze viel op Parallels Cloud Storage. Dit is een software oplossing voor gedistribueerde opslag bestaande uit een cluster van servers met lokale storage die gepoold wordt.
Hardware
Parallels Cloud Storage verlangt geen bijzondere servers en commodity hardware volstaat. Effting vertelt dat RealHosting hier dankbaar gebruik van maakte om te migreren naar de nieuwe oplossing. “In de oude situatie gebruikten we losse servers van Dell met lokale storage. Dat is hergebruikt in de nieuwe oplossing. In de iets oudere clusters gebruiken we SAS-schijven met SSD’s. Sinds ongeveer 2013 gebruiken we in de servers alleen nog SSD’s omdat de prijzen tegenwoordig zo dicht bij elkaar liggen. Momenteel gebruiken we vooral drives van Crucial. Dat zit tegen consumentenhardware aan maar dat maakt ons niet uit omdat het systeem berekend is op falende hardware. Als een disk uitvalt, levert dat geen disruptie op voor onze klanten. De betrouwbaarheid van Crucial is overigens tot op heden geen issue gebleken. We zien namelijk nauwelijks uitval.”
Om een cluster te vormen, worden de servers via ethernet met elkaar verbonden. De oudere omgevingen hebben nog 1 gigabit maar tegenwoordig wordt alleen nog 10 gigabit gebruikt. RealHosting heeft vijf clusters staan. Op de vraag waarom zij niet één groot cluster gebruikt, vertelt Effting dat het handig is voor hun life cycle management. “De clusters zijn eigenlijk generaties van de hardware. Per cluster gebruiken we identieke servers, bijvoorbeeld de R510, R710 of R720 reeks van Dell. Die zijn uitgerust met dezelfde CPU’s en geheugenmodules. Na een aantal jaren gaat de serie end-of-life en kun je dus geen servers meer bestellen. Dan bouwen we een nieuw cluster met de nieuwe generatie hardware. Het hoeft overigens niet identiek te zijn vanuit virtualisatie- en storage-perspectief. Voor ons is het handig.”
Parallels Cloud Storage
RealHosting is voor haar infrastructuur grotendeels gestandaardiseerd op software van Parallels. Voor de clustersoftware is dat Parallels Cloud Storage. RealHosting was hiervoor bèta-tester. “We zijn al een hele tijd partner van Parallels. Daardoor krijgen we de laatste informatie over nieuwe technologieën en ontwikkelingen waaronder Parallels Cloud Storage. Ons is toen gevraagd om dit te gaan gebruiken en testen. Zo zijn we in hun bèta-programma gaan deelnemen.”
Voor Parallels Cloud Strorage bestaat het cluster uit chunk servers en metadata servers. De chunk servers verzorgen het opslaan van de data op de lokale storage. “Per harde schijf of drive definieer je een chunk server“, legt Effting uit. “Dat is een service op een node. Dus als je vijf storage servers hebt met ieder vijf disks, dan zijn er in totaal 25 chunk servers actief binnen het netwerk. Die werken samen als één virtuele storage.” De metadata servers houden bij hoe bestanden in chunks zijn opgedeeld, dat er voldoende replica’s zijn en waar de chunks opgeslagen zijn. RealHosting gebruikt per chunk twee kopieën. “We gebruiken een 2+1 configuratie voor de Cloud Storage. Per lokale chunk is er kopie synchroon op een andere node. Asynchroon wordt een tweede kopie op weer een andere node opgeslagen. Je kunt een failure domain niet alleen over meerdere servers maar ook over meerdere racks definiëren.”
Machines die compute resources leveren, noemt Parallels clients. Een chunk server kan ook de functie van een client vervullen. Een client kan chunks zowel lokaal als over het netwerk van andere chunk servers ophalen.
Het bijplaatsen van drives en nodes verloopt zonder onderbreking. “Als de storage volloopt, dan plaatsen we disks bij, definiëren chunk servers en de software verdeelt dan zelf de data weer. Ook het toevoegen van een node gaat zonder disruptie. We kunnen het systeem schalen zonder enige downtime.”
De software zorgt zelf voor loadbalancing. Ook kan een hybride omgeving gebruikt worden op de performance te verhogen. “Je kunt bijvoorbeeld SSD’s met SAS- of SATA-schijven mixen om meerdere tiers aan te maken. De actieve data staan dan op SSD en de archiefdata op de spinning disks. In de oudere clusters hebben we aan de bestaande hardware SSD’s toegevoegd als read en write cache. Daarna hebben we alleen nog maar hardware met full-flash besteld en ik verwacht dat we over 1 à 2 jaar de SSD’s helemaal hebben uitgefaseerd.”
Virtuozzo
Voor de virtualisatie gebruikt RealHosting Virtuozzo, eveneens van Parallels. Virtuozzo levert zowel virtualisatie op het niveau van de hardware als het OS. Effting vertelt dat RealHosting beide mogelijkheden benut. “We gebruiken zowel de hypervisor als container virtualisatie. De container gebruiken we voor Linux hetgeen bij ons 99% van de systemen uitmaakt. Voor Windows gebruiken we de virtuele machine. De containers presteren beter omdat je minder overhead door virtualisatie hebt. Je deelt namelijk de kernel voor de verschillende containers. Wij behalen daar goede resultaten mee. Het heeft natuurlijk beperkingen. Netwerkfunctionaliteit zoals een VPN is lastiger. Maar wij doen alleen web en managed hosting. Onze klanten hebben geen root toegang, dus bij ons is dat geen issue.”
Bij RealHosting fungeren de nodes uit het storage cluster tevens als virtualisatie servers. “De storage en de compute node is bij ons dezelfde hardware. Het is mogelijk de Cloud Storage te gebruiken voor externe platforms door het te exporteren via NFS of iSCSI. Wij doen dat niet en gebruiken het als geïntegreerde oplossing. We hebben een hele platte architectuur.”
Effting vertelt dat de containers vergelijkbare mogelijkheden als een VM bieden. “Je kunt containers live migreren zonder downtime. Binnen hetzelfde cluster gaat dat natuurlijk heel snel omdat je geen storage hoeft te migreren maar alleen het geheugengebruik. Je kunt wel machines live migreren naar andere clusters maar dat duurt veel langer omdat je dan alle storage moet migreren. Ook dynamic resourcing kun je instellen om de load per node te balanceren. Wij gebruiken echter alleen het HA-gedeelte. Als hardware faalt, dan worden de containers op een andere fysieke machine opgestart.”
Voor de backup gebruikt RealHosting niet de meegeleverde software van Parallels. “Die werkt op het niveau van de container. Wij maken binnen het bestandssysteem van de container backups. We hebben zelf scripts geschreven op basis van rsync. De backups blijven niet binnen ons actieve datacenter bij Evoswitch in Schiphol maar gaan naar een uitvallocatie bij Easynet in Haarlem.”
Tot slot
Aan het einde van het interview vragen we Effting welk advies hij ons wil meegeven. “Wat vroeger in de hardware zat, zit tegenwoordig in de software. Die trend zullen we steeds meer zien. De markt beweegt naar steeds meer software defined-oplossingen zoals VSAN van VMware, OnApp en Parallels. Investeren in hardware zoals een SAN zou ik zo snel niet meer doen. Je raakt daarmee flexibiliteit kwijt. Wij zitten met onze clusters niet vast aan de hardware en hoeven geen grote investeringen te doen. We zijn nu heel tevreden en ik zie me ook niet snel overstappen naar een andere oplossing. Kijk naar software-oplossingen en niet naar hardware-oplossingen. Dat is mijn conclusie op basis van onze ervaringen.”