Software-RAID gebouwd, herstart, en de opslag is weg: de reeks wordt bij het opstarten niet samengesteld
De schijven zijn in orde en de gegevens staan er, maar de opslag ontbreekt. Wat ontbreekt zit niet op de schijven: het is de vastlegging die het systeem opdraagt de reeks bij het opstarten samen te stellen.
AtlasPVE ·
Dit artikel beantwoordt
- proxmox software raid mdadm
- proxmox raid reeks komt niet op bij opstarten
- proxmox opslag verdwenen na herstart
- wordt mdadm ondersteund op proxmox
- proxmox raid of zfs
- proxmox storage verdwenen na herstart
U heeft de schijven samengevoegd, de reeks kwam op, de opslag verscheen, u heeft er gegevens op geschreven. Alles werkte.
Toen heeft u de machine herstart en de opslag is weg.
De schijven zijn in orde. De gegevens staan er nog. Wat ontbreekt is iets anders.
Een reeks zit niet op de schijven, maar in de samenstelinstructie
Meerdere schijven als één opslag tonen is geen eigenschap die op de schijven ligt. Bij elke start moet het systeem die schijven terugvinden en weer samenvoegen.
Er is een vastlegging die vertelt hoe. Zonder die vastlegging wordt de reeks misschien niet samengesteld. En zelfs als dat wel gebeurt, kan zij onder een andere naam opkomen, wat op hetzelfde neerkomt: uw opslag wijst naar de oude naam en daar staat niets.
Het probleem is dus niet "de gegevens zijn weg", maar "de weg naar de gegevens is bij het opstarten niet gebouwd". Dat klinkt minder eng, maar op het moment van schrik voelen beide hetzelfde.
Het standpunt van Proxmox zelf
Dit hoort eerlijk gezegd te worden: de ingebouwde en ondersteunde weg op Proxmox is ZFS. Vraag bij de installatie om schijfspiegeling en dat krijgt u.
Klassieke software-RAID werkt, maar het is niet de weg die het installatieprogramma voor u inricht. Dat betekent dat, als u ervoor kiest, het aan u is om ervoor te zorgen dat de stappen voor samenstellen bij het opstarten goed zijn gedaan.
Toch zijn er gevallen waarin het zinnig is: u heeft al een reeks en migreert die, de indeling van uw controller is niet wat ZFS verwacht, of het geheugen van de machine is krap voor ZFS. Dat zijn echte redenen. Zonder reden kiezen is uzelf later werk bezorgen.
De regel: een reeks die geen herstart heeft gezien telt niet als reeks
Dit is de nuttigste zin van dit artikel.
Herstart na het bouwen van de reeks bewust één keer, zolang er nog niets van afhangt. Komt de opslag terug, komt hij onder dezelfde naam terug, is de inhoud zichtbaar?
Hetzelfde schreven we in het artikel over waarschuwingen in deze wiki: een ongetest alarm is geen mechanisme, het is een hoop. Voor een reeks geldt hetzelfde. Een reeks die geen herstart heeft doorstaan, is een reeks waarvan u denkt dat hij werkt.
De naamswisselval
De tweede veelvoorkomende val: de reeks wordt samengesteld, maar onder een andere naam dan de vorige keer.
Uw opslagdefinitie wijst naar de oude naam, dus de opslag is opnieuw onzichtbaar. Deze keer staat de reeks er wel, maar niemand kijkt ernaar.
De oplossing is de opslag te koppelen op identiteit in plaats van op naam. Namen kunnen veranderen, identiteiten niet.
Wat Atlas doet
Wanneer Atlas een reeks bouwt, schrijft het ook de opstartvastlegging, en het toont deze waarschuwing op het scherm: als deze stap mislukt, wordt de reeks bij het opstarten mogelijk niet samengesteld en wordt de opslag onzichtbaar.
De waarschuwing klopte. Maar een tijdlang ontkrachtte zij zichzelf.
Om de vastlegging te maken werd het systeemgereedschap aangeroepen. Er is gemeten, en dit kwam eruit: als er helemaal geen reeks is, eindigt dat gereedschap met code nul en drukt niets af. Het zegt dus "geslaagd" en overhandigt u niets.
Het gevolg: er werd niets geschreven, maar de stap werd als geslaagd genoteerd. Precies wat de waarschuwing zojuist had beschreven, overkwam de gebruiker, terwijl het scherm alles als in orde toonde.
De correctie bestond uit twee delen. Het verwachte formaat werd door meten bepaald in plaats van geraden, en past de uitvoer niet bij dat formaat, dan geldt de stap als mislukt. Lege uitvoer is ook een mislukking. En om te voorkomen dat dezelfde reeks tweemaal wordt geschreven, worden zowel het apparaatpad als de identiteit gecontroleerd.
De algemene les
De zin die hier telt is deze: "het commando is geslaagd" en "het werk is gedaan" zijn niet hetzelfde.
Een afsluitcode vertelt u of het gereedschap heeft gedraaid. Hij vertelt u niet of het resultaat tot stand is gekomen. Als het hele doel van een stap is een effect voort te brengen, is wat u moet controleren niet de toestand van het gereedschap maar het effect zelf.
Er staan in deze wiki nog twee artikelen uit dezelfde familie. In dat over verweesde schijven scheidden we een leeg antwoord van het niet krijgen van een antwoord. In dat over de servernaam ging het om het gevaar van een plausibel ogende standaardwaarde in de plaats van het onbekende. Dit is het derde: een afsluitcode in de plaats van een nooit vastgesteld resultaat.
Alle drie zijn gezichten van hetzelfde gebrek: het programma beweert iets dat het niet heeft geverifieerd.
Bronnen
De eigen documentatie van Proxmox. In het Engels, en die heeft over dit onderwerp het laatste woord.