Archive for April, 2006

micro-programmeren

Monday, April 24th, 2006

Steeds meer heb ik een andere manier van werken als het op programmatie voor eigen gebruik aankomt. Elke paar dagen voeg ik een beetje code toe, en kleine functionaliteit, maar met in het achterhoofd altijd wat er nog allemaal moet komen, in plaats van ineens de wereld te willen veranderen, alles weg te gooien, de helft opnieuw op te bouwen, en uiteindelijk met een nieuw systeem te zitten dat 20% meer kan dan het oude, en uiteindelijk nooit afraakt.

Zo ben ik reeds enkele weken bezig met onze domein-interface aan het uitbreiden met nieuwe (*kuch*, nog ontbrekende) functionaliteit. Gestaag komt er functionaliteit bij, en na elke kleine aanpassing wordt mijn verstand en visie eens ge-cross-checked met Frank zijn idee erover, en indien nodig bijgestuurd. Hetzelfde heb ik enkele weken gedaan voor de facturatie-interface (al moet ik toegeven dat er daar ook nog een ellenlange todo-lijst aan vasthangt).

Ik weet het niet goed, maar het lijkt erop dat ik meer gedaan krijg op deze manier.

alle wegen leiden naar Rome, maar wat is Rome…

Saturday, April 22nd, 2006

Al geruime tijd verrichten we wat denkwerk rond “high availability”. Wanneer we kijken op applicatieniveau -denk “het terugsturen van een webpagina wanneer erom gevraagd wordt”- is dit allemaal niet extreem moeilijk. Er bestaan zelfs verschillende kant en klare oplossingen, en meestal bestaat meer dan één techniek om alles te balancen, clusteren of failover-en. Per applicatie zijn verschillende mogelijkheden, de één al mooier dan de andere, maar uiteindelijk kan je altijd wel iets maken dat redundant is en werkt.

Je blijft echter altijd met één groot probleem zitten: redundante opslag. Ik maak deze denkoefening nu al minstens 9 maand, en tot op heden ben ik er nog niet uitgeraakt wat het best is. Ofwel ga je op block-niveau gaan werken, en moet je kijken naar oplossingen als DRBD of iets dergelijks. Het enige wat hier mogelijk is, is failover (dus, omschakelen als de “hoofdserver” doodgevallen is), en wanneer je replicatie uitvalt, zit je met een block-device met daarop een mogelijks inconsistent filesysteem. Deze blockdevices kunnen geëxporteerd worden via verschillende technologieën, maar als het als block geëxporteerd is, moet een umount/detecteer ander device/chkfs/re-mount gebeuren. Hier heb ik reeds verschillende zaken getest (bvb iSCSI exports, via drbd gesynced, met HA, en dan portal failover of iets dergelijks voor het omschakelen). Heel het iSCSI gebeuren onder Linux kan nog wat stabiliteit en zo gebruiken, maar het is werkbaar als je er genoeg tijd in steekt om alles uit te vissen. LVM eronder, en je hebt een mooie schaalbare oplossing.

Wanneer je een filesysteem exporteert (smb/cifs, nfs…) kan je hier wat omheen werken, maar dan moet je je filesysteem syncroon houden, en dat is dan weer iets anders. GFS is blijkbaar één oplossing, maar daar heb ik al veel threads gezien met als onderwerp “horrible data corruption” of “where did my data go today?”. Ik heb het nog niet getest, maar het lijkt me dus onstabiel. Als mijn testmachines terug onder de levenden zijn, gooien we dat op de testbank. Verder zijn er ook zaken die met daemons werken, en files heen en terug syncroniseren (met rsync als onderliggende technologie). Dat heb ik dan wel al getest, en binnen de 5 minuten kreeg ik het stuk. Afgevoerd.

De enige oplossing die altijd terugkomt is NFS op een drbd gesyncd device. NFS heeft zijn nadelen, maar blijkbaar is het wel iets wat werkt. Je blijft echter zitten met het feit dat je FS corrupt kan zijn, als de replicatie op een slecht moment wegvalt. Je kan ook maar 2 storage devices gebruiken, en bvb geen 3 met load balancing, of “preferred device” wanneer je bvb je materiaal verdeelt over meerdere locaties en een applicatie bij voorkeur het “dichtste” device moet gebruiken.

Toevallig heb ik deze week heb ik wat zitten zoeken naar kant-en-klare NAS-distributies voor een klant, en vond ik OpenFiler en FreeNAS (naast een hoop andere rommel), en OpenFiler beweert een failover oplossing te hebben. Aangezien het een CentOS gebasseerde oplossing is, vermoed ik dat het terug GFS zal zijn. We gaan dat eens installeren en onderzoeken hoe ze het doen, en daar onze conclusies uit trekken.

kleine aanpassingen

Friday, April 21st, 2006

Vandaag is in het nieuwe theme de comment-box aangepast zodat deze terug met SpamKarma2 overweg kan, en er is ondertussen weer een “openminds” categorie, naast “blonko”. Mocht je problemen hebben met de comment-box, gelieve het te melden. Je weet me wel te vinden.

kwaliteitsmateriaal

Friday, April 21st, 2006

Alweer iets over WHT, mijn dagelijkse bron van verwondering. Vandaag nemen we een blik in de forumsectie “brol te koop”, waar allerlei apperatuur – van een kabeltje tot 30 servers en meer – te koop wordt aangeboden. Kijk even mee naar de thread van deze verkoper.

Niets bijzonders? Gewoon 2 servers te koop. Kijken we even naar server 1, dan zien we iets verder dat er enkele fotos beschikbaar zijn (let op, vrij groot). Kijk even mee op de eerste foto.

Levensles voor een goede 1U server: luchtstroom gaat van voorkant naar achterkant, en blaast dus normaal over de disks en over/door het koelblok van de processor en de mogelijke koelblokken op north/southbridge, en op bvb een mogelijke raidcontroller. We zien duidelijk enkele fans (ventilators voor de server-leken) op het middenste stuk ijzer zitten (minstens 2, misschien 4 aan de schroefjes te zien). Jammer genoeg zien we enkele hindernissen. We zien dat bvb het geheugen haaks op de airflow staat. Een geheugenlatje is 3 cm hoog. Een kast is 1.75 inch hoog, ofwel 4,4 cm ongeveer. Je moet weten dat het moederbord ietwat boven de onderkant van de kast zweeft, en dat het geheugen ook in een socket zit. Er blijft dus niet veel meer over. Jammer. Achteraan de kast zien we ook niet echt veel perforatie voor de afvoer van de warme lucht.

Nog opmerkelijker is bvb de plaatsing van de koelvin op de chipset (de zilverkleurige). De vinnen staan haaks op de (toch al niet mogelijke) luchtstroom. De processorkoeling werd ook met de vinnen haaks op de luchtstroom gezet. Deze heeft echter een eigen koelingsfan.

Achteraan de kast zien we NA de voeding nog een koeler (zo een type dat boven/onderaan lucht zuigt, en dat door de “slurf” wegblaast). De fan die in de voeding ingebouwd zit blaast los op de zijkant van deze koeler.

Hoe komt dit nu? Het moederbord is een Asrock bordje, gegeerd door low-budget, el-cheapo hostingbedrijfjes die net beginnen. Dit bordje is niet ontworpen om in een 1U kast ingebouwd te worden. Verder is het design van de kast ietwat raar (onder andere die koeler achter de voeding deed me rillen), en niet echt optimaal te noemen.

Er is reeds 320 EUR geboden op deze server. Beschamend. Hij is geen 5 EUR waard in mijn ogen. Wanneer ik een moment tijd heb, neem ik eens enkele foto’s van de machines die hier klaar liggen om naar het datacentrum te vertrekken. We weten wel waarom we iets meer betalen voor een server.

Drunken Iceweasel

Friday, April 21st, 2006

Via een blogentry die ik vond in mijn RSS reader, kwam ik op een lijstje van namen die gegeven werden aan versies van software in Debian. Best grappig om te lezen. Zo zie je dat er mensen achter de software zitten, met een eigen soort humor. Ik kan me er wel in vinden.

* The “laptop envy (damn tbm for having a nicer one than me)” release.
* The “Drunken Iceweasel” release.
* The “Follow the white rabbit” Release.

en iets verder…

* The “Son of Drunken Iceweasel” release.

Verder, nu we over ijs, knaagdieren en zo spreken: gisteren zijn we Ice Age 2 gaan zien. IMHO, niet echt de moeite om die in de cinema te gaan zien… Beetje onsamenhangend…