Ik heb een eigen hosting bedrijf en voor ons bedrijf hebben we diverse eigen servers, en servers van klanten, online. De servers hebben jarenlang gedraaid onder FreeBSD en tegenwoordig CentOS en CloudLinux. Allebei prima software. Toch ben ik nu aan het switchen naar Ubuntu Server.
Ik ben namelijk bezig met een nieuwe serverlijn, en helaas, helaas.. CentOS7 en CloudLinux lopen beide vast bij de installatie door een bekende, en nog steeds niet opgeloste, bug in (waarschijnlijk) de Anaconda Installer. Die loopt namelijk vast doordat het niet overweg kan met het BIOS van diverse nieuwe moederborden (de meldingen er over zijn legio). En CentOS/CloudLinux (beide Redhat-familie) lopen dus tijdens de installatie keihard vast hierop. Dus moet je iets anders! Want ik wil het nieuwe concept dat ik heb online brengen.
De hardware
Het concept dat ik maak is iets wat al langer bestaat, maar ik maak m’n eigen ‘kloon’ variant er van. Het is een ‘dual-server’, op de footprint van één enkele server. SuperMicro heeft ze, maar daar betaal je stevig voor de (merk)naam. Alleen het chassis kost al een lieve duit. Maar het idee sprak mij enorm aan. Wat mij dan weer niet aansprak is dat als je zo’n server hebt en één heeft een probleem er twéé offline moeten om dat op te lossen.
Na lang rondneuzen vond ik andere oplossingen! Zie de foto. Dát zijn pas gave kastjes! Je kunt de half-size servers onafhankelijk van elkaar service/onderhoud geven.
In Nederland moeilijk verkrijgbaar en wederom tegen de hoofdprijs. Maar we leven in het digitale tijdperk dus een beetje speuren op internet leverde mij 2 van dergelijke twin-kasten (4 server behuizingen dus) plus extra voeding op en daarna kon ik aan de slag met het bouwen van de server(s). Het echte bouwen heeft door allerlei redenen wat vertraging opgelopen, maar goed, de eerste is nu afgebouwd en .. na enig puzzelen en testen heb ik ‘m nu ook softwarematig klaar.
Deze servers zijn bedoeld voor websites. En het is mij al vaker opgevallen, websites (webservers) trekken nauwelijks CPU maar hebben behoefte aan geheugen en opslagruimte. Ik heb daarom gekozen voor een lichte, maar toch 4 core, intel CPU. Waarbij ik het aantal draaiende delen in de server geminimaliseerd wilde hebben (goede ervaringen mee). Er zit dus een moederbord in deze servers met een geïntegreerde CPU en koeling.
Specs van de servers:
(Dit zijn de specs van de server die ik op dit moment voor een klant heb klaargemaakt)
- cpu: Quad Core, Intel® J1900 (2M Cache, ~2.42 Ghz max)
- 2x 4GB DDR3-1600, Kingston (geheugen)
- 2x 1TB HDD (software RAID1-opstelling)
De kasten bieden mogelijkheden voor betere specs, de enige limitering is het moederbord (Mini-ITX) en wat daardoor ondersteund wordt. Voor mijn eigen bedrijf wil ik ook een dergelijke server inzetten, en daarbij ga ik waarschijnlijk, zo is het plan, geen gewone harde schijven gebruiken maar SSD schijven omdat schijven (swap, lees/schrijfsnelheid) soms een bottleneck kan zijn bij servers die met piekbelasting te maken hebben. De meeste klanten vinden echter de prijs/opslag-ratio van SSD (nog) niet aantrekkelijk genoeg. Ik wel, want ik benader dit anders: door SSD schijven te gebruiken kun je een enorme performance winst boeken en die winst wil ik niet laten liggen voor die paar tientjes extra.
Ubuntu 14.04 LTS
De eerste pogingen die ik deed om Ubuntu 14.04 LTS te installeren liepen jammerlijk op niets uit. De reden? De eerste keer had ik ‘m niet door, maar de 2e keer – toen ik iets beter oplette – zag ik wat het euvel was. Toen had ik al licht gefrustreerd de schijven vervangen omdat ik dacht dat daar iets mis mee was (omdat GRUB niet installeerde, ..?).
Ik gebruikte namelijk een USB installer, .. en wat doet Ubuntu tijdens de installatie? Die installeert de GRUB loader op de USB stick!! Het zou moeten kunnen met een USB installeren, maar ik krijg het niet voor elkaar.
Niet getreurd, het hele zaakje op een CD en met externe CDRom-speler booten en installeren, toch? Helaas,… door de voorgaande installatie (de gefaalde) waren de schijven al gepartitioneerd en in RAID en Ubuntu wilde hoe dan ook daar niet meer mee aan de slag. Het toeval wilde dat ik, voor ik dit deed, nog even voor de gein Windows7 er op had gehad om te kijken hoe dat zou draaien op dergelijke CPU’s. En ik bedacht me: “Dan even Win7 installatie CD er in, en opnieuw de schijven formatteren..?”. Dat bleek inderdaad de oplossing. De schijven waren weer leeg en de installatie kon beginnen.
De installatie van Ubuntu Server staat hier netjes beschreven:
https://help.ubuntu.com/community/Installation/SoftwareRAID
Eén ding zijn ze echter vergeten te vermelden! Als je deze installatie netjes stap voor stap volgt krijg je bij “Configuring the RAID”, stap 9, de volgende foutmelding:
No root file system is defined
Als je daar op gaat zoeken (“Google is your friend”) kom je allerlei obscure problemen en oplossingen tegen maar ergens dacht ik: dit moet een simpel issue zijn.. en dat is ook zo. Op een forum vond ik de geniale maar korte opmerking/oplossing:
After you create the partitions and the Software RAID you have to go back and set the RAID partition to mount to root.
Met andere woorden: de RAID moet als ‘root’ worden. Logisch, .. het is nu immers “een” schijf en die moet op de juiste manier een root partitie krijgen.
Daarna verliep de installatie vlekkeloos, GRUB loader werd netjes geconfigureerd, en het systeem ging rebooten. Alles werkt, echter bij het booten verschijnt eventjes een foutmelding:
Error: Diskfilter writes are not supported
Ik heb van verschillende mensen gelezen dat hun systeem er op bleef hangen, maar het systeem wat ik bouwde liep er wel doorheen. Dit blijkt een bekende, en al lang openstaande, fout te zijn in GRUB 2. De oplossing er voor is je systeem een kleine patch te geven, handmatig. Het wordt hier uitgelegd.
Tip: de link die daar gegeven wordt is natuurlijk onmogelijk over te tikken, dus ik heb ‘m voor mijzelf via tinyurl ingekort, en vervolgens hernoem je het bestand dan dat je download en past de patch toe volgens de instructies. Ga niet voor de ‘quick and dirty’ fix, maar kijk onder “How to apply the correct solution?”. Werkt. Tenminste, bij mij wel..
Na de installatie een update gedaan van alle software, smartmon en nmon. En tot slot, de ultieme test: de sata kabel loshalen en kijken of de server wilde booten op één schijf? Jazeker. De andere schijf? Ook goed! Beide weer aangesloten én,… niet dus! Hij bleef hangen. Ik denk dat ik tussen de single-disk boots in een raid boot had moeten doen. Iets te enthousiast geweest, dus helaas weer opnieuw installeren. Maar daar leer je (ook) van!
Vervolgens heb ik nog een benchmark gedaan op de disks en de CPU. Daarmee heeft dit systeem ook een aardige stress- en duurtest achter de rug. Op naar de volgende en dan kunnen ze binnenkort samen gezellig in het rack gaan hangen!
Voor wie meer wil weten over mijn eigen (hosting) bedrijf en de diensten en producten die ik daar aanbiedt, kijk eens op m’n site http://www.brinkman.it
Resten nog wat foto’s om het verhaal te illusteren!