Ha egy gép konfigurációs fájlja megsérül: hol van a régi másolat
Minden géphez tartozik egy kicsi szöveges fájl. Ha megsérül, csak az adott gép érintett, a régi másolat pedig két olyan helyen van, ahová a legtöbben soha nem néznek.
AtlasPVE ·
A bejegyzés ezekre válaszol
- proxmox vm nem indul a conf szerkesztése után
- proxmox vm eltűnt a listából
- proxmox konfigurációs fájl megsérült
- proxmox vm konfiguráció visszaállítása
- proxmox konfiguráció elveszett áramszünet után
Minden virtuális géphez és minden konténerhez tartozik egy kicsi szöveges fájl. Hány mag, mennyi memória, melyik lemez, melyik hálózat: minden benne van, ember által olvasható formában.
Mi történik, ha ez a fájl megsérül, hol van a régi másolat, és mire kell figyelni kézi szerkesztés esetén?
Előbb a jó hír: a sérült fájl csak a saját gépét érinti
Minden gépnek külön fájlja van. Az egyikben lévő elgépelés nem dönti le a panelt, nem állítja meg a többi gépet, és nincs hatással a szerverre.
A tünet általában ez: az adott gép eltűnik a listából, vagy nem hajlandó elindulni. Minden más változatlanul működik. Érdemes ezt tudni pánik előtt, mert az első benyomás általában az, hogy "elromlott a rendszer", pedig nem.
Hogyan sérül meg
Kézi szerkesztés. Ez a leggyakoribb ok. Egy vessző, egy idézőjel, egy elgépelt kulcsnév.
Szerkesztés futó gép mellett. Még ha a fájl nem is sérül meg, váratlan dolog történik: a változtatás csak a következő indításkor lép életbe, miközben a feltételezés az, hogy azonnal hatályos. Vagy a rendszer maga frissíti a fájlt, és felülírja a kézzel beírt sorokat.
Félbeszakadt írás. Elmegy az áram, betelik a lemez, a folyamat leáll. A fájl félkészen marad.
A harmadik a legalattomosabb, ezért külön címet érdemel.
A félig megírt fájl rosszabb, mint a hiányzó fájl
Ha egy fájl hiányzik, az egyértelmű állapot. A program keresi, nem találja, jelzi, hogy "nincs ott", és az alapértelmezésekkel folytatja. Ezt az állapotot könnyű kezelni.
A félig megírt fájl nem ilyen. Fájlnak látszik. A program megnézi, hogy létezik-e, megtalálja, megbízik benne, és a benne lévő hiányos adatokkal próbál dolgozni. A baj nem az olvasás pillanatában jelentkezik, hanem utána.
A megoldás egyszerű, és minden írásra érvényes: a fájl közvetlen felülírása kerülendő. Előbb ideiglenes néven készül az írás, majd a fájl átmozgatással kerül a helyére. Az áthelyezés vagy teljesen megtörténik, vagy egyáltalán nem; nincs köztes állapot. Így a fájl tartalma vagy a régi, vagy az új, soha nem fél.
Ha egy szkript a Proxmox konfigurációjához nyúl, ez az egyetlen szokás többet ér, mint a benne megírt kód összes többi sora.
A régi másolat két helyen van
A biztonsági mentésben. Egy gép biztonsági mentése nemcsak a lemezt viszi magával, hanem a konfigurációs fájlt is, az adott pillanatbeli állapotában. A mentés visszaállításakor a konfiguráció is visszatér. A legtöbben csak adatként gondolnak a mentésre, és észre sem veszik, hogy egy helyreállítási út van a kezükben.
A pillanatképben. Pillanatkép készítésekor az akkori konfiguráció ugyanennek a fájlnak egy elnevezett szakaszába kerül. Vagyis a fájl a saját történetének egy részét is magában hordozza.
A kettő azonban nem helyettesíti egymást, és a különbség számít: a pillanatkép feljegyzése ugyanabban a fájlban van. Ha maga a fájl semmisül meg, a feljegyzés is vele megy. A biztonsági mentés máshol van. A valódi helyreállítási út a biztonsági mentés; a pillanatkép csak egy pont, ahová vissza lehet térni.
Ha kézi szerkesztés következik
Előbb le kell állítani a gépet.
A szerkesztés előtt készüljön másolat, és az a másolat máshová kerüljön. A konfiguráció helye konfigurációra készült; oda nem való mentés.
A változtatás után indítás következik, és annak ellenőrzése, hogy a gép valóban működik. Nem érdemes a következő újraindításig halasztani és elfelejteni; az elfeledett, félbehagyott szerkesztés hónapokkal később olyan hibaként tér vissza, amit senki nem köt semmihez.
Az általános szabály: a "hiányzó fájl" és a "sérült fájl" két külön állapot
A programok helyreállítási ága általában a "hiányzó fájl" állapotra készül, mert elsőként ez jut eszébe az embernek. A "fájl létezik, de a tartalma sérült" állapot nem jut eszébe.
Pedig a második a valóban veszélyes, éppen azért, mert senki nem gondolt rá. A kettő ráadásul másképp néz ki: a hiányzó fájl külön jelzést hordoz, a sérült tartalom nem.
Mit csinál az Atlas
Az Atlasnak is van néhány kicsi saját beállításfájlja, és itt több dolgot érdemes őszintén elmondani, mert mindegyik méréssel derült ki.
Két testvérfájl eltérően viselkedett. Az egyik magát javította, ha a fájlja sérült volt: félretette a sérült példányt, és tisztán indult. A másik nem: hibát jelzett és megállt, vagyis az adott funkció véglegesen használhatatlanná vált, és a felhasználó a terméken belül semmit nem tudott tenni ellene.
Az ok pontosan a fenti szabály volt: a helyreállítási ág a "hiányzó fájl" állapotra készült. A sérült tartalomból származó hiba nem hordozza ezt a jelzést, így az ág nem fogta meg, és a hiba felfelé szökött.
A karanténba tett másolatokat semmi nem takarította el. Minden sérülés maradandó fájlt hagyott maga után, darabszámra vonatkozó felső korlát nélkül. Éles gépen mérve: kettő közülük hónapok óta ott feküdt. Ez ugyanaz a szabály, ami a wiki más lapjain is szerepel: mindennek, ami ír, kell egy felső korlát.
Két, ugyanabban a pillanatban készült karantén azonos nevet kapott, és a második másolat felülírta az elsőt, így az egyik sérült változat csendben eltűnt.
Mindegyik javításra került, és magára a karanténlépésre egy szabály került: semmilyen körülmények között nem jelez hibát. A karantén helyreállítási lépés, egy helyreállítási lépés pedig nem válhat új hibaforrássá. Ez a mondat aprónak látszik, de éppen ezt érdemes a falra kitennie annak, aki helyreállítási kódot ír.
Források
A Proxmox saját dokumentációja. Angol nyelvű, és ebben a kérdésben az övé az utolsó szó.