1 votes

Image DD plus petite que le disque copié

J'ai fait une sauvegarde du disque d'OS de mon serveur par le biais d'un live USB. En utilisant la commande :

dd if=/dev/sda bs=512 count=(30 gb worth of sectors) conv=noerror,sync status=progress | gzip -c > /path/to/removable/media

La commande s'est déroulée sans erreur et l'image a été créée. Le fichier img.gz est de 16 Go

(Le système d'exploitation du serveur occupe environ 15 Go de stockage) mais lorsque j'ouvre le fichier .gz dans Winrar, il m'indique que le contenu n'est que de 2,21 Go alors que l'archive fait 16 Go.

Cela signifie-t-il qu'il y a eu une erreur dans le processus de sauvegarde ou est-il normal que l'archive soit plus grande que l'image qu'elle contient ?

感謝

3voto

Bob Points 58080

Sauvegardes

Tout d'abord, quelques conseils sur les sauvegardes en général : vous ne pouvez pas vous fier à une sauvegarde tant que vous n'avez pas testé et vérifié que votre processus de restauration fonctionne. Il existe quelques méthodes pour tester les sauvegardes :

  • Une restauration complète sur du matériel physique, si vous avez le matériel sous la main et qu'il s'agit d'une sauvegarde critique.
  • Une restauration complète vers une machine virtuelle, si vous manquez de matériel de rechange.
  • Extraction des données et vérification de l'exactitude et de l'exhaustivité, si vous ne vous souciez pas de restaurer un système d'exploitation amorçable.

Je ne considère généralement pas que la vérification de la taille non compressée avec WinZip soit particulièrement utile. Cependant, les résultats que vous avez obtenus pourrait indiquer que vous avez fourni une erreur count ce qui nous amène à...


Les problèmes avec votre dd commande

count=(30 gb worth of sectors)

Ma première pensée en voyant ceci est que vous ne devriez jamais spécifier un count lors de la sauvegarde d'un disque. Si vous souhaitez sauvegarder une partition spécifique, vous devez utiliser un périphérique de bloc de partition ( /dev/sdXN donde N est un nombre). Sinon, vous devez simplement laisser dd prendre l'ensemble du disque ; en spécifiant une count vous risquez (en fait, c'est presque garanti) d'éliminer des données et de corrompre le système de fichiers.

Dans un commentaire, vous avez fourni le raisonnement :

Le disque est de 500 Go et j'ai donné mon dernier disque dur de rechange à un ami. Je n'avais donc aucun endroit où déposer le fichier qui puisse accueillir une image de 500 Go. Puisque l'os n'est que de ~15 gb d'espace, j'ai spécifié un nombre qui serait égal à 30gb de secteurs juste pour être sûr.

Malheureusement, ce n'est pas comme ça que les systèmes de fichiers fonctionnent. La plupart des systèmes de fichiers ne garantissent pas que toutes les données seront stockées vers le début du disque.


Alternatives

Il y a d'autres moyens de faire ce que vous voulez.

Archivage des fichiers/données uniquement

Si vous ne voulez qu'une sauvegarde de données et que vous ne vous souciez pas trop de pouvoir restaurer un système d'exploitation amorçable, vous pouvez sauvegarder des fichiers uniquement à l'aide de la fonction de sauvegarde des données. tar commande. Cela signifie que vous aurez toujours vos données, mais que vous devrez réinstaller un système d'exploitation à partir de zéro et récupérer manuellement les données (et toutes les applications installées).

  1. Copie fichiers à une archive avec tar canalisé vers gzip .

Sauvegardes compressées avec espace libre nul

C'est plus ou moins ce que vous avez déjà tenté. Vous avez la bonne idée avec gzip : avec un peu de chance, il compressera tout espace inutilisé ( très compressible) à rien. Il suffit de laisser tomber le count de votre commandement.

Malheureusement, cela ne fonctionnera pas nécessairement, car les fichiers supprimés peuvent toujours exister sur le disque et n'apparaîtront pas comme vides aux yeux de l'utilisateur. gzip . Par conséquent, vous devez libérer l'espace inutilisé d'abord. Votre processus de sauvegarde devient :

  1. Libérez l'espace inutilisé avec zerofree ou similaire
  2. Copiez le lecteur vers une image compressée avec dd (sans count !) canalisé par gzip

Utilisez un outil qui ne sauvegarde que les blocs utilisés, par ex. partclone

Certains outils existent, comme partclone qui sont suffisamment intelligents pour reconnaître et sauvegarder uniquement les blocs utilisés. Le site Arch wiki a quelques exemples sur l'utilisation avec gzip et le manuel a quelques exemples en bas de page. Cela remplace effectivement dd dans votre pipeline.

Vous devrez utiliser à nouveau le même outil lors de la restauration des données.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X