Blijvende koppelingen: de ene regel die een machine kan beletten op te starten
De koppeling die je met de hand maakte verdwijnt na een herstart, en hem blijvend maken gaat via een bestand dat bepaalt of de machine opstart. Een kapotte regel daar legt geen dienst stil maar de machine.
AtlasPVE ·
Dit artikel beantwoordt
- proxmox fstab blijvende koppeling
- proxmox schijf weg na herstart
- proxmox start niet op fstab
- wat is nofail
- proxmox nfs koppeling blijvend
Je koppelt een schijf of een netwerkopslag met de hand en het werkt. Je herstart de machine en het is weg.
De oplossing ligt voor de hand: een regel toevoegen aan de lijst van wat bij het opstarten gekoppeld wordt. En daar begint precies het gevaar.
Dit bestand is niet als de andere
De meeste instellingenbestanden op de server beletten, als ze kapot zijn, dat een dienst werkt. Is dit bestand kapot, dan start de machine misschien niet op.
De uitkomst is niet "de dienst ligt eruit" maar "het systeem viel terug in een herstelschil". En op dat punt kun je niet op afstand verbinden; je hebt toetsenbord en scherm of een fysieke console nodig.
De scheefheid die niemand opmerkt
Een kapotte netwerkinstelling is vervelend: je verliest toegang op afstand. Maar de machine start nog steeds op.
Een kapotte koppelregel kan de machine helemaal niet laten opstarten.
En toch zijn mensen veel voorzichtiger bij het bewerken van het netwerkbestand. De volgorde van gevaar is het omgekeerde van de ingeving, en het is de ingeving die het mis heeft.
Drie regels
Controleer de structuur vóór het schrijven. Een regel vraagt minstens drie velden: bron, doel en bestandssysteemtype. Een regel met ontbrekende velden bezorgt elk gereedschap dat het bestand leest problemen.
Schrijf ondeelbaar. Een half afgemaakte schrijfactie is in dit bestand erger dan geen: er blijft een afgekapt bestand over en de machine probeert daarmee op te starten.
Laat een ontbrekende schijf de machine niet gijzelen. Gebruik voor netwerkopslag en verwisselbare schijven de mogelijkheid die het opstarten laat doorgaan wanneer de koppeling mislukt. Dat een back-upschijf niet is aangesloten, is geen reden dat de server niet opstart.
De controleval: een controle die crasht is geen geslaagde controle
De meest algemene les van dit artikel staat hier, en ze geldt niet alleen voor dit bestand.
Er bestaat een standaardgereedschap om dit bestand te controleren. Gemeten op een echte machine kwam dit eruit: het gereedschap crasht wanneer het een regel met minder dan drie kolommen ziet. Het klapt dus precies stuk wanneer het de misvormde vorm ziet die het hoort te vangen.
Dat een controlegereedschap crasht, betekent niet dat de controle geslaagd is. Het juiste antwoord is niet "geen probleem" maar "kon niet gecontroleerd worden".
Een werkwijze die dat onderscheid niet maakt, keurt het gevaarlijkste bestand goed op zijn zwakste moment.
De tweede val: niet elke klacht is een fout
Hetzelfde controlegereedschap kan twee verschillende dingen zeggen, en die verwarren schept een nieuw probleem.
Een opmaakfout betekent dat het bestand onleesbaar is. Dat is werkelijk gevaarlijk en de schrijfactie hoort teruggedraaid te worden.
Een inhoudelijke klacht is iets anders: dingen als "doel bij opstarten onbereikbaar" of "onbekend bestandssysteemtype". Die beschadigen het bestand niet en kunnen terecht zijn. Een regel toevoegen voor een nog niet aangesloten apparaat is gebruikelijk en juist; de mogelijkheid die het opstarten laat doorgaan bestaat precies daarvoor.
Een controle die beide op één hoop gooit, wijst een gloednieuwe, volkomen geldige regel af. Met andere woorden: een te strenge poort maakt het werk onmogelijk en drijft mensen ertoe de poort uit te zetten.
Wat Atlas doet
In Atlas gaat elke schrijfactie naar dit bestand door één enkele deur. Elke regel wordt vóór het schrijven structureel gecontroleerd, de schrijfactie is ondeelbaar, en na het schrijven wordt het bestand teruggelezen en gecontroleerd; verschijnt het verwachte resultaat niet, dan wordt de vorige toestand hersteld.
Beide vallen hierboven worden bewust behandeld. Het externe controlegereedschap telt alleen als tweederangs signaal: crasht het, dan is de uitkomst niet "schoon" maar "kon niet gecontroleerd worden". En opmaakfouten en inhoudelijke klachten worden apart behandeld; alleen een opmaakfout leidt tot terugdraaien, terwijl inhoudelijke klachten niet worden ingeslikt maar aan de aanroeper gemeld.
De noodzaak van dat onderscheid werd ook door meten gevonden: in de eerste versie leidden beide tot terugdraaien, en in die toestand werd zelfs een gloednieuwe, volkomen geldige regel afgewezen.
Een eerlijke aantekening over de geschiedenis: het product schreef vroeger vanuit acht verschillende plekken naar dit bestand, en op geen ervan werd gecontroleerd of het geschrevene geldig was; op twee ervan werd het hele bestand niet ondeelbaar overschreven. In hetzelfde product werd het netwerkbestand, dat de machine niet kan beletten op te starten, wél ondeelbaar geschreven. Het gevaarlijkere bestand was dus het minder beschermde. Het werd gemeten en achter één deur gebracht.
Bronnen
De eigen documentatie van Proxmox. In het Engels, en die heeft over dit onderwerp het laatste woord.