Bár évek óta megbízhatóan használom a restic programot B2-re mentéshez, sajnos pár napja az egyik mentésre hibát dobott.
Próbálom javítani a hibát, de bármit is tegyek, olyan snapshotokra hivatkozik, amik már nincsenek, és ezt nehezményezi.
Volt már:
restic cache --cleanup
restic rebuild-index
restic prune
restic check --check-unused --read-dataSajnos nem használ, a hiba továbbra is fennáll. Annyit elértem, hogy közben mér képes új mentéseket készíteni, de ellenőrzéskor ilyen típusú hibákat ad:
error for tree 188b728e:
tree 188b728e: file "AW03.7z" blob 10 size could not be found
tree 188b728e: file "AW03.7z" blob 15 size could not be found
tree 188b728e, blob 1d6665b4: not found in index
tree 188b728e, blob 84323b02: not found in indexmindig hibát ad.
Van valakinek ötlete, hogyan lehetne javítani a mentést?
- 790 megtekintés
Hozzászólások
Mivel a restic kizárólag inkrementális mentést készít, így nincs más út, mint a legutolsó, még működő snapshotra visszatérni és az összes utána következőt törölni, prunolni, helyét sóval beszántani. Lehet, hogy valalki nálam okosabb és mutat megoldást, de szerintem ezt nem úszod meg adatvesztés nélkül.
- A hozzászóláshoz be kell jelentkezni
Az adatvesztésre fel vagyok készülve, és nem kritikus, mivel nem kizárólagos mentés. Jelenleg én is arra jutottam, hogy a visszamenőleges snapshotok számát csökkentem, de nem tudom, ez-e a jó út, és hogy nincs-e valami jobb módszer.
És persze az is fura, hogy hogyan sérülhet meg ennyire egy mentés.
- A hozzászóláshoz be kell jelentkezni
Ez eddig lokális hibának tűnik.
rm -rf ~/.cache/restic
Próbáld meg valami tök üres könyvtárba (akár más gépre) felhúzni ugyanezt a location-t.
- A hozzászóláshoz be kell jelentkezni
A restic cache --cleanup nem ugyanezt csinálja?
- A hozzászóláshoz be kell jelentkezni
nem.
--cleanup-cache[=false]
auto remove old cache directories
az rm -rf pedig értelemszerűen mindent visz. ami elcsesződött azt is.
- A hozzászóláshoz be kell jelentkezni
A cache --cleanup egyenértékű a --cleanup-cache paraméterrel?
- A hozzászóláshoz be kell jelentkezni
szerintem igen, de rtfm
- A hozzászóláshoz be kell jelentkezni
A restic cache --help ezt mondja:
--cleanup remove old cache directoriesAmúgy a .cahce/restic mappa alatt létre is jött egy új dátummal egy új almappa.
- A hozzászóláshoz be kell jelentkezni
És megoldódott a problémád?
- A hozzászóláshoz be kell jelentkezni
Egyelőre még fut a régebbi snapshotok kihagyása. Ha lefutott, meglátom. Sajnos nagy adatmennyiség.
- A hozzászóláshoz be kell jelentkezni
A helyzet szomorú. Lefutott a
/restic forget --keep-last 1 --prunede még mindig ott a hiba. Lefutott mindenféle cleanup prune rebuild-index, check --check-unused és --read-data is, de a helyzet nem javult.
Egyetlen snapshot van már csak és nem tudom kijavítani a hibát. Tree error egy olyan snapshot id-ra hivatkozik, ami már régen nem létezik.
Kénytelen voltam készíteni egy teljesen új mentést, de a biztonságérzetem erősen lecsökkent. Ha egy restic mentés így el tud romlani, akkor a többi mentésem sincs biztonságban. Emiatt továbbra is örülnék olyan módszereknek, ötleteknek, amivel ki lehetne javítani egy ilyen hibát, vagy pontosabban be lehetne azonosítani, mivel van a baj.
- A hozzászóláshoz be kell jelentkezni
de a biztonságérzetem erősen lecsökkent.
Ezt megértem. Ha nem bízol a mentésben, az nagy szopattyú. Ha nem tudod rendben tenni, akkor azt inkább cseréld le más megoldásra.
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
... amihez talán jobban értesz majd.
- A hozzászóláshoz be kell jelentkezni
Kipróbáltad amit javasoltam?
- A hozzászóláshoz be kell jelentkezni
Kipróbáltam úgy is, ahogy a dokumentáció mondja, és úgy is, ahogy Te javasoltad. De sajnos nem cache probléma.
Amúgy érdekes, hogy mindkét sérült repo ugyanabban a b2 objektumban van. Két sérülésből azonban még nem lehet olyan következtetést levonni, hogy a b2-nél történt volna valami. Főleg, hogy a többi repo sértetlen. Igaz, ez a két sérült volt a két legnagyobb.
Inkább gyanakszom arra, hogy a forget és purge műveleteket végző szerver alól fogyott már ki a szünetmentes táp is. Azt el tudom képzelni, hogy ilyenkor valahogyan megsérülhet a repo, de azt azért nehezen, hogy ennyire javíthatatlanul sérüljön meg.
- A hozzászóláshoz be kell jelentkezni
Tudsz többet mondani a környezetről? Régóta használom a Resticet napi szintű mentésre, hetente validálok, és még sosem volt problémám vele.
- A hozzászóláshoz be kell jelentkezni
Biztos, hogy az eszköz, amire írtál, rendben van? PEBCAK?
- A hozzászóláshoz be kell jelentkezni
B2 a háttér
- A hozzászóláshoz be kell jelentkezni
Igen, bocs, látom írtad már.
Valahogy nem akaródzik azt hinnem, hogy ez restic hiba.
- A hozzászóláshoz be kell jelentkezni
Engem zavar az a tény, hogy csak inkrementális mentéseket tud csinálni. Én biztos, hogy egy olyan megoldásra cserélném, ami tud on-demand full mentést is csinálni, és mondjuk havi-kéthavi szinten csinálnék egy full mentést vele. Tudom, hogy ez tárhelyben sok, de így garantálod azt, hogy ha sérülés is van, akkor se mondjuk fél év adatai mennek a levesbe. Alapból nem jó az, ha folyamatosan csak inkrementális mentés készül hosszú időn át, mert azok egymásra függenek, és maga a mentés így nem feltétlen lesz ellenálló a hibákkal szemben.
- A hozzászóláshoz be kell jelentkezni
Semmi nem akadályoz abban hogy akármikor "kezdj egy új repót" azaz csinálj egy full backupot.
- A hozzászóláshoz be kell jelentkezni
És ez pontosan így is történik. Mondjuk az azért szebb lenne, ha a már fent tárolt inkrementális állapotból tudna egy full verziót csinálni, így nem kellene a teljes adathalmazt újra elküldeni, de hát ne akarjunk mindent.
- A hozzászóláshoz be kell jelentkezni
Erről az jutott eszembe hogy "nem lehet egyszerre b@szni is meg szűznek maradni is".
Ha bármit felhasználsz egy korábbi mentésből akkor az már by-definition nem teljes mentés.
- A hozzászóláshoz be kell jelentkezni
Regen ezt differential mentesnek hivtak.
Pl. be volt allitva, h havonta keszuljon egy full backup, hetente egy differential (= incremental a legutobbi fullhoz kepest) es naponta egy incementalt (= kulonbseg a legutobbi incremental-hoz kepest.
- A hozzászóláshoz be kell jelentkezni
Nem. A differential mentés az egy adott full backup és az aktuális állapot közti összes különbség.
A kolléga fent egy meglevő full backupból akar darabokat használni.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Lehetőleg Windowson ReFS-en vagy Linux alatt XFS-en, hogy legyen "fast clone" ne napokig tartson az összegyúrás.
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
A restic nem simán inkrementális mentéseket csinál.
Az index sérülése egyáltalán nem okoz adatvesztést.
A data blokk elvesztése miatt az érintett snapshotok visszaállításakor az érintett fileok hiányoznak, más nem.
- A hozzászóláshoz be kell jelentkezni
Miután biztonságba kerültek az adatok, a sérült repón még próbálkoztam. Mivel már nem volt mit vesztenem, letöltöttem a legfrisseb restic változatot, és lefuttattam a "restic repair index" parancsot. Ez nem segített. Majd a
restic repair snapshots --forgetparancsot, és lőn! Ez végre észrevette a hibás hivatkozást, és kitörölte a mentésből.
Ezek után lefutott hiba nélkül a "restic check", és most fut a "restic check --read-data" is.
Ez öröm. A kérdés már csak annyi, mennyire keverhetők a restic verziók? Tehát, ha én a legfrissebb változattal helyrehoztam a mentést, az azért továbbra is használhatom még egy elő verzióval, vagy innentől mindenhol már ezt a legfrissebb változatot kell használnom?
- A hozzászóláshoz be kell jelentkezni
Engem az aggasztana, hogy hogyan sérült meg. Ha nem volt se fizikai hw hiba, se fájlrendszer hiba, se dirty shutdown se semmi, akkor mitől kullantott be? Ezek után mindig az lenne a fejemben, hogy nehogy egyszer akkor fossa össze magát, amikor disaster recovery-ben éppen kellene és akkor pont ne tudja magát helyretenni.
Ha egyszer egy bizalom megrendül ...
Ismerős a téma, éppen most cseréltem le egy általam 10+ évig használt mentési megoldást, mert egyeztetve a gyártóval kiderült, hogy baszik fejleszteni, karbantartani. Ugyan nagy hibák nem voltak vele, de jövőkép se nagyon. A mentés fontos dolog. Azzal nem játszunk!
trey @ gépház
- A hozzászóláshoz be kell jelentkezni