Hulpartikel overzicht

Hulpartikel

Debian 10 start langzaam en wacht op random: crng init done

Als gevolg van een bug in nieuwere Linux Kernel versies (4.16 en nieuwer), kan het zijn dat je Debian 10-VPS traag herstart na een reboot commando.

In dit artikel leggen wij de bug uit en wat je kunt doen als workaround om het probleem te verhelpen.


De bug

 

Om de bug te begrijpen is het belangrijk een beeld te hebben van hoe Linux met random tekens om gaat. Ben je hier bekend mee? Skip dan door naar de uitleg over de bug.

 

Random Number Generator (RNG)

Computer systemen hebben volledig willekeurig/random gegenereerde tekens nodig voor gebruik in cryptography (technieken voor het beveiligen/versleutelen van informatie) en andere zaken waar willekeurige data voor nodig is. Hiervoor wordt gebruik gemaakt van een Random Number Generator die algoritmes inzet om random tekens (niet enkel getallen) te genereren.

Zodra je spreekt over beveiligde/versleutelde informatie in Linux komt daar al snel een RNG-component bij kijken. Een voorbeeld hiervan is OpenSSL: voor het genereren van keys en session keys wordt een RNG gebruikt.

 

Random seed

De random seed geeft het startpunt aan vanaf waar een computer willekeurige getallenreeks genereerd. Voor het genereren van willekeurige data, gebruikt een RNG een algoritme, waarin de random seed een van de waardes is in de berekening.

De bug

Er is de nodige onenigheid omtrent de daadwerkelijke oorzaak van deze bug en waar het precies in zit (en welke partij het dus moet oplossen).

In alle gevallen lijkt het er op dat de SSH-server een zekere mate van entropie (van de RNG) nodig heeft voor het kan starten, maar op het moment dat de SSH-server gestart wordt is dat punt nog niet bereikt. Hierdoor faalt de SSH-server met starten totdat CRNG gestart is en de status 'random:crng init done' krijgt.

Onder normale omstandigheden wordt bij het herstarten van je VPS de random seed van dat moment weggeschreven en is die bij de start van je OS weer beschikbaar. Het lijkt er op dat dit mogelijk niet geheel correct gebeurt, of op een te laat moment, waardoor de CRNG meer tijd nodig heeft om te starten.

Verschillende mensen hebben deze bug al vanaf kernel versie 4.16 gerapporteerd (zie bijvoorbeeld deze pagina of deze pagina), maar op dit moment (kernel 4.19) is het helaas nog niet verholpen.

  • Een vergelijkbare foutmelding zoals 'delay during boot - waiting for resume device - message : + random: crng init' kan zich ook voordoen bij andere distros dan Debian 10. Voor deze distros geldt in principe hetzelfde als voor Debian 10.
     
  • Er zijn ook rapporten van mensen die aangeven dat andere services zoals Nginx hier ook door kunnen worden geraakt.

De oplossing / workaround

Als tijdelijke oplossing kun je een andere RNG gebruiken dan CRNG. Wij raden daarvoor haveged aan in plaats van rng-tools omdat de ondersteuning van deze laatste afhankelijk is van de onderliggende hardware en de eerste het probleem ook verhelpt maar een softwarematige oplossing is.

 

Stap 1

Verbind met je VPS via SSH of de VPS-console.


 

Stap 2

Installeer Haveged met het commando:

apt -y install haveged

Haveged is standaard enabled en zal na een herstart van je VPS automatisch starten. Om de werking te testen kun je dat nu doen en daarna met journalctl -xe -u ssh controleren dat je SSH-server nu correct start.


Kunnen jullie Virtio RNG gebruiken?

Virtio RNG is een device dat als hardware RNG device aan een VPS wordt aangeboden. Daarmee is het in principe sneller dan CRNG of Haveged.

Wij kunnen VirtIO RNG echter niet zonder problemen inschakelen op ons VPS-platform omdat dit invloed heeft op de automatische migraties van VPS'en, die hierdoor aanzienlijk complexer worden. Zonder de nodige aanpassingen in onze systemen zouden die mogelijk helemaal niet meer werken.

Wij zijn wel van plan Virtio RNG in de toekomst te gaan aanbieden, maar kunnen nog geen datum geven wanneer dit zal gebeuren.


 

Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.

Wil je dit artikel met andere gebruikers bespreken, laat dan vooral een bericht achter onder 'Reacties'.

Heb je ook een goed idee?

Stuur jouw idee in! Met genoeg stemmen komt jouw idee op onze wishlist!

Heeft dit artikel je geholpen?

Maak een account aan of log in om een beoordeling achter te laten.

Reacties

Maak een account aan of log in om een reactie te plaatsen.

Kom je er niet uit?

Ontvang persoonlijke hulp van onze supporters

Neem contact op