13-10-2011 17:08:17

Zojuist is ‘Oneiric Ocelot‘ uitgebracht, de nieuwste release van Ubuntu.

Net als voor de Ubuntu gebruikers is dat voor BIT een leuke happening. Wij verheugen ons niet zozeer op de nieuwe features in deze release van Ubuntu, voor ons is dit een goed moment om ervaring op te doen met het bouwen van een platform wat bestand is tegen het bultje extra HTTP- en rsync-verkeer wat op dit moment dus op ons af komt.

Als officiële Nederlandse mirror staan we bij een groot deel van de Nederlandse Ubuntu community in /etc/apt/sources.list. Je kunt wel bedenken wat er gebeurt als iedereen gaat updaten!



Dus: twaalf servers, een paar 10Gigabit uplinks, aardig wat harddisks en een beetje elbow grease. Los! Na een weekje of twee knutselwerk is het Tijdelijke Ubuntu Release Platform, kortweg TURP, klaar om in gebruik genomen te worden.

Net als bij de release van ‘Lucid Lynx’ is er gebruik gemaakt van Linux Virtual Server (LVS) en Keepalived. Het grote verschil met toen is dat de ontwikkelaar van Keepalived inmiddels een IPv6 framework heeft gebouwd en wij hierdoor out-of-the-box met IPv6 aan de slag konden. Er zijn dus 2 servers met Keepalived en LVS in een active/standby setup. Via een VRRP houden zij een IP bereikbaar (nl.archive.ubuntu.com dus!) en middels LVS verdelen we dat verkeer over de rest van de servers.

LVS verdeelt de load over 8 ‘frontend-servers’ die de data uitserveren naar de upgradende of installerende Ubuntu-gebruiker. Hierbij is gekozen voor een ‘Direct Routing‘ configuratie. Hierdoor worden de binnenkomende packets rechtstreeks naar een van de achterliggende frontend-servers gestuurd. Door vervolgens het VRRP-IP op de loopback-interface te binden kan de frontend-server naar de client reageren alsof de server rechtstreeks aangesproken wordt. Omdat het verkeer dan rechtstreeks vanaf de frontend-server terug gaat naar de client en, in tegenstelling tot een NAT-oplossing, het verkeer niet terug over de LVS-server hoeft kan er optimaal gebruik gemaakt worden van het netwerk. De beperking van het totale verkeer ligt daarbij enkel in het aantal achterliggende nodes en hun netwerkverbinding en niet in de netwerkverbinding die de load balancer (LVS) heeft.

Daarnaast maken we gebruik van Apache Traffic Server (TS) op de frontend-servers om requests te  proxyen. Yahoo gebruikt deze software om het verkeer van hun eigen omgevingen te regelen en heeft vorig jaar deze software gedoneerd aan de Apache Foundation waarna het als opensource-software verder is ontwikkeld en is onder andere IPv6-ondersteuning ingebouwd. Deze frontend-servers houden ongeveer 3GB aan data in hun geheugen waardoor de bestanden die vaak opgevraagd worden meteen uitgeserveerd kunnen worden. Om ervoor te zorgen dat het geheugen niet volloopt met ISO’s van 700Mb zijn er beperkingen opgelegd waardoor enkel kleine bestanden in het geheugen gehouden mogen worden op de frontend-servers.

Alle data die niet in het geheugen op de frontend-servers kan worden gehouden zal via een ‘parent proxy’, die ook TS draait, uitgeserveerd worden. In tegenstelling tot de 3GB geheugen in de frontend-servers is deze cacher server uitgerust met 64GB geheugen en snelle harddisks. Hierdoor kan deze machine zo goed als alle packages die tijdens deze release gedownload worden erg snel uit het geheugen aan de frontend-servers doorgeven.

De data wordt voor de cacher weer beschikbaar gesteld vanaf twee storageservers die beiden een volledige kopie hebben van de huidige nl.archive.ubuntu.com server. Tijdens de release zal de eerste storageserver alle vraag voor nl.releases.ubuntu.com afhandelen en de tweede storageserver de vraag voor nl.archive.ubuntu.com afhandelen. Bij storingen kan één van deze storageservers de taak overnemen van de andere server als dat nodig zou zijn.

In totaal kunnen de 8 frontend-servers maximaal 8 Gb/s aan data versturen via een switch die een 10 Gb/s aansluiting heeft op het netwerk van BIT. Uiteraard hebben we het platform gestresstest. Met een aantal servers en thuisverbindingen van collega’s hebben we bij elkaar 2,18 Gb/s aan verkeer kunnen genereren:

Daarbij was het nog vrij rustig op het platform en is de behaalde snelheid beperkt gebleven tot de beschikbare capactiteit die we hadden om met thuisverbindingen te kunnen downloaden.

Tijdens het testen werd gemiddeld een kleine 700 Mb/s aan gegevens rechtstreeks uit het geheugen geserveerd en dat gaat nu tijdens de release alleen maar harder omdat er veel meer dezelfde packages gedownload worden. Nu is dit geen LTS versie, dus zal het verkeer wel mee gaan vallen, maar is het in elk geval een goede oefening voor de LTS release die in april 2012 uit gaat komen. Het actuele verkeer van dit platform kun je hier vinden.

De torrents voor Oneiric Ocelot hebben tijdens deze release ook verwijzingen naar de IPv6-only tracker die BIT voor Ubuntu draait, zodat het gebruik van IPv6 kan groeien en groeien! Een volledige lijst van downloadbare torrent bestanden kun je terugvinden op de Tracker Website.

We zijn erg benieuwd hoe het deze week zal lopen met de release. Als je nog geen Ubuntu gebruikt (en het is erg aan te raden, ook op de desktop) kun je het bij ons downloaden vanaf: http://nl.releases.ubuntu.com/. Daarbij is het niet nodig om je hele computer overhoop te halen om Ubuntu uit te proberen, met het downloaden van de Live-CD kun je zonder wijzigingen aan te brengen aan je computer Ubuntu uitproberen.