Sous Windows certain connaissent peut-être les “points de restauration”, le principe est simple, à un instant T le système “sauvegarde” l’état du filesystem, et on peut à tout moment revenir sur celui-ci à posteriori.
ça fonctionne moyennement … De plus le fait de devoir au préalable penser à faire un point de restauration est pour moi dommageable; je recherche une solution (peut importe l’espace disque utilisé, ou le nombre de disques durs qu’il faudrait) qui permettrait de revenir à tout moment à une position antérieure d’au moins une semaine par exemple.
Existe-t’il des projets qui font ça ?
Je peux te donner une solution. J’utilise aufs via mon paquet aufsroot (voir boisson.homeip.net/aufsroot.html ) pour faire des tests y compris des tests de noyaux. Il serait très facile de faire la chose suivante:
Tu as un système
-> Répertoire Base en lecture seule état du système à un instant T
-> Pour chaque jour d’après tu as un répertoire Jour-date monté en lecture seule
-> Le dernier jour correspond à un répetoire Jour monté en lecture écriture.
Chaque fois que le jour change, Base plus le jour d’après est fusionné.
Le nombre de jour peut être paramétré.
Pour revenir à une situation antérieure, il suffit d’effacer les répertoires qui suivent.
Je me fais fort de te faire un système de ce type (il me faut une petite demi journée donc pas de suite de suite…), tu testerais?
Ce ne serait pas plus simple avec des snapshot de partition (via lvm, sur zsf ou sur btrfs) ?
@Fran.b -> Ton système, si je comprends bien te permet de restaurer à un jour antérieur, mais pas plus précisément une heure précise.
@Misterfreez -> Tu peux expliquer plus en détails ?
[quote=“debianhadic”]@Fran.b -> Ton système, si je comprends bien te permet de restaurer à un jour antérieur, mais pas plus précisément une heure précise.[/quote]Oui.Pour être exact,pour que ça soit pratique, tu ne peux restaurer que sur la situation juste avant un redémarrage de la machine. Après, quels redémarrages sélectionner? Cela peut dépendre.
[quote=“debianhadic”]
@Misterfreez -> Tu peux expliquer plus en détails ?[/quote]
Je pense aussi que l’utilisation de zfs et btrfs permettent de facilement restaurer un snapshot effectué manuellement ou via un script couplé à une tâche cron.
Lvm permet aussi de faire des instantanée et donc de pouvoir restaurer à un version antérieur.
Une explication ? Un how-to ? Même très théorique ?
En gros je veux remplacer une solution vieille comme Hérode développée en interne qui foire tous les quatre matins, par un truc sérieux et open-source
LVM
tldp.org/HOWTO/LVM-HOWTO/sna … ackup.html
La taille des instantanés devra être en rapport avec la quantité de changements prévus.
Bien qu’instantanés pris à l’instant t, ils évoluent dynamiquement après la prise de l’instantané selon les changements qui affecteront l’original
(suppressions, éditions, ajouts, créations … de fichiers)
Achtung : L’original doit être toujours exploitable.
Calculer la taille selon besoins.
Un instantané trop petit saturé est un instantané foutu.
Un instantané trop gros est de l’espace gaché.
Voir
lvs
pour voir le taux d’occupation.
Montage instantanés.
[quote]
13.4.2. Mount the snapshot volume
We can now create a mount-point and mount the volume
mkdir /mnt/ops/dbbackup
mount /dev/ops/dbbackup /mnt/ops/dbbackup
mount: block device /dev/ops/dbbackup is write-protected, mounting read-only [/quote]
Personnellement je m’en dispenserais. Trop couteux en espace disque.
Conserver les instantanés sur disque.Les effacer après roulement prévu.Voir aussi l’avertissement plus bas à propos de btrfs («a snapshot is not a backup») parce que, répétons le, sans l’original qui sert de base, le snapshot est inexploitable.
Effacer les instantanés.
[quote] 13.4.4. Remove the snapshot
When the backup has finished you can now unmount the volume and remove it from the system. You should remove snapshot volume when you have finished with them because they take a copy of all data written to the original volume and this can hurt performance.
[code]
umount /mnt/ops/dbbackup
lvremove /dev/ops/dbbackup
lvremove – do you really want to remove “/dev/ops/dbbackup”? [y/n]: y
lvremove – doing automatic backup of volume group "ops"
lvremove – logical volume “/dev/ops/dbbackup” successfully removed[/code][/quote]
Btrfs
Créer instantané, monter instantané … les principes sont semblables.
Monter l’instantané en son / root revient à renommer l’instantané.
btrfs.wiki.kernel.org/index.php … ot_example
[quote]What is a snapshot?
A snapshot is a frozen image of all the files and directories of a subvolume. For example, if you have two files (“a” and “b”) in a subvolume, you take a snapshot and you delete “b”, the file you just deleted is still available in the snapshot you took. The great thing about Btrfs snapshots is you can operate on any files or directories vs lvm when it is the whole logical volume.
Note that a snapshot is not a backup: Snapshots work by use of btrfs’s copy-on-write behaviour. A snapshot and the original it was taken from initially share all of the same data blocks. If that data is damaged in some way (cosmic rays, bad disk sector, accident with dd to the disk), then the snapshot and the original will both be damaged. Snapshots are useful to have local online “copies” of the filesystem that can be referred back to, or to implement a form of deduplication, or to fix the state of a filesystem for making a full backup without anything changing underneath it. They do not in themselves make your data any safer.
snapshot example
Since backup from tape are a pain here is the thoughts of a lazy sysadm that create a home directory as a Btrfs file system for their users, lets try some fancy net attached storage ideas.
/home
Then there could be a snaphot every 6 hours via cron
/home_today_00,/home_today_06,/home_today_12,/home_today_18,
The logic would look something like this for rolling 3 day rotation that would use cron @ midnight
rename /home_today_00, /home_backday_1
create a symbolic link for /home_backDay_00 that points to real dir of /home_backday_1
rename /home_today_06, /home_backDay_06 , Need to do this for all hours (06..18)
/home_backday_1,/home_backday_2,/home_backday_3
delete the /home_backday_3
rename /home_backday_2 to /home_backday_3 day
rename /home_backday_1 to /home_backday_2 day [/quote]
Vous êtes super les gars, j’ai de la lecture
Je vous tiens informé.
Je plussoie les snapshots.
Mais il s’agit bien de faire des snapshots de machines linux ou windows ?
100% Linux