Sauvegarde et restauration d'images à l'aide de dd

Qu'est-ce que dd ?

La commande dd est un utilitaire de copie et de conversion de fichiers, couramment utilisé dans la plupart des systèmes d'exploitation de type Unix. Elle peut être utilisée pour des tâches telles que la création de sauvegardes de données, le clonage de disques, la création d'images de partitions, etc. Il convient toutefois d'être prudent lors de l'utilisation de dd, car une mauvaise utilisation peut entraîner une perte de données.

Voici la syntaxe de base de la commande dd :

dd if=fichier_d'entrée of=fichier_de_sortie [options]

Où :
- if (fichier d'entrée) spécifie le fichier d'entrée ou la source de données.
- of (fichier de sortie) indique le fichier de sortie ou la destination des données.

Voici quelques options et paramètres courants de dd :

1. bs (taille du bloc) : Détermine la taille du bloc de données. Par exemple, bs=4K fixe la taille du bloc à 4 kilo-octets.
2. count (nombre) : Spécifie le nombre de blocs à copier. Par exemple, count=100 copie 100 blocs de données.
3. iflag et oflag : Options permettant de contrôler les drapeaux d'entrée et de sortie. Par exemple, iflag=direct peut être utilisé pour lire des données directement, en contournant le cache du système d'exploitation.
4. seek et skip : Options permettant de déplacer le pointeur du fichier d'entrée ou de sortie pour commencer ou terminer la copie à partir d'une position spécifique.
5. état : Option permettant d'afficher des informations sur la progression de l'opération de copie.
6. conv (conversion) : Permet diverses conversions de données, telles que le changement de casse (conv=ucase ou conv=lcase), la suppression de caractères (conv=sync), etc.
7. iflag et oflag : Ces options vous permettent de configurer les drapeaux pour les données d'entrée (iflag) et de sortie (oflag). Par exemple, direct peut être utilisé pour lire ou écrire des données directement sans mise en mémoire tampon.
8. statut : Cette option permet d'afficher des informations sur la progression de l'opération de copie.
9. recherche et saut : Vous permettent de déplacer le pointeur du fichier d'entrée ou de sortie pour commencer la copie à partir d'une position spécifique.

Prenons des exemples d'utilisation de dd pour copier des fichiers et des répertoires vers le stockage en nuage distant fourni par Introserv à l'aide du protocole SSH et de la commande rsync. De plus, l'exemple démontrera la sauvegarde et la restauration d'une image système en utilisant un troisième disque. Remarque importante : des commandes similaires, avec la spécification d'un serveur cible, vous permettront de copier des répertoires et des fichiers sur n'importe quel serveur distant via SSH. En outre, pour assurer l'intégrité des données, nous utiliserons une image de "récupération" appelée Finnix.

Création d'une sauvegarde de l'image du système

1. création d'une sauvegarde :

Préparatifs :
1. Téléchargez Finnix sur votre ordinateur à partir de https://www.finnix.org.
2. Connectez l'image ISO via IP-KVM.
3. Démarrer le serveur à partir de l'image ISO Finnix.

2.Travailler avec Finnix

Nous allons explorer deux méthodes, dont l'une est possible en utilisant le Cloud Storage d'Introserv.

Pour monter un stockage de fichiers à distance (stockage dans le nuage) via SSH, nous recommandons d'utiliser un outil comme SSHFS (SSH File System), qui vous permet de connecter des répertoires distants sur votre ordinateur local en utilisant le protocole SSH. Voici comment procéder :

2.1. Installer SSHFS.

Comme il est déjà installé dans Finnix, nous ne ferons pas cette étape.

sudo apt-get install sshfs

2.2. Créez un répertoire local dans lequel vous souhaitez monter le dossier distant.

Par exemple :

sudo mkdir -p /root/mnt/backup

Cette commande crée la structure de répertoire nécessaire, y compris les répertoires parents manquants (drapeau -p).

2.3. Montez le répertoire distant via SSHFS :

sudo sshfs box17469@box17469.introserv.cloud:/backups ~/mnt/backup/

- boîte***** : Le nom d'utilisateur SSH sur le serveur distant.
- Box*****.introserv.cloud : L'adresse IP ou le nom d'hôte du serveur distant.
- /backups : Le chemin d'accès au répertoire sur le cloudstorage.
- ~/remote_mount : Le chemin vers le répertoire local que nous avons créé ci-dessus, où nous voulons monter notre dossier distant à partir du cloudstorage.

Le système demandera le mot de passe, que vous trouverez dans les détails de la commande dans la section Sauvegarde.

2.4. Vérifier notre dossier réseau.

2.5. Pour créer une sauvegarde de votre système, utilisez la commande suivante :

dd if=/dev/sda of=/root/mnt/backup/sda.ing bs=8M conv=sync,noerror

La méthode 2 est possible par l'intermédiaire d'un troisième disque ou d'une autre unité de stockage externe.

2.1 Déterminer le disque dur sur lequel est installé le système principal (dans ce cas, Ubuntu)

Dans ce cas, il s'agit de sda.

2.2 Montez également le dossier du disque externe afin de pouvoir y placer l'image de sauvegarde.

Pour monter le système de fichiers créé dans le répertoire /mnt/, exécutez les commandes suivantes :

sudo mount /dev/sdX /mnt/папка # remplacez sdX par le périphérique ou la partition spécifique (dans ce cas, nous avons sdb)

Pour créer une sauvegarde de votre disque dur, utilisez la commande suivante :

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror

- if=/dev/sda - copie l'intégralité du disque dur sda ;
- of=/mnt/backup/sda.img - copie vers /mnt/backup/sda.img, où le répertoire /mnt/backup est le point de montage du disque qui contiendra l'image ;
- bs=8M - définit la taille du cache du disque dur afin d'accélérer le processus de copie (sinon, les données seront transférées par petits lots de 512 octets) ;
- conv=sync,noerror - indique à dd de copier bit à bit en ignorant les erreurs.

Restauration d'une sauvegarde du système sur un autre serveur ou disque

1. Connexion de l'image de secours

  • Connecter l'image ISO via IP-KVM.
  • Redémarrez le serveur dans l'image ISO Finnix.

2. Travailler avec Finnix

Comme pour la sauvegarde, nous avons deux façons d'utiliser CloudStorage :

2.1. Créer un répertoire local où vous voulez monter le dossier distant. Par exemple, sudo mkdir -p /root

sudo mkdir -p /root/mnt/backup

2.2. Montez le répertoire distant via SSHFS :

sudo sshfs box17469@box17469.introserv.cloud:/backups ~/mnt/backup

Le système vous demandera un mot de passe, que vous trouverez dans les détails de la commande, dans la section Sauvegarde.

Vérifiez également si le dossier est monté.

ls -l /root/mnt/backup/

2.3. Trouvez l'image signée sda.img sur le lecteur réseau connecté.

Pour restaurer votre système à partir d'une sauvegarde, utilisez la commande suivante :

dd if=/root/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

2.4. Après cela, nous redémarrons dans le BIOS

Définissez le disque sur lequel nous avons déployé le système comme étant la priorité de démarrage, redémarrez et essayez de démarrer le système.

En outre, nous allons envisager de déployer une image système à l'aide d'un troisième disque ou d'un autre type de stockage :

2.1. Перезеграужаемся в Finniх.

Montez le disque ou le stockage réseau contenant l'image à l'aide de la commande sudo mount /dev/external_network_disk_or_storage /mnt/folder_for_mounting.

Trouvez l'image signée sda.img

Pour restaurer votre système à partir d'une sauvegarde, utilisez la commande suivante :

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

Après cela, nous redémarrons dans le BIOS et définissons le disque sur lequel nous avons déployé le système comme étant la priorité de démarrage, nous redémarrons et essayons de démarrer le système.

    How useful was this article?

    VAT

    • Other

      Other

      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

      %
    • Spain

      Spain

      21%
    • Sweden

      Sweden

      25%
    • USA

      USA

      0%
    european
    states
    • Other
    • canada
    • poland
    • european-union
    • france
    • germany
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria