Comment sauvegarder et restaurer votre serveur à l'aide d'images disque dd | INTROSERV
EUR
european

EUR

usa

USD

French Fr
Ex. VAT Ex. VAT 0%

Comment sauvegarder et restaurer votre serveur à l'aide d'images disque dd

dd crée une image secteur par secteur d'un disque entier. Vous pouvez utiliser cette image pour restaurer le disque à l'état dans lequel il se trouvait au moment de la sauvegarde. Ce guide montre comment créer une image disque avec dd et comment la restaurer. Comme dd fonctionne au niveau du disque, exécutez-le depuis un environnement live (Finnix), et non depuis le système en cours d'exécution que vous copiez.

Utilisez dd lorsque vous avez besoin d'une copie au niveau des blocs d'un disque entier. Pour les sauvegardes au niveau des fichiers (fichiers et dossiers individuels), rsync ou tar conviennent généralement mieux.

Avant de commencer

  • ISO Finnix
  • accès à l'IP-KVM du serveur (KVM basé sur IP)
  • un espace de stockage avec suffisamment d'espace libre pour l'image (voir la remarque dans les scénarios de sauvegarde)
  • des identifiants SSH, si vous sauvegardez vers un stockage distant
  • un accès root

1. Brève remarque sur dd

dd copie les données bloc par bloc. Les parties importantes de la commande :

  • if= source (d'où l'on lit)
  • of= cible (où l'on écrit)
  • bs=8M définit la taille de bloc et peut améliorer les performances de copie
  • status=progress indique la quantité déjà copiée, utile sur les disques volumineux

Par défaut, les commandes ci-dessous copient un disque en bon état. Si le disque source présente des erreurs de lecture, ajoutez conv=noerror,sync : dd continue alors au-delà des erreurs de lecture au lieu de s'arrêter, et remplit les blocs illisibles par des zéros. Cela permet de conserver l'alignement des blocs suivants, mais les zones remplies perdent leurs données, de sorte que le système de fichiers de l'image peut être endommagé. Pour un disque défaillant, envisagez d'utiliser ddrescue, conçu pour récupérer des données à partir de disques défaillants et qui conserve une carte des erreurs de lecture.

Warning

dd écrase entièrement la cible sans demander de confirmation. Un mauvais of= détruit les données. Vérifiez toujours les noms des périphériques avant d'exécuter une commande.

2. Préparation

Démarrez depuis Finnix. Montez l'ISO Finnix via l'IP-KVM et démarrez le serveur à partir de celle-ci. Cela vous permet de travailler avec les disques du serveur sans exécuter le système d'exploitation installé sur le disque que vous sauvegardez. Évitez de créer une image d'un système en cours d'exécution : si le disque source contient des systèmes de fichiers montés en cours de modification, l'image peut être incohérente. Assurez-vous que le disque source n'est pas utilisé par l'environnement en cours d'exécution.

Identifiez les disques. Listez les disques avec leurs tailles et points de montage :

lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS

Comme alternative :

fdisk -l

Repérez le disque système (par exemple /dev/sda) et notez son nom de périphérique. C'est l'étape la plus importante : dd ne demande pas de confirmation, donc une erreur ici efface le mauvais disque. Dans les commandes ci-dessous, /dev/sda n'est qu'un exemple. Remplacez-le par le disque réel identifié avec lsblk. Assurez-vous que le disque source n'affiche aucun point de montage dans la sortie de lsblk avant d'en créer une image.

3. Scénario A : sauvegarde vers un stockage cloud via SSHFS (CloudBox)

Utilisez ceci pour stocker l'image sur INTROSERV CloudBox ou tout autre stockage SSH. Récupérez les identifiants SSH (utilisateur, hôte, chemin) dans les détails de votre commande.

Créez un point de montage :

mkdir -p /mnt/backup

Montez le stockage cloud :

sshfs user@host:/path /mnt/backup

Créez l'image disque :

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M status=progress

Lorsque dd se termine, il indique la quantité de données copiées. L'image sda.img se trouve désormais sur votre stockage cloud.

Info

Une copie volumineuse via SSHFS peut être lente. Si la connexion SSH est interrompue, la copie peut échouer et l'image peut être incomplète.

Info

La taille de l'image correspond approximativement à la taille du disque source entier, et non à la quantité de données utilisées. Un disque de 2 To contenant 100 Go de données produit tout de même une image d'environ 2 To. Assurez-vous que le stockage dispose de suffisamment d'espace libre.

Facultatif : pour économiser de l'espace et réduire le transfert réseau, compressez l'image lors de sa création :

dd if=/dev/sda bs=8M status=progress | gzip -c > /mnt/backup/sda.img.gz

Restaurez une image compressée avec :

gunzip -c /mnt/backup/sda.img.gz | dd of=/dev/sda bs=8M status=progress

La taille compressée dépend du degré de compressibilité du contenu du disque. La vérification de somme de contrôle ci-dessous s'applique à un fichier .img non compressé.

4. Scénario B : sauvegarde vers un autre disque physique du même serveur

Utilisez ceci si le serveur dispose d'un second disque (par exemple /dev/sdb) suffisamment grand pour contenir l'image. Le disque cible doit disposer de suffisamment d'espace libre pour une image du disque source entier, et ne doit pas être le disque source.

Créez un point de montage et montez le second disque :

mkdir -p /mnt/backup mount /dev/sdb1 /mnt/backup

Créez l'image disque :

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M status=progress

5. Vérifier l'image (facultatif)

Pour vérifier l'image, calculez la somme de contrôle SHA-256 du disque source et de l'image, puis comparez-les. Le disque source ne doit pas changer entre la création de l'image et le calcul de la somme de contrôle. Cette opération relit l'intégralité du disque, ce qui prend du temps sur les disques volumineux :

sha256sum /dev/sda sha256sum /mnt/backup/sda.img

Les deux valeurs doivent correspondre.

6. Restauration

La restauration est l'inverse de la sauvegarde : l'image devient la source (if=) et le disque devient la cible (of=). Redémarrez depuis Finnix et montez le stockage contenant l'image, de la même manière que lors de la sauvegarde.

Avant de restaurer, assurez-vous que le disque cible n'est pas plus petit que l'original. Une image de disque complète ne peut pas être restaurée sur un disque plus petit, même si peu de données ont été utilisées sur la source.

Depuis un stockage cloud :

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M status=progress

Depuis un second disque : montez-le d'abord, puis exécutez la même commande. Là aussi, /dev/sda n'est qu'un exemple. Remplacez-le par le disque cible réel.

Warning

La restauration écrase l'intégralité du disque cible. Assurez-vous que of= pointe vers le disque que vous souhaitez restaurer. Une fois dd terminé, redémarrez le serveur et démarrez à partir du disque restauré.

Si le disque cible est plus grand que l'original, l'espace supplémentaire reste inutilisé. Vous pouvez ensuite étendre la partition et le système de fichiers si nécessaire ; les commandes exactes dépendent de la disposition des partitions et du système de fichiers. Si vous restaurez sur un matériel différent, une configuration de démarrage supplémentaire peut être nécessaire. Si le disque source utilise LVM, LUKS, RAID ou une autre couche de stockage, une configuration supplémentaire peut être nécessaire après la restauration, en particulier sur un matériel différent.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA