Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/02/2015, à 11:16

Lrnv

[SOLVED] Backup complet bootable du systeme d'exploitation ( Clone )

Coucou !
j'ai tendance a bidouiller beaucoup ma becanne, et de temps en temps je fais des conneries. genre ça boot plus wink Par ontre je touche jamais au grub, par ce que son instalation n'a pas été easy.. Enfin bon.

L'idée est la suivante : Existe-til un moyen de copier mon systeme d'exploitation sur un autre disque dur, et de parametrer le grub pour qu'il puisse booter dessut ? Un genre de Backup complet et efficasse, que je pourrais lancer avec cron histoire d'etre toujours safe.

l'idée serais aussi de mettre en place un systeme de rescue qui enfait copierais juste dans l'autre sens. Je lance cela depuis le grub direct, et basta..

Cela existe-t-il ?

Dernière modification par Lrnv (Le 28/02/2015, à 18:30)


Hardware : i7/8goDDR3 en desktop /// Lenovo thinkpad yoga 2 13 en laptop.
OSs : *buntu on desktop, arch / win8 on laptop
Mon Github

Hors ligne

#2 Le 27/02/2015, à 16:36

genma

Re : [SOLVED] Backup complet bootable du systeme d'exploitation ( Clone )

Tu as "clonezilla" mais c'est en livecd.

Une idée que j'ai tu fais une partition que tu appelles backup. Tu copies dedans une première fois tout le contenu de / (via un live cd ou en montant cette partition dans /) (attention, le /backup est par définition monté sur /, faut donc l'exclure pour ne pas avoir un truc récursif)

Ensuite, tu fais un CRON qui lance un rsync qui copie / dans /backup (attention, le /backup est par définition monté sur /, faut donc l'exclure pour ne pas avoir un truc récursif).

Tu fais un "update de grub" pour que grub te propose au démarrage de démarrer sur la partition qui contient /, le système par défaut. Ou celle qui correpond à /backup

Ce qui revient à une double installation d'Ubuntu en fait, mais tu utilises toujours une et l'autre est ton backup, que tu synchronises régulièrement. Si la première plante, tu as "la seconde installation synchronisée" en secours.  Tu peux même utiliser le "/home" en commun sur une partition séparée.

Tu vois l'idée?


"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière".
Utilisateur d'Ubuntu depuis la version 4.10 !
Mon blog ?      https://blog.genma.fr
Mon twitter?     http://twitter.com/genma

Hors ligne

#3 Le 27/02/2015, à 17:04

michel_04

Re : [SOLVED] Backup complet bootable du systeme d'exploitation ( Clone )

Bonjour,

Je n'avais pas envie de faire un RAID1 avec mes deux SSD OCZ 60Gio et Crucial 128Gio.
Du coup, je fais assez souvent, avec Clonezilla, une image des partitions du /dev/sda que je restaure sur /dev/sdb, y compris grub.
Avec des SSD, ça se fait assez rapidement.
Ce qui me permet, en cas de besoin, de booter sur l'un ou l'autre.

~$ sudo fdisk -l
[sudo] password for michel: 

Disk /dev/sda: 60.0 GB, 60022480896 bytes
255 têtes, 63 secteurs/piste, 7297 cylindres, total 117231408 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x000cc0f2

Périphérique Amorçage  Début         Fin      Blocs    Id. Système
/dev/sda1   *        2048    25570407    12784180   83  Linux
/dev/sda2        25571328    27617279     1022976   82  partition d'échange Linux / Solaris
/dev/sda3        27617280   117229567    44806144   83  Linux

Disk /dev/sdb: 128.0 GB, 128035676160 bytes
255 têtes, 63 secteurs/piste, 15566 cylindres, total 250069680 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Identifiant de disque : 0x000cc0f2

Périphérique Amorçage  Début         Fin      Blocs    Id. Système
/dev/sdb1            2048    75522047    37760000   83  Linux
/dev/sdb2        75522048    77619199     1048576   82  partition d'échange Linux / Solaris
/dev/sdb3        77619200   250068991    86224896   83  Linux

A+

Dernière modification par michel_04 (Le 27/02/2015, à 17:07)

Hors ligne

#4 Le 28/02/2015, à 09:30

Lrnv

Re : [SOLVED] Backup complet bootable du systeme d'exploitation ( Clone )

Alors alors !!
Clonezilla : pas tout a fais ce qu'il me faut, désolé, trop complexe pour faire les mises a jour. Je pense que rsync lui est tout a fait supérieur en terme de simplicité smile

Du coup, voila ce que j'ai fait :
D'abord une petite présentation de mes partitions :
/dev/sdc1 avec le systeme d'origine
/dev/sdc2 swap ( partagée )
/dev/sdc3 systeme copie en train d'etre créé.
/dev/mapper-Vol1/part : mon LVM qui me sert de /home, qui sera partagée.

Du coup, depuis un live cd, j'ai lancé :

dd if=/dev/sdc1 of=/dev/sdc3 bs=4M

mais c'etais pas parfait : dd a en effet tout copier, y compris l'UUID de la partitions, et donc impossible de démrarer, il a fallut en généré un autre :

#Començont par verifier les UUID des paroches :
blkid /dev/sdc1
blkid /dev/sdc3
# changons l'uuid de la nouvelle partoche
tune2fs -U `uuidgen` /dev/sdc3

Puis une modif du /etc/fstab de la nouvelle partition, pour repercuter le changement d'UUID pour la racine / .

Reboot : le grub de la 1ere partoche se lance comme d'hab, et je boot sur mon systeme d'origine.

EDIT : La suite.

Un petit :

update-grub

Et c'est juste niquel ! grub me propose "Debian Sid" et "Debian Sid (sur /dev/sdc3 )". Du coup je vais essayer de comprendre comment on peut faire les majs tranquilement smile

Bon, passons a la mise a jour de cette sauvegarde. Je vais utiliser rsync, etant donné que je me farçit le MAN depuis pas mal de temps tongue
Je commence par créé un fichier /root/exclure

/home
/dev
/cdrom
/lost+found
/media
/mnt
/proc
/run
/sys
/tmp
/var/tmp
/etc/fstab

Tout simplement par ce que ces dossiers la j'en ai pas besoin : il n'y a ni configuration ni données dedans. Surtout /home, qui est sur une autre partoche, et /mnt, ou je vais monter le / du nouveau systeme ( /dev/sdc3, si vous suivez ). De plus, j'ai modifié le /etc/fstab du second systeme, donc il ne faut pas qu'il soit effacé par la synchronisation !

Ensuite, passons aux choses serieuses :

mount -t ext4 /dev/sdc3 /mnt
rsync -av --del --exclude-from=/root/exclure / /mnt

-a pour all
-v pour qu'il cause ( verbeux )
--del pour qu'il delete dans la copie les fichiers qui ont disparus dans l'orginal.
--exclude-from : pour ne pas copier certains dossiers dont je n'ai pas besoin.

Resultat :

[/]$ rsync -av --del --exclude-from=/root/exclure / /mnt
sending incremental file list
root/
root/.zsh_history
[...] tout un tat de fichiers, principalement des logs.[...]
var/log/apache2/error.log
var/log/exim4/mainlog

sent 4,781,897,545 bytes  received 14,884 bytes  77,754,673.64 bytes/sec
total size is 12,111,063,124  speedup is 2.53
[/]$ 

Ça a marcher comme il fallais ? Aucune idée ><" Un petit test :

[/]$ mkdir /kikou
[/]$ rsync -av --del --exclude-from=/root/exclure / /mnt
sending incremental file list
./
kikou/
root/
root/.zsh_history

sent 5,093,058 bytes  received 14,525 bytes  2,043,033.20 bytes/sec
total size is 12,111,063,329  speedup is 2,371.19
[/]$ rmdir /kikou
[/]$ rsync -av --del --exclude-from=/root/exclure / /mnt
sending incremental file list
deleting kikou/
./
root/
root/.zsh_history
var/log/exim4/mainlog

sent 5,094,318 bytes  received 14,556 bytes  2,043,549.60 bytes/sec
total size is 12,111,063,574  speedup is 2,370.59
[/]$ 
 

ha bah niquel !!

On oublis pas le petit

umount /mnt

Bon, passons a l'automatisation avec crontab :
1° Faire un alias. par ce qu'on est des flemards...
On place dans le .bash_aliases ( .zshrc si vous etes sou zsh et pas bash, ce qui est mon cas ) la ligne suivante :

alias backupgeneral="mount -t ext4 /dev/sdc3 /mnt && rsync -av --del --exclude-from=/root/exclure / /mnt && umount /mnt"

Attention : Je l'ai mis dans mon .zshrc du Root, mais sous UBUNTU le pense que vous aurez tendance a l'utiliser avec SUDO et donc mettes le dans votre .bash_aliases !

Automatisation : On fait un crontab -e puis on rajoute la ligne suivante au bout du fichier crontab :

0 0 * * 1 backupgeneral

Bon, il me reste plus qu'a faire un alias de restauration ( utilisable par l'autre systeme, OFC ). Je pense que ça va ressembler a cela :

alias restaurebackup="mount -t ext4 /dev/sdc1 /mnt && rsync -av --del --exclude-from=/root/exclure / /mnt && umount /mnt"

Bah du coup c'est bon smile

l'idée d'avoir l'option restaurer directement depuis le GRUB, ça me semble chaud. il faudrais que je parametre la sauvegarde pour qu'elle se lance directement en console, et que je mette dans le .zshrc du root qu'a l'ouverture de la session on lance un "restaure backup". beaucoup de fichiers a changer, et donc un paquet de fichier a rajouter dans /root/exclure, complexe....

Dernière modification par Lrnv (Le 28/02/2015, à 10:51)


Hardware : i7/8goDDR3 en desktop /// Lenovo thinkpad yoga 2 13 en laptop.
OSs : *buntu on desktop, arch / win8 on laptop
Mon Github

Hors ligne