Ik ben Damien Dye.

Presales engineer voor Europa en APAC bij croit GmbH, een oprichtend lid van de Ceph Foundation en officieel Proxmox Gold Partner.

Ruim twintig jaar daarvan was het betaalde deel: Microsoft-platformen, Linux, bedrijfsapplicaties, virtualisatie, netwerk, opslag en beveiliging. Het betaalde deel is niet het geheel. Ik bouw dingen en sloop ze sinds halverwege de jaren negentig, en ik draai Linux serieus sinds 1999, jaren voordat iemand het de moeite waard vond mij daarvoor te betalen, en die jaren tel ik mee, want je leert net zoveel van apparatuur die van jou is als van apparatuur die iemand anders verzekerd heeft.

South Yorkshire, dus je krijgt het recht voor zijn raap. Als iets werkt, vertel ik je waarom. Als het niet werkt, vertel ik je dat ook, en liever voordat je het geld hebt uitgegeven dan erna.

De vroege jaren

Ik haal computers uit elkaar sinds mijn achtste. Mijn eerste machine was een Atari STfm met 512K geheugen.

Mijn eerste pc kwam op mijn twaalfde, met Windows 3.11, en vandaar ging ik de hele reeks door: 95, 95b, 95c, 98, 98SE en toen Windows 2000.

Dat was geen software gebruiken. Dat was uitzoeken wat er tussen de ene versie en de volgende veranderde, wat er onderweg stukging, en hoe je iets aan de praat krijgt dat besloten heeft dat het liever niet wil.

DE WEG DOOR WINDOWS — 3.11 → 103.1195982000XPXP64-bitsVista64-bits764-bits8.110

Mijn eerste internetverbinding was een 56k-inbelmodem bij Freeserve — een van de eerste gratis providers in het Verenigd Koninkrijk. Ik ging over op ADSL zodra het in 2001 beschikbaar kwam, via Demon Internet. Daarna naar VDSL in 2008, en uiteindelijk naar glasvezel bij Zen Internet in 2017 — daar kwam native IPv6 binnen. Daar begon het met netwerken, en dat is een heel eind van de 100GbE-fabrics die ik nu ontwerp. Maar de nieuwsgierigheid was dezelfde.

Het lokale netwerk begon nog eerder, en ruwer. Mijn eerste LAN was 10BASE2 — dunne coaxkabel, BNC-connectoren en een 50-ohmsafsluiting aan elk uiteinde, alle machines op één gedeelde bus van 10 Mbit. Ik kreeg twee pc’s daarover aan de praat en hing er een hub met 5 poorten bij toen er meer machines kwamen. Die hub werd later een switch — een echte stap vooruit, want elke poort kreeg zijn eigen collisiedomein in plaats van dat alles om gedeelde coax vocht. Draadloos kwam daarna, zodra het betaalbaar werd: 802.11b op 11 Mbit, op Orinoco Gold PCMCIA-kaarten in de laptops. Coaxbus, gedeelde hub, geswitcht ethernet, wifi — elke stap daarvan heb ik met de hand doorgewerkt.

Ik heb ook volledig onbewaakte Windows XP-installaties gebouwd. Die gebruikten de oude DriverPacks voor het injecteren van stuurprogramma’s en eigen scripts voor automatische applicatie-installaties. Van kale hardware naar een volledig geconfigureerd systeem zonder het toetsenbord aan te raken. Dat was automatiseringsdenken jaren voordat ik ooit van Ansible hoorde — en het was op Windows, niet op Linux.

Linux vinden

Met Linux ben ik op mijn vijftiende begonnen, op SuSE 6. Ik ging meteen af op de distributies waarbij je moest begrijpen wat er eronder gebeurde.

In de kerstvakantie van 2001 bouwde ik een compleet systeem met het boek Linux From Scratch. Elk pakket met de hand gecompileerd. Elke afhankelijkheid begrepen. Elke configuratiekeuze bewust gemaakt.

In 2002 was ik overgestapt op Gentoo. Gentoo werkt op hetzelfde principe: je bouwt het hele systeem uit broncode, je begrijpt wat elke USE-vlag doet, en als er iets stukgaat weet je precies waar je moet kijken.

LINUX — DE WEG DOOR DE DISTRIBUTIESSuSE6–7.2MandrakeGentooUbuntuRHELFedora

Andere platformen verkennen

Ik ben nooit bij één architectuur gebleven.

Van 2001 tot 2007 had ik een DEC Alpha-systeem. De Alpha was de 64-bits RISC-processor van Digital Equipment Corporation, in 1992 uitgebracht — een echte 64-bits machine, ruim tien jaar voordat x86 in 2003 met AMD64 bijtrok. Hij draaide Tru64 UNIX, OpenVMS, Windows NT en Linux, en een tijdlang was hij ongeveer het snelste dat je op een bureau kon zetten. Via discussies in de gemeenschap kreeg ik er USB en FireWire op aan de praat. Ik heb er zelfs een PCMCIA-naar-ISA-adapter achterin gezet, zodat dezelfde PC Cards die ik in de laptops gebruikte — de Orinoco Gold daaronder — ook in de Alpha-desktop draaiden. Geen kleinigheid op een platform waar niets gegarandeerd werkte.

Ik heb BeOS geprobeerd. Het pakte multithreading en multimedia compleet anders aan dan al het andere in die tijd.

Op de universiteit hebben een maat en ik afgedankte Sun SPARC-werkstations gered en er Gentoo op gebouwd. SPARC was de RISC-architectuur van Sun Microsystems, geïntroduceerd in 1987 — de motor achter de Sun-werkstations en -servers die in de jaren negentig een groot deel van de Unix-wereld droegen, meestal onder Solaris. Een uit broncode gebouwd Linux op die hardware aan de praat krijgen was het hele punt. Want waarom ook niet, als de apparatuur er staat en je wilt weten of het lukt.

Ik heb ook Linux gebouwd en gebruikt op ARM en ARM64, op Raspberry Pi’s en Odroids. En ik heb Windows op ARM64 gedraaid.

Draai hetzelfde besturingssysteem op x86, Alpha, SPARC, ARM en ARM64 en de aannames die je op de een maakte volgen je niet naar de volgende — bytevolgorde, uitlijning, paginagroottes, driverondersteuning en eigenaardigheden van de toolchain verschuiven allemaal onder je. Dat telt nu meer dan ooit, met ARM64 naast x86 in het datacentrum, en het is het denken dat een Ceph- of Proxmox-omgeving met gemengde architecturen eerlijk houdt.

Ik experimenteerde ook vroeg met IPv6. Ik had toegang tot 6bone — het experimentele IPv6-testnetwerk. 6bone was een wereldwijd testbed dat vanaf 1996 liep om IPv6 te ontwikkelen en uit te rollen voordat het productie-internet er klaar voor was. Het droeg IPv6 grotendeels over IPv4-tunnels, gebruikte zijn eigen adresreeks 3ffe::/16 en werd op 6 juni 2006 bewust uitgezet toen native IPv6 volwassen genoeg was om op eigen benen te staan. Ik draaide zowel de IPv6-stack van Linux als die van Microsoft Research voor Windows XP. Ik heb het hele traject gehad. Begonnen met IPv6-in-IPv4-tunnels. Door naar 6to4 (RFC 3056) voor automatisch tunnelen. Daarna naar volledig native IPv6 toen ik naar een fatsoenlijke provider ging — Zen Internet. De meeste mensen raakten IPv6 pas aan toen hun werkgever ze ertoe dwong. Ik had tegen die tijd elk overgangsmechanisme al gehad, op Linux en op Windows, omdat ik wilde begrijpen waar netwerken heen ging. Daarom voelt IPv6 nu natuurlijk aan en niet als iets wat er achteraf aan geschroefd is. Inmiddels loopt negentig procent van mijn verkeer over native IPv6. Ik gebruik een browserextensie die IPvFoo heet en me laat zien wat elke verbinding gebruikt en of sites gemengde protocollen of alleen IPv4 leveren. Oude gewoonte — ik zie liever wat er echt gebeurt dan dat ik het aanneem.

IPv6 — TWEE DECENNIA, EXPERIMENT TOT KRITISCHVan een teststack thuis naar productie op nationale schaal6bone — het experimentele IPv6-testbedIPv6-stacks van Linux en Microsoft Research naast elkaar gedraaidIPv6-in-IPv4-tunnelsIPv6 over het IPv4-internet, met de hand geconfigureerd6to4 (RFC 3056)Automatisch tunnelen — geen broker om te onderhoudenNative IPv6Eind tot eind thuis over glasvezel · Zen Internet · 2017Nominet — kritieke nationale infrastructuurIPv6 in productie voor het .uk-register · F5-loadbalancers over IPv4 en IPv6Vandaag loopt ongeveer 90% van mijn verkeer over native IPv6.

Leren door te doen

Alles wat ik technisch weet heb ik geleerd door het te proberen. Dingen gebouwd, stukgemaakt, uitgezocht waarom ze stukgingen, opnieuw gebouwd.

De studie was Business Studies en Computer Network Engineering aan Sheffield Hallam, en die gaf me het ene dat zelfstudie niet geeft — hoe een bedrijf echt werkt, hoe een technische beslissing een commercieel resultaat wordt, en hoe je over een systeem nadenkt vanuit het probleem dat het oplost voor wie ervoor betaalt. Dat heeft elke functie sindsdien gevormd.

De technische vaardigheden kwamen echter van het doen, niet van het studeren. Productieproblemen komen niet met een literatuurlijst. Iets vanaf de grondbeginselen kunnen uitdenken is meer waard dan een certificaat aan de muur, en het verloopt niet.

Waar open source vandaan komt

Toen de leiding van Microsoft open source begin jaren 2000 “een kanker” noemde, zat ik al diep in Linux. Systemen vanaf nul gebouwd. Gentoo gedraaid. Bijgedragen in gemeenschappen.

Dat soort vijandigheid tegenover mensen die kennis delen en samen dingen bouwen schrikte me niet af. Het duwde me er verder in. Als het antwoord van een bedrijf op gezamenlijke ontwikkeling is om het een ziekte te noemen, zegt dat meer over het bedrijf dan over de software. Ik groef dieper in open source en maakte het mijn eerste keuze in plaats van die houding te steunen.

Door de jaren heen haalde het praktische argument het principiële in. Propriëtaire platformen werken goed genoeg tot de leverancier de licenties verandert, wordt overgenomen, of besluit dat jouw gebruik het niet waard is. Dan zit je vast. Je data, je werkwijzen en de kennis van je team hangen allemaal aan een platform dat je niet meer beheert. De overname van VMware door Broadcom is het recentste en zichtbaarste voorbeeld, maar lang niet het enige.

Hetzelfde denken geldt voor de cloud. Vraag wat je eigenlijk huurt en het antwoord is capaciteit die je had kunnen bezitten, op een meter die nooit stilstaat. De beloofde voordelen — wendbaarheid, elasticiteit, minder te beheren — komen zelden aan in de vorm die de pitch beschreef, en de kosten stapelen zich jaar na jaar op zoals bij eigen apparatuur niet gebeurt. Als zodanig heb ik elke keer dat iemand erom vroeg kunnen laten zien dat open source op goed ontworpen hardware meer waarde, meer controle en minder verrassingen oplevert. Geen modieus standpunt. Wel een waar ik cijfers onder kan leggen.

Een loopbaan opbouwen

Mijn loopbaan begon in 2005 bij een precisiegieterij in Worksop. IT-technicus, onderdeel van een klein team, ondersteuning voor zo’n vijftig gebruikers.

Die eerste functie bestreek een flinke breedte. Onderhoud van het Manusoft-ERP-systeem en de documentarchivering. Linux- en Windows 2003-serverbeheer. Crystal Reports-ontwikkeling voor beslissingen in productie en onderhoud. Beheer van de telefooncentrale. CAD/CAM-systeemintegratie en beheer van computergestuurde robotproductie. Inkoop van hard- en software. Eindgebruikers opleiden en ondersteuning aan hun werkplek.

Ik schreef ook vanaf dag één automatisering. Ik heb de Active Directory van het bedrijf geüpgraded en VB-scripts geschreven die op basis van groepslidmaatschap automatisch schijven koppelden, printers toewezen en software uitrolden. Dat was 2006 — echte infrastructuurautomatisering in mijn eerste professionele functie.

Dat is productie-IT. Als de lijn stilvalt door iets waar jij voor zorgt, kom je er snel achter dat betrouwbaarheid geen voorkeur is, en de mensen naast de machine vertellen je dat zelf ook. Het was ook de eerste keer dat ik Linux en Windows in hetzelfde gebouw voor de kost draaide, en dat is sindsdien het patroon gebleven.

Van daar ging ik naar technische ondersteuning in de frontlinie. Eerste en tweede lijn, op een eigen desk voor een grote multinationale klant. Windows-desktops, Active Directory, Exchange 2007, Cisco VPN, Cisco Call Manager, ITIL-gebaseerd ticketbeheer op Remedy. Die ITIL-discipline — wijzigingsbeheer, probleembeheer, gestructureerde processen — is me sindsdien in elke functie gevolgd. Ik sloeg ook vroeg een brug tussen de Linux- en Windows-wereld — Services for Unix geconfigureerd en Citrix-toegang tot Unix-NFS-shares opgelost.

Zelfs op die desk bouwde ik voorbij de functieomschrijving. Ik schreef een koppeling die gebruikersaccounts rechtstreeks vanuit de HR-gegevens in Agresso aanmaakte en uitschakelde — het Active Directory-account, de groepslidmaatschappen, de configuratie van Office Communicator, de Exchange-postbus en de aliassen. Dat is systeemintegratie vanuit een eerstelijnsstoel, en dat stond niet in de functietitel.

Een van de klanten die ik op die desk ondersteunde nam me later aan bij het volgende bedrijf.

Daarna een wereldwijd communicatiebedrijf, ICT en beveiliging. Daar begon de applicatieontwikkeling pas echt. In tweeënhalf jaar heb ik zes afzonderlijke interne systemen gebouwd of eraan bijgedragen. Een eigen webgebaseerd offertegereedschap. Orderverwerkingskoppelingen tussen Salesforce en Agresso. Een SharePoint-stamdatacatalogus gevoed vanuit Salesforce en Agresso. Een eigen webprojectmanagementsysteem met koppelingen naar MSPE en Agresso voor de financiële verwerking. En een migratie van een aangepaste Salesforce Service Cloud-applicatie naar ServiceNow met volledige ITIL-procesimplementatie. Ik schreef ook SQL-koppelarchitectuur voor bedrijfsapplicaties en optimaliseerde de MS SQL-prestaties. Ik beheerde IIS en Windows Server 2008 Terminal Services, en was eigenaar van het bedrijfsdatamodel. Directoryservices — Active Directory en LDAP — werden hier een kernvaardigheid die me door elke latere functie is gevolgd.

Ik heb ook een landelijk Windows 7-vervangingsprogramma geleid en de hele Britse gebruikersgroep in drie weken op nieuwe HP-apparatuur gezet, waarbij 95% aangaf helemaal geen verstoring van het werk te hebben ervaren. Drie weken is het soort getal dat er alleen uit komt als de voorbereiding goed gedaan is, en de voorbereiding is de onglamoureuze helft waar achteraf niemand naar vraagt.

Toen kwam het leidinggeven. Een halfgeleiderontwerphuis met een klein team ingenieurs verspreid over meerdere landen. Dat trok meerdere draden tegelijk samen. Ik ontwikkelde op het Force.com-platform — triggers, Visualforce-pagina’s, eigen controllers — om Financial Force-boekhouding en PSA-systemen wereldwijd te koppelen. Tegelijk bouwde ik twee aparte PXE-boot-HPC-clusters. Eén voor de Britse Europese engineering en één voor de Chinese. Beide met Red Hat en NFS-rootbestandssystemen, voor consistente, 100% herhaalbare schijfloze rekenfarms. Ik zette ZFS op Linux in met Dell PowerVault-apparatuur voor uniforme opslag. Ik verving oude geïsoleerde beveiligingsomgevingen door een Windows Server Active Directory met native Kerberos en LDAP voor eenmalige aanmelding over Linux en Windows. Ik stabiliseerde de internationale connectiviteit door een uniform netwerk te bouwen met OpenVPN-tunnels door lastige omstandigheden naar China.

Een flink deel van die functie was ik de enige die dat allemaal dekte: de Linux-rekenfarms, de Windows-ondersteuning, de Salesforce-ontwikkeling en de gebruikersondersteuning over meerdere tijdzones, onder SoC-ontwerplasten op geavanceerde technologieknopen. Een van de ingenieurs die aan mij rapporteerden is later Salesforce-ontwikkelaar geworden, en dat reken ik als de betere uitkomst van die jaren.

Daarna een echte verdieping in Linux. Derdelijnsondersteuning bij Pulsant, een cloud- en hostingaanbieder, over de volle breedte van de stack. RHEL, CentOS, Ubuntu. MySQL-clustering met Galera, MongoDB-sharding, HAProxy met SNI en SSL-terminatie, Apache, PostgreSQL, PHP-FPM-tuning voor snelle webwinkels, Postfix-mail, BIND en PowerDNS voor DNS-hosting, Varnish voor webcaching, Squid voor proxycaching. IPTables, IPset en Cisco ASA voor firewalling en DoS-bescherming. Linux-serveroptimalisatie voor netwerk en opslag. CPanel-probleemoplossing, ontwikkeling van SolarWinds-monitoringsjablonen en New Relic-beheer. Alles op VMware 5.5 met vCloud Director eronder.

Het was ook niet alleen ondersteuning. Ik heb daar een Galera-databasereplicatieproduct ontworpen en het van concept via prototype naar een dienst gebracht waar klanten voor betaalden. Dat was geen laboratoriumoefening. Het is gebouwd en bewezen tegen echte belastingen van echte betalende klanten, en dat geeft een hostingaanbieder niet lichtvaardig uit handen.

Derde lijn leert je wat het betekent om de laatste escalatielijn te zijn. Als het bij jou aankomt, gaat niemand achter je het nog oplossen.

Toen Nominet — het register achter elke .uk-domeinnaam. DNS op nationale schaal. De infrastructuur moet vierentwintig uur per dag keihard staan, elke dag, zonder uitval en met bereikbaarheidsdienst buiten kantooruren. VMware 5.5 en 6, HP 3par-opslag met fibre-channelzonering op Brocade, RHEL 6 en 7 beheerd met Puppet, F5-loadbalancers over IPv4 en IPv6, Postfix-mail, en een Zabbix-opzet die ik bouwde om de verouderende VMware Hyperic-monitoring te vervangen. Ik heb ook ServiceNow ingevoerd en aangepast, met workflows, applicatie-uitrol en Linux-nodedetectie voor configuratiebeheer en inventaris. Ik hielp processen ontwerpen en bouwen voor het uitbesteden van de servicedesk buiten kantooruren, om de bereikbaarheidsdienst te verlichten.

Bij Nominet werd ik uiteindelijk de eerste die men vroeg, of het nu Linux, Unix, ServiceNow of iets was dat niemand kon plaatsen, en ik maakte er een punt van om terug te komen met iets dat werkte in plaats van iets dat goed klonk. Dat is het soort plek waar je leert dat de saaie, gedisciplineerde aanpak van infrastructuur degene is die het contact met een dinsdagochtend overleeft.

Na Nominet ging ik dwars door infrastructuur en hosting. VMware 6.7, Zerto voor uitwijk, Dell Compellent- en Nexsan-opslag met Brocade-fibre-channelzonering, Citrix Cloud met FSLogix-profielbeheer naast Azure. Ik voerde daar ook Zabbix-monitoring in en ontwierp de sjablonen en scripts vanaf nul.

Toen detailhandel. Leiding gegeven aan een klein team, het VMware 6.7-beheer teruggehaald bij een derde partij, Zabbix-monitoring uitgerold (opnieuw als vervanging van een mislukte poging), de OS-uitrol herbouwd rond PXE en Chocolatey, het netwerk vernieuwd met Fortinet-apparatuur, en de hardware-inkoop op orde gebracht.

Toen de functie die alles veranderde. Bij het UK Centre for Ecology & Hydrology leidde ik het science-computing-team — vier directe rapportages — en bouwde ik de infrastructuur vanaf de grond opnieuw op. Een private cloud van 7 Proxmox VE-nodes met hypergeconvergeerde Ceph-opslag op dubbele 100Gb-switching. Een HPC-cluster van 8 nodes op HDR InfiniBand met Slurm, met SR-IOV voor VM-toegang tot de fabric en EasyBuild voor softwarebouw. Migratie van GPFS naar volledig NVMe-Ceph-opslag. Ansible met Netbox als bron van waarheid voor alles — patchbeheer, beheersing van configuratiedrift, koppelingen naar Cloudflare, PowerDNS en Active Directory. OSPF-dynamische routering voor de cloudnetwerken. Lokale repositoryspiegels voor maximale uitrolsnelheid en consistentie. Heruitrol van de HPC-omgeving van CentOS 7 naar Rocky 9. Cloudflare voor DNS (inclusief DNSSEC), DDoS-bescherming en Zero Trust-toegang op afstand. Daarbij hoorde de migratie van 25 autoritatieve DNS-zones van zelf gehoste BIND 9 naar Cloudflare in twee werkdagen. Meerdere registers werden bijgewerkt, en het geheel werd geïntegreerd met Ansible en Let’s Encrypt.

Alles op opensourcegereedschap, krap budget, bewust zo gebouwd dat we de licentieval van Broadcom en VMware voor bleven voordat die dichtklapte. Dat besliste de discussie. Opensource-infrastructuur op die schaal is niet alleen werkbaar — het is beter, en ik heb het cluster en de facturen om dat te zeggen.

De andere helft van die baan waren de vier mensen in het team. Wetenschappers kan het niet schelen hoe de opslag heet. Het gaat hun erom of de berekening vannacht doorloopt, en of degene aan wie ze het vragen het antwoord kan uitleggen zonder dat ze zich dom voelen.

Hoe het allemaal samenkomt

De overstap naar presales bij croit was geen koerswijziging. Het was alles wat op één plek samenkwam.

Productie-ITBetrouwbaarheid is geen keuze als de productie ervan afhangtOndersteuning in de frontlinieLeren luisteren, uitleggen en geduldig blijvenApplicatieontwikkelingSystemen bouwen die echte bedrijfsproblemen oplossenWereldwijde IT-leidingDe techniek dragen en de mensen toch laten groeienDiepe Linux-engineeringDe laatste escalatielijn — daarachter belt niemand meerKritieke DNS bij NominetInfrastructuur en discipline op nationale schaalInfrastructuur & hostingVMware, opslag en uitwijk op grote schaalScience computing (UKCEH)Herbouwd op Proxmox VE + Ceph + HPC, overal open sourcePresales bij croitHet systeem ontwerpen, het verdedigen, eerlijk blijven

Productie-IT leerde me dat betrouwbaarheid ophoudt een voorkeur te zijn op het moment dat de productie ervan afhangt. Ondersteuning in de frontlinie leerde me eerst te luisteren. Applicatieontwikkeling leerde me systemen te bouwen die een bedrijfsprobleem oplossen in plaats van een interessant probleem. Een wereldwijd team leiden leerde me de technische last te dragen en de mensen om me heen toch te laten groeien, wat zwaarder is dan elke helft apart. Derdelijns-Linux leerde me hoe de laatste escalatielijn voelt. Twintig jaar Windows en Linux naast elkaar leerde me hoe platformen zich onder belasting werkelijk gedragen, tegenover wat het datablad zegt. VMware, dat ik vanaf 2008 in bijna elke functie draaide, leerde me hoe bedrijfsvirtualisatie er op schaal uitziet — en daarna wat er gebeurt als de commerciële grond verschuift onder een platform waar de hele omgeving op zit. Opslag en netwerk leerden me waar de moeilijke problemen wonen. Beveiliging loopt door alles heen, van firewalls en VPN’s vroeger tot DNSSEC, Zero Trust en hardening nu. Nominet leerde me discipline.

Zet dat allemaal bij elkaar en je krijgt presales. Je ontwerpt het systeem, dan verdedig je het ontwerp, en je blijft eerlijk over wat het niet zal doen, want iemand staat op het punt op jouw woord echt geld uit te geven.

Bij croit betekent dat werken met organisaties in Europa en Azië-Pacific die hun virtualisatie en opslag heroverwegen. De gesprekken gaan meestal over weggaan bij VMware naar Proxmox VE met Ceph. De belastingen die meekomen zijn overwegend Windows, dus de platformoverstijgende ervaring is geen oud nieuws. Het is wat ik nu doe.

Waar het mij om gaat, is de eerlijkheid. Wat ik iemand voorleg moet het ding zijn dat in zijn gebouw werkt, op zijn schaal, met de beperkingen die hij echt heeft, en als zijn bestaande apparatuur het werk al grotendeels doet, dan is dat wat ik hem zal vertellen.

DE STACK DIE IK VANDAAG ONTWERP & BOUWAutomatisering & bron van waarheidAnsible · NetBox · Let's EncryptRekenkrachtProxmox VE — KVM-machines + LXC-containersOpslagCeph — RBD-blok · CephFS · volledig NVMeNetwerk25/100GbE-fabric · BGP / OSPF · native IPv6FundamentOpen source, op hardware die van jou is

Opslag

Opslag bleek keer op keer de plek waar de moeilijkste problemen zaten. Dat was geen bewust loopbaanplan — het liep gewoon zo.

De fascinatie begon vroeg. In de jaren negentig droomde ik van Iomega Zip- en Jaz-schijven — 100 MB, en toen een hele gigabyte, op één verwisselbare cassette, terwijl de diskettes die iedereen uitwisselde 1,44 MB hielden. Het was dure apparatuur, dus bleven ze jarenlang een wens in plaats van bezit. Tegen de tijd dat ik eindelijk een USB-Zipstation had, waren de USB-sticks net verschenen — en het formaat dat ik zo lang had gewild was al op weg naar buiten. Een vroege les in hoe snel opslag beweegt, en hoe snel het must-have van vandaag de laderommel van morgen wordt.

Optisch hoorde bij hetzelfde verhaal. In 1998 had ik een HP CD-RW-station met viervoudige snelheid, en het was een pracht. Het kon schijven lezen en herschrijven die latere, snellere stations gewoon weigerden — zo verdiende het zijn plek als reddingsstation lang nadat het met pensioen had gemoeten.

Het begon bij de aansluiting. Ik heb met opslaghardware over de hele linie gewerkt. IDE, meerdere SCSI-generaties, SATA, SAS en NVMe aan de direct aangesloten kant. ATA over Ethernet en iSCSI aan de netwerkkant. HP 3par, Dell Compellent, Dell PowerVault, Nexsan — elk met eigen eigenaardigheden en storingsbeelden.

Vandaar ging het de stack op. Geclusterde LVM leerde me hoe gedeelde opslag zich gedraagt als meerdere nodes tegelijk toegang nodig hebben — en wat er gebeurt als locking en fencing niet kloppen. ZFS leerde me wat er gebeurt als je data-integriteit op bestandssysteemniveau echt doordenkt. GPFS liet me parallelle bestandssystemen op schaal zien. Ceph leerde me hoe gedistribueerde systemen zich bij storingen anders gedragen.

Door de jaren heen werd uit “degene die de opslag er ook bij doet” “degene die je belt als de opslag goed ontworpen moet worden”.

Netwerk

Netwerk is er vanaf het begin bij geweest. Het is geen ondersteunende vaardigheid — het is een kernvaardigheid. TCP/IP, DHCP en DNS spannen zich over elke functie die ik vanaf McKenna heb gehad.

Bij Nominet werken betekende werken aan de infrastructuur achter het Britse domeinnaamregister. Dat is DNS op nationale schaal. Naamgeving, resolutie, delegatie, en de verwachting dat het elke keer werkt.

Ik draaide autoritatieve zones op BIND 9, configureerde DNSSEC, zette F5-loadbalancers op voor IPv4 en IPv6, en migreerde later DNS-omgevingen naar Cloudflare met API-automatisering en Let’s Encrypt-koppeling. Ik heb PXE-boot-DNS-infrastructuur gebouwd voor clusteruitrol in zowel het Verenigd Koninkrijk als China. Ik begrijp DNS van beide kanten. Zelf gehost, waar elke storing van jou is. En beheerd, waar je een aanbieder vertrouwt en dat vertrouwen via monitoring moet toetsen.

Voorbij DNS loopt netwerk door elke functie die ik heb gehad. VLAN’s, bonding, LACP, fibre-channelzonering met Brocade, firewalling met Fortinet en Cisco ASA, IPTables en IPset. Ontwerp van 25GbE- en 100GbE-fabrics, BGP, OSPF-dynamische routering, MTU-beheer, IPv6-architectuur. VPN-tunnels — van OpenVPN over lastige internationale verbindingen tot WireGuard en cloudflared voor moderne veilige toegang. Samba was ook over meerdere functies een professionele vaardigheid en sloeg een brug tussen Linux-bestandsdeling en Windows-domeinintegratie, lang voordat ik de AD-implementatie in alfa testte.

Een Ceph-cluster is een netwerktoepassing. Het prestatieplafond van de opslag wordt gezet door het netwerk eronder. De storingsbeelden zijn netwerkstoringsbeelden. Dat leer je niet uit een leerboek. Dat leer je door om twee uur ’s nachts te zoeken.

Linux

Ik werk al ruim twee decennia met de RHEL-, Debian-, SUSE- en Fedora-families. Beroepsmatig betekent dat RHEL en CentOS voor draaiende diensten, Ubuntu voor applicatiehosting, Rocky voor HPC, en Gentoo en Fedora voor eigen gebruik. Ik heb LinkedIns Linux-vaardigheidstoets gehaald.

De diepte kwam van problemen zonder antwoord op Stack Overflow, en daar leer je het PCI-subsysteem echt in plaats van van horen zeggen: IOMMU-groepen, ACS, VFIO, SR-IOV, Resizable BAR en wat DMA-vertaling je stilletjes kost, en kernelbootparameters als knoppen die het gedrag van de machine veranderen in plaats van een lijst om over te schrijven van een wiki omdat iemands blog zei dat het zijn probleem oploste.

Prestatieproblemen met opslag en virtualisatie zijn bijna altijd terug te voeren op een laag waar niemand naar gekeken heeft. Daar woont mijn Linux-kennis.

Windows

Linux is waar ik nu mijn tijd doorbreng, maar de Windows-kant is net zo echt en is in elke baan die ik heb gehad aanwezig geweest. Windows Server, Active Directory, LDAP, Exchange, IIS, Microsoft SQL Server. Niets daarvan is een oude vaardigheid die ik heb neergelegd.

Het telt op gastniveau, en daar houden de meesten op met kijken. Als een Windows-belasting op KVM draait, is degene die je kan vertellen hoe die gast zich onder een bepaalde CPU-topologie gedraagt, en een prestatieklacht kan herleiden tot een Microsoft-patch in plaats van de hypervisor de schuld te geven, degene die jaren aan beide kanten van het hek heeft doorgebracht. De meeste VM-prestatiediscussies die ik heb gezien werden gewonnen doordat iemand de gast kende, niet de gastheer.

De mensen die ik heb ondersteund lopen van hoogleraren en bestuurders tot het team dat de gebouwen verzorgt. De opgave is elke keer dezelfde. Uitzoeken wat ze echt nodig hebben, het werkend krijgen, en het zo uitleggen dat ze zich niet dom voelen omdat ze het vroegen.

VMware

VMware is het platform waar ik beroepsmatig mee ben opgegroeid, over zeven functies vanaf 2008, en ik heb de volle stack ervan gedraaid: ESXi, vCenter, vSAN, vSphere-clustering, vMotion. Ik weet wat het goed doet. Ik weet waar niet. En ik heb gezien hoe de overname door Broadcom de commerciële werkelijkheid herschreef onder organisaties die hun hele omgeving erop hadden gebouwd, en dat is iets anders dan erover lezen.

Je kunt niemand van een platform af helpen waar je zelf nooit fatsoenlijk op hebt gewerkt. Als zodanig kan ik ze vertellen wat ze opgeven, wat ze krijgen, en welk deel van de migratie erger wordt dan ze is voorgespiegeld.

Automatisering

Automatiseringsdenken begon in mijn eerste professionele functie in 2006. VB-scripts bij McKenna om AD-schijfkoppelingen, printertoewijzing en softwareuitrol te automatiseren. Daarna HR-naar-AD-provisioninggereedschap bij BT Engage IT. Daarna PXE-bootsystemen voor schijfloze rekenclusters bij Sondrel. Daarna Puppet bij Nominet. Daarna Chocolatey-pakketten en PXE-herbouw bij een detailhandelsbedrijf. Daarna aanpassing van ServiceNow-workflows over meerdere functies.

Nu is het Ansible met Netbox als bron van waarheid. Niet omdat ze in de mode zijn, maar omdat infrastructuur die je niet vanuit code kunt herbouwen geen infrastructuur is die je kunt vertrouwen.

Documentatie is hetzelfde argument. Kennis die alleen in iemands hoofd leeft is een enkel storingspunt, en die loopt om vijf uur met de rest het gebouw uit. Net als een schijf zonder redundantie erachter, en met dezelfde ernst te behandelen.

Monitoring

Mijn monitoringachtergrond begon met SolarWinds bij Pulsant, waar ik monitoring op schaal over de hostingomgeving draaide. Zabbix kwam later, en het verdient een eigen vermelding omdat ik het sindsdien bijna overal heb ingevoerd. Het begon bij Nominet, waar ik de aanbesteding en de tests leidde en ons daarna op Zabbix zette om de verouderende VMware Hyperic-opzet te vervangen, en het won doordat het echt begrijpelijk was in plaats van weer iets met Nagios eronder. Daarna heb ik het vanaf nul ingevoerd bij een hosting- en infrastructuurplatform, in de detailhandel iemands mislukte poging vervangen, en er bij UKCEH een HPC-cluster van 8 nodes mee bewaakt.

Elke keer ontwierp ik de monitoringsjablonen en schreef ik de scripts zelf. Toen ik in 2018 de Zabbix-examens Specialist en Professional deed, rolde ik het al jaren uit.

Communicatie

Werken in kritieke infrastructuur leert je precies te zijn. Werken in presales leert je duidelijk te zijn. Die twee hangen samen maar zijn niet hetzelfde.

Precies zijn helpt niets als degene die luistert de redenering niet kan volgen, dus moest ik leren dezelfde uitleg twee keer te geven: één keer voor de ingenieur die de CRUSH-map wil zien, en één keer voor degene die moet tekenen waarom het budget het getal is dat het is. Ik maak niets kinderachtig. Ik maak alleen elke stap in de redenering zichtbaar, en laat ze me onderbreken waar ze willen.

Jaren met eindgebruikers leerden me een ander soort geduld. De mensen die zichzelf de slimste in de kamer vinden, gedragen zich meestal het hulpelooste. Degenen die beginnen met “ik ben niet erg technisch” luisteren doorgaans, volgen de stappen en hebben het in tien minuten opgelost. En degenen die je vertellen dat ze precies weten wat ze doen, hebben het meestal erger gemaakt voordat ze de telefoon pakten.

De achtergrond in bedrijfssystemen helpt hier meer dan mensen verwachten, omdat ik altijd beide kanten op heb moeten vertalen. SQL-architectuur voor een operationeel manager, een opslagontwerp voor een CTO, of naast iemand aan zijn eigen bureau zitten en hem laten zien wat hem nooit is getoond. Elke keer dezelfde vaardigheid.

Gemeenschap

Kennis delen loopt door de hele loopbaan.

Ik was actief op de Gentoo-forums toen ik systemen uit broncode bouwde en moest begrijpen waarom een combinatie van USE-vlaggen een compilatie sloopte. Ik droeg bij op de Samba-forums toen ik problemen met bestandsdeling en domeinintegratie tussen Linux en Windows doorwerkte. Dat ging verder dan alleen vragen stellen. Ik heb een Samba-gebaseerde Active Directory-domeincontroller gebouwd toen de AD-ondersteuning nog in alfa was. Ik heb hem getest tegen Windows 2000-, XP- en Vista-clients en teruggekoppeld naar de gemeenschap.

Nu ben ik actief bijdrager op de Proxmox-communityforums als DamienDye. Ik help bij NVMe-passthrough-prestaties, het afstemmen van Windows-VM’s, Ceph-probleemoplossing en clusternetwerken.

De technologieën veranderen. Het principe niet. Als ik een probleem heb uitgezocht, valt er niets te winnen door erop te blijven zitten, en iemand zal over zes maanden om twee uur ’s nachts blij zijn dat het opgeschreven staat.

Ik heb ook de gewoonte om me dieper in problemen te graven dan de taak strikt vraagt. Ik heb een zelfgebouwde printplaat voor NVMe-bescherming tegen stroomuitval ontworpen, omdat ik precies wilde begrijpen waarom FTL-corruptie op hardwareniveau ontstaat. Ik heb protocollen voor zelf gehoste e-mail onderzocht omdat ik JMAP vanaf de RFC wilde begrijpen in plaats van een aanbieder maar te vertrouwen. Ik heb deze blog gebouwd omdat dingen goed opschrijven de manier is waarop je de gaten in je eigen begrip vindt.

Gemeenschap weg van het toetsenbord

Het was niet allemaal forums.

In 2018 was ik een van de oprichters van de Longford Park Community Association in Banbury, in de wijk waar ik woon. Vier bouwfasen, een buurthuis dat in de plannen stond, en niets dat het kon draaien. Dus heeft een handvol bewoners iets opgezet.

Ik deed eerst het IT-deel, want dat was wat ik te geven had. Het domein lpca.org.uk ging in januari 2018 live, en daarachter bouwde ik de website, de mailsystemen en de bestuurslijsten, en schreef ik de privacyverklaring.

Ik zat vanaf het begin in het bestuur, en ik was er van december 2018 tot februari 2020 voorzitter van. Veertien maanden, en de dingen die er echt toe deden landden allemaal daarbinnen. We hebben het op 11 februari 2019 als goed doel laten registreren, nummer 1181953. Ik heb de commerciële huurovereenkomst voor het gebouw geregeld. Daarna hebben we het centrum geopend.

Daar was het voorzitterschap voor. Niet voor agenda’s en notulen. Voor het openen van een gebouw waar een paar honderd huishoudens naar binnen kunnen lopen. Vrijwilligers uit de buurt draaien het nog steeds over fase 1 tot en met 4 van de wijk — drie zalen, een keuken en een parkeerterrein, per uur te huur voor iedereen in de wijk die ze wil.

Vrijwilligersbesturen draaien op goede wil, en goede wil is geen governancemodel. Dus hield ik mensen aan de statuten, mezelf inbegrepen. Ik vroeg waarom we van buiten wierven terwijl de statuten zeiden: betrek de bewoners, en ik hield een mailing tegen die in elke spammap van de wijk zou landen. Niet om lastig te zijn. Een bewonersvereniging die de bewoners niet kan bereiken is al gezakt voor de enige taak die ze heeft, en ik stuurde de links om het op te lossen mee met de klacht.

Het centrum is nog steeds open en ik zit niet meer in het bestuur, en zo hoort het. Wat alleen werkt zolang jij ernaast staat en het overeind houdt, is nooit goed gebouwd.

Deze site

Deze blog is een statische Hugo-site met het thema PaperMod. Hij draait op Cloudflare Workers en levert de gebouwde site als statische assets uit.

Ik schrijf hier over de infrastructuur waar ik dagelijks mee werk: Proxmox VE, Ceph, Ansible, Netbox, certificaten en waar ik die week verder in gedoken ben. Het is geschreven om gebruikt te worden, met de commando’s en de cijfers erin, want een bericht dat je aan het toetsenbord niet kunt volgen is versiering. Geen marketingpraat. Als iets ruwe randen heeft, zegt het bericht dat.

Contact

Je vindt me op LinkedIn of op de Proxmox-forums.

Als je naar Ceph of Proxmox kijkt voor jouw organisatie en een fatsoenlijk gesprek wilt in plaats van een pitch, laat het me weten. Breng de werklast, de beperkingen en het budget mee die je echt hebt. Ik vertel je wat het gaat doen, wat niet, en als het eerlijke antwoord is dat je moet houden wat je hebt en het goed moet configureren, krijg je dat antwoord ook.