Btrfs fájlrendszeren könnyedén létre tudok hozni snapshot-okat. De hogy tudjuk visszaállítani? Ez nem derül ki nekem a neten fellelhető dokumentációból.
Az egyértelmű, hogy rá tudok boot-olni a rendszerre egy live cuccal, majd felcsatolom a root subvolume-ot és a visszaállítandó snapshot subvolume-ot külön mappákba, majd rsync-kel áttolom a snapshot adatait a root-ra. Ha ez az egyetlen megoldás, akkor azért ez mégis csak fél megoldássá teszi Btrfs-t.
Mit nézek be? Már létező snapshot-ot rá tudok snapshot-olni a root-omra?
Példa:
[code]
# snapshot mappa létrehozása
mkdir snap
# snapshot létrehozása a root-ról
btrfs sub snap -r / /snap/1
# vissza nem kellene működnie?
btrfs sub snap /snap/1 /
[code]
(Szerk.: a SUSE-s snapper progit most hagyjuk figyelmen kívül, sima btrfs cli megoldás érdekelne)
Előre is köszi!
- 7212 megtekintés
Hozzászólások
"Már létező snapshot-ot rá tudok snapshot-olni a root-omra?"
Én nem tudok ilyenről. Ez nem jelenti azt, hogy nincs.
Ami működhet:
4.8 Using snapshots for system recovery (aka Back to the Future)
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Ugye itt az általam is említett rsync-es megoldást használja a snapshot visszaállításra. Viszont a kérdésemre a válasz is benne van. Már tudom hol követtel el a hibát a gondolatmenetben:
"It is highly advised to not use the root subvolume when deploying a new Funtoo instance or put any kind of data on it in a more general case. Rolling back a data snapshot will be much easier and much less error prone (no copy process, just a matter of 'swapping' the subvolumes)."
Tehát nem kellene magát a gyökeret használnom, hanem eleve egy subvolume-ot kellett volna az éles rendszernek is létrehozni, és így már váltogathatok a snapshot-ok között a "set-default" paranccsal. Onnétól az lesz a felcsatolt verzió.
Ez viszont felvet egy másik kérdést: tudok-e váltani vagy snapshot-ot létrehozni 1 mappával feljebb felcsatolt rendszerről?
Ugye egy snapshot létrehozásánál meg kell adnom a cél mappát. De ha a gyökérnek egy subvolume-ot használok, akkor az attól feljebb lévő hierarchia nem látszik. Tehát 1 fizikai kötetnél szerintem mindig csak az adott gyökér _almappájába_ tudok snapshot-ot létrehozni, ha fel van csatolva a gyökér volume. És máris megint a topic indító kérdésemnél vagyok.
Természetesen egy live-ról boot-olva váltogathatok könnyedén a snapshot-ok között már, viszont ez amiatt macerás, hogy nem tudom on-the-fly menedzselni a snapshot-jaim (pl. cron-ból létrehozni a futó rendszerről), mindig boot-olnom kellene egy live-ról a snapshot-ok menedzseléséhez.
Jól gondolom?
Max még annyit lehetne akkor talán, hogy a home-nak külön subvolume-ot csinálni, mert azt akkor single módban boot-olva nem kellene live rendszer. Ennyit könnyítene a dolgon. Habár jobb mindig a teljes rendszerről (adat + rendszer) csinálni mindig a snapshot-ot, mivel azért a gyors visszaállítás a testreszabott rendszer nélkül csupán home-mal megint csak szívás.
- A hozzászóláshoz be kell jelentkezni
Közben látom hogy a boot során a kernel paraméterek között is meg lehet adni, hogy melyik subvolume-ot használja. Akkor viszont nem kell a váltáshoz live rendszerrel boot-olni.
Akkor már csak az a kérdés, hogy hogyan lehetne létrehozni snapshot-ot _nem_ az alkönyvtárába a futó rendszerről?
- A hozzászóláshoz be kell jelentkezni
"Akkor viszont nem kell a váltáshoz live rendszerrel boot-olni."
Ezért linkeltem be :)
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Ez lesz akkor, és kösz!
- A hozzászóláshoz be kell jelentkezni
Arra jutottam, hogy a legjobb megoldás szerintem a kettő közötti kompromisszum. Tehát ha valaki friss rendszert telepít Btrfs-re, akkor eleve egy subvolume-ba érdemes tenni, viszont a cron-ból futtatott csak olvasható snapshot-ok a root-ról mehetnek ennek az almappájába. És ha legfeljebb vissza kell állítani vagy ráboot-olni (ami a ritkább eset), akkor inkább rá fogok boot-olni egy livecd-t, majd a csak olvasható snapshot.ról csinálok egy újabb írható snapshot-ot, és ezt adom meg a kernel boot paramétereinél, mint élesbe használandó subvolume-ot.
Ezzel a futó rendszer alatti kötet kezelés is megvan, meg a kernel paraméterrel nem kell grub configot átírni sem.
- A hozzászóláshoz be kell jelentkezni
Így kell használni:
btrfs subvol snapshot / /ezasnapshotsubvolumeneve
Ezután a létrejött subvolume-ot (nem readonly!) láthatod a / alatt is (ls -al /)
btrfs subvol list /
megadja a subvolume id-ját
Rendszer "visszaállítása":
boot előtt a kernel command line részeként rootflags=subvolid=< szám >
Mivel a snapshot rw, ezért ugyanúgy használhatod, mint korábban
Helyfelszabadítás: livecd-ről letörlöd a subvolume-on kívüli könyvtárakat.
- A hozzászóláshoz be kell jelentkezni
Ez a gond, hogy ennél a snapshot menedzseléséhez kell a live cd-ről boot-olgatás.
- A hozzászóláshoz be kell jelentkezni