Cloner un disque dur système en cours de fonctionnement

Bonjour à tous,

Je suis de retour pour vous demandez conseil.

J’ai un petit serveur Debian que je voudrais sauvegarder dans sa totalité de façon manuelle vers un disque dur externe en USB sous forme d’archive si possible. Mais le disque en question est celui ou tourne ma debian donc est il possible d’utiliser la commande dd (par exemple) pour créer une archive de mon disque dur à chaud.

Merci d’avance

gudbes

dd ne fait pas une archive mais une image. Faire une image d’un système en cours de fonctionnement a deux inconvénients :

  • l’état enregistré correspond plus ou moins à celui d’un système qu’on aurait éteint brutalement au lieu de faire un arrêt proprement.
  • pire, la copie n’étant pas instantanée, les modifications effectuées par le système en fonctionnement pendant ce temps peuvent créer des incohérences graves dans l’image.

La sauvegarde à chaud passe par l’utilisation d’un “instantané” (snapshot) qui est une version figée à un instant donné de l’état d’un volume ou d’un système de fichiers. Cette fonctionnalité est disponible avec LVM et certains systèmes de fichiers comme btrfs.

Bonjour PascalHambourg et merci encore de ton aide.
La copie d’un instantané correspond exactement à ma solution souhaitée.
J’ai besoin d’un instantané pour remettre en place mon système en un minimum de temps et avec une perte de données moindre (ce n’est pas trop important si je perd 15 jours de données).
Par contre, je ne crois pas avoir LVM sur mon PC … Comment faire ?

Réinstaller avec LVM…

Arf pas possible J’ai trop passé de temps à configurer ce “serveur” et il est utilisé en continue :frowning:

Alors, fais pseudo-clone avec rsync et configure une sauvegarde régulière ou pas (manuelle).
Il ne sera pas exactement comme l’original mais te permettra de te dépanner si besoin se fait sentir.

Merci de ton aide ricardo. Il faut que je puisse restaurer à un état précédent de façon “rapide” comme avec la commande dd par exemple est ce possible avec ta solution ?

Ça dépend de ce que tu appelles “état précédent”.
Admettons que tu programmes une sauvegarde journalière à l’heure de moindre trafic sur ton serveur, ex : 03:00:00.
Admettons, toujours, que tu te rendes compte de l’arrêt de ton serveur, ou de son plantage à 08:00:00.
Tu fais une restauration, qui demande de quelques secondes à quelques minutes, aussitôt …
Tu retrouves ton serveur à l’état où il était à 03:00:00. tu auras perdu ce qui aurait pu être échangé entre 03:00:00 et 08:00:00+ quelques broutilles.
Tout ça schématiquement.
Il suffit de posséder un DD d’au moins même capacité, sur lequel la sauvegarde sera effectuée et mise à jour régulièrement.

Merci ricardo de ta réponse et cela ne me dérange pas de perdre jusqu’à une semaine de données :wink:
Par contre comment faire ma sauvegarde et ma restauration avec la commande dd ou autre pour qu’elle me créée une image

Ça ne sera pas une image car avec rsync, il s’agit d’une sauvegarde d’une ou de plusieurs partitions.
Cette (ou ces) partition est copiée, avec l’ omission volontaire de certains dossiers, sur un disque (on utilise souvent un disque externe pour ce faire).
L’avantage de ‘rsync’ est qu’il ne prend en compte que les dossiers/fichiers qui ont été modifiés depuis la dernière sauvegarde, ce qui permet une certaine rapidité. Par contre, lors de la première sauvegarde, c’est beaucoup plus long car il copie TOUT ce qu’on lui demande de copier.

La restauration est simple puisqu’il s’agit du processus inverse.

J’avais fait, il y a un certain temps, un tuto dans T&A, mais je n’arrive pas à le retrouver. Depuis la migration du forum vers Discourse, c’est souvent problématique pour rechercher quelque chose.

Ce tuto était un peu ‘usine à gaz’ et j’en ai refait un plus simple, que je vais essayer de retrouver.
Je placerai le lien dans ce fil, sitôt fait.

J’ai retrouvé l’usine à gaz :
Sauvegarde & clonage

et le plus simple :
Sauvegarde simple

Il est préférable que tu lise tout et que tu te fasse une idée de ce qui te convient.

merci ricardo

Je vais regarder ça et je reviens vers toi (si ça te dérange pas) si j’ai besoin d’aide :wink:

En tout cas merci encore !!!

gudbes

Pas de problème, je passe en principe chaque jour au moins une fois.
Mais je ne suis pas seul à connaitre rsync et à le pratiquer.
Il y a ptet aussi d’autres solutions à ta requête mais ça n’est pas dans mes compétences car je n’ai jamais utilisé.
Je pense au Nas et aussi au système (me souviens plus du nom) qui consiste à doubler les enregistrements sur un autre disque ou une autre partition.

Salut ricardo,

je suis tombé sur ça : http://www.partage-it.com/backup-lvm/
tu en pense quoi ?

gudbes

Bonjour @ricardo,

J’ai besoin de tes lumières. Je suis toujours sur mon “clonage” de mon disque système. J’ai regardé les liens que tu m’avais transmis, j’ai fais quelques recherches et j’ai parlé avec quelques personnes et voila mon retour.

Dans un premier temps, on me conseille donc de ne pas utiliser la commande dd.

Voila comment je vois les choses :

Je fais un rsync en excluant les dossiers a éviter (/proc, /media, /mnt, …) sur mon disque dur externe branché en USB. Ensuite je fais un “tar” du dossier “backup” où a été copié mon rsync (pour archivage).

Pour faire simple voila la commande que je souhaite utiliser et dont je voudrais ton avis :

rsync -avvv --delete --delete-excluded --itemize-changes --progress --ignore-errors --force --stats --exclude /dev/ --exclude /proc/ --exclude /tmp/ --exclude /sys/ --exclude /home/gudbes/.cache/ --exclude /mnt/ --exclude /media/ --log-file=/home/gudbes/rsync.log / /mnt/USB_HDD/Backup

J’espère t’en avoir dit assez et attend ta réponse avec impatience.

merci d’avance.

gudbes

P.S. On m’a indiqué aussi que cela ne récupéra pas le grub ? Comment faire pour contrer cela.

Il y a longtemps que je n’ai pas mis les doigts dans les clonages mais je trouve que tu fais compliqué.
Il est plus facile de créer un fichier “exclure”, que tu mets, par exemple dans /root . Tu y listes les chemins de tous les dossiers que tu ne veux pas voir pris en compte.

# rsync -av --del --exclude-from=/root/exclure / /mnt

Et ça suffit.
Il convient de modifier à la main le fstab, si ma mémoire est bonne.
Pour Grub, je ne me souviens plus comment j’avais pratiqué.

Salut ricardo,

Merci de ton retour, j’ai repris ton script du coup avec création de /root/exclure … et la copie fonctionne mais à contrôler. J’aimerais maintenant simuler un crash … et donc procéder à une restauration … mais je ne sais pas trop comment procéder ?

merci

gudbes

Je crois que je l’indiquais dans mon tuto, mais … mémoire…
En fait, c’est l’inverse.
Je n’ai pas le temps de chercher en ce moment car très occupé à la maison.

Ok moi aussi un peu occupé aujourd’hui. Je regarde ça dès que j’ai un moment. Merci en tout cas de ton aide.

Gudbes