Succesvolle migratie naar Debian 10

Soms dan moet je gewoon. En moeten is geen fijn gevoel! Thuis draai ik behoorlijk wat diensten en omgevingen voor mezelf. Van alles en nog wat, van leuk tot functioneel. Dat alles draait tegenwoordig in zogeheten containers gevirtualiseerd op een kale Linux Debian server. Dat is voor mij een hele stap voorwaarts geweest:

Traditioneel gezien onderhield ik thuis “Toren van Pisa’s”. Je hebt een Linux server die je langzaam aan, stapje voor stapje meer te doen geeft. Je draait dit, je draait dat. Je zet er 1 of 2 of 3 databases en database servers op omdat allerlei applicaties allerlei behoeftes hebben. Na een tijd kan je echt genieten van je omgeving. Alles draait, en alles is mooi. Maar ook alles maakt gebruik van dezelfde onderdelen en heeft daar vaak uiteenlopende wensen bij. Het ene programma draait op database versie 10, de andere blijft liever nog op 9 en weer een andere eist versie 11. Op die manier raak je na verloop van tijd altijd een beetje vast. Je kan niet meer voor of achteruit omdat alles van elkaar afhankelijk is. Troubleshooten wordt steeds ingewikkelder en op een moment durf je niet eens meer die kant op te ademen of kijken.

Et voilà! Je eigen Toren van Pisa. Geweldig mooi, voelt goed, maar je kan er eigenlijk niet echt meer iets mee. Je moet hem houden zoals hij nu is, tot je op een gegeven moment om mee te komen er maar wat nieuws naast gaat bouwen. Sommige dingen gaan mee naar de nieuwe omgeving, andere onderhoud je noodzakelijkerwijs met zweet op de bilspleet op je steeds engere en schevere toren.

Daar hebben containers steeds meer een verandering in gebracht. Of beter gezegd: een revolutie! Je draait een Linux server en elke dienst die je gaat draaien krijgt zijn eigen container-omgeving die zijn eigen noodzakelijkheden en omgeving bevat. Je server wordt steeds irrelevanter en eigenlijk vooral een manier om je containers op te starten.

Ik heb zelf op dit moment 48 containers draaien, niet exact vergelijkbaar, maar eigenlijk heb ik zo dus 48 diensten of servers draaien. Bizar, zeker gezien de specs van mijn servertje. Hij is ontzettend klein gehouden en heeft ook slechts 16gb geheugen. Dat is dan ook wel de 2e revolutie van containers. Ze zijn zo ontzettend efficiënt.

Debian 9 naar 10

Als je het dan simpel stelt draai ik nu een Linux server, waarop ik Docker installeer en vervolgens deze containers moet starten. Qua complexiteit en verwevenheid lekker overzichtelijk zo! Deze Linuxserver heb ik voorzien van Debian en draaide op de toen laatste versie 9. Sinds juli 2019 is Debian 10 beschikbaar (9 wordt nog wel ondersteund en geupdate).

Toch merkte ik dat ik de stap maar niet maakte. Dit is vooral door ervaringen in het verleden. Ik denk dat ik gemiddeld 1 op de 3 of 1 op de 4 keer na een OS-upgrade nog een werkend systeem had. En werkend is een variabel begrip daarbij…
Daar blijven dus toch echt zenuwen aanwezig. En gezien je er je eigen hele infrastructuur op draait voel je toch een gruwelijke drempel om te upgraden… Gaat het stuk heb je niets tot je geherinstalleerd hebt en de containers teruggehaald hebt uit backups. In theorie goed te doen, in praktijk iets waar ik gruwelijk tegenop zie.

Vanmorgen had ik dan besloten dat het tijd is. Mijn kansen, gezien niet alles van alles aan elkaar hangt en gezien de eenvoud zijn flink toegenomen. Gaat het mis, dan is het te redden! (Geen zin, maar KOM OP!!!! JE MOET!!!!!)

Ik heb deze pagina erbij gepakt (ik vond die "{safely}" onwijs geruststellend): How to upgrade Debian 9 Stretch to Debian 10 Buster {safely}

Eigenlijk stond daar alleen dit in:

Verander in /etc/apt/sources.list elke “stretch” in “buster”. Type vervolgens:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo reboot
sudo apt --purge autoremove // Om op te ruimen, optioneel.

Vervolgens, om te zien dat het gewerkt heeft:
hostnamectl

En verrekt!!!

   Static hostname: dockert
         Icon name: computer-desktop
           Chassis: desktop
        Machine ID: bb89d6d675c943b3ba28da5b54497f8a
           Boot ID: 49cfe359acd4443eab4d2192392e70f9
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-13-amd64
      Architecture: x86-64

Het ging ineens goed. Ik heb denk ik een half uur vol zenuwen zitten kijken en een paar keer op enter moeten duwen. Na de reboot werkte alles nog.

Wat een feest!!!! Woepie, ik ben over! Volgende keer wacht ik echt niet meer zo lang (denk ik 😅)

Wat heerlijk saai en zonder verrassingen. Fijn om de rest van mijn weekend voor leuke dingen in plaats van herstelwerkzaamheden te kunnen gebruiken 😋