Sauvegarde disque dur avec dd?

bonjour

dans ma soif d’apprentissage je voudrais me lancer dans l’hypervirtualisation avec ESX

j’ai une petite machine qui me sert de serveur et que je veux utiliser pour cela je commence donc les sauvegarde

ma question est simple j’ai fait un :

je pense que c’est radicale comme solution :slightly_smiling: mais est ce utile ?
je veut dire vais je pouvoir réutiliser mes données sans tout remettre sur mon disque original, avec un autre dd dans l’autre sens??

merci

Pas évident. Si les différentes partitions avaient été sauvegardées dans des fichiers séparés, il aurait été possible de les monter avec mount -o loop pour accéder à leur contenu. Mais avec une image du disque entier, cela n’est pas possible directement.

c’est exactement ce que je me suis dit et c’est pour ça que j’ai prit peur
que je vous demande avant de formatter
mais sinon dans un disque virtuel genre avec une machine virtuel justement ça doit pouvoir marcher mais pas simple
pas pratique
si je recommence avec un fichier par partition ça me fait des iso donc plus simple nan ?

Ce ne sont pas des “ISO” mais des images de partitions. Une “ISO” ou “image ISO” est l’image d’un système de fichiers ISO 9660 tel qu’on peut le trouver sur un CD-ROM. Les partitions de disques durs utilisent rarement ce type de système de fichiers.

L’inconvénient de sauvegarder les partitions individuelles est que cela ne sauvegarde pas la table de partitions ni le chargeur d’amorçage dont une partie peut se trouver dans le MBR et/ou dans l’espace entre le MBR et la première partition (voire dans l’EBR de la partition étendue pour les tordus comme moi). Il reste néanmoins possible de sauvegarder ces secteurs avec dd.

L’utilisation de l’image disque dans une machine virtuelle est une possibilité, à voir si elle est compatible avec les formats de fichiers de disque virtuel des logiciciels de virtualisation.

Autre idée à creuser, créer un périphérique bloc à partir du fichier image disque avec losetup puis faire reconnaître ses partitions par le noyau avec partx ou kpartx.

[quote=“PascalHambourg”]
Autre idée à creuser, créer un périphérique bloc à partir du fichier image disque avec losetup puis faire reconnaître ses partitions par le noyau avec partx ou kpartx.[/quote]

ça sonne bien ça en plus j’ai rien compris donc si je peux apprendre un truc :smiley:

tu peux m’en dire un peu plus stp ?

Installer kpartx, puis exécuter

kpartx va créer automatiquement un périphérique bloc /dev/loopN associé au fichier image disque entier (donc pas besoin de le faire manuellement avec losetup) et des périphériques /dev/mapper/loopNpM associés aux partitions.
Remplacer -a par -d pour supprimer les périphériques.
Je viens de tester, ça a l’air de marcher.

Pas réussi avec partx en revanche, il demande la géométrie du disque et ça ne marche pas avec un fichier ou /dev/loopN.

ça a l’air super mais j’ai quand meme un problème :

kpartx -v -a /media/passport/sau\ serveur/disque.dd add map loop0p1 (254:0): 0 13671252 linear /dev/loop0 63 add map loop0p2 (254:1): 0 64452780 linear /dev/loop0 13671315 add map loop0p5 : 0 2779182 linear 254:1 63 add map loop0p6 : 0 61673472 linear 254:1 2779308

je n’arrive pas a monter les partition après

quand je fais :
mount /dev/loop0 /mnt/loop0
il me dit :
mount: /dev/loop0 already mounted or /mnt/loop0/ busy

edit :

mount -t ext3 /dev/loop6 /mnt/loop/ mount: wrong fs type, bad option, bad superblock on /dev/loop6, missing codepage or helper program, or other error (could this be the IDE device where you in fact use ide-scsi so that sr0 or sda or so is needed?) In some cases useful info is found in syslog - try dmesg | tail or so

bizarre nan ?

J’ai écrit que les partitions étaient nommées /dev/mapper/loopNpM. Les noms exacts sont affichés par kpartx.
/dev/loopN représente le disque entier, on ne peut évidemment pas le monter comme système de fichiers s’il est partitionné.
Faut suivre…

oua c’est énorme ça marche super
merci beaucoup

Il y a quelque temps déjà que j’avais cette idée en tête, ayant entendu parler de kpartx, et que je voulais tester. En fait je ne pensais pas que c’était si simple.
Ça pourrait aussi servir pour accéder aux partitions numérotées au-delà de 15 sur un disque reconnu comme sdX, le noyau ne prévoyant que sdX1 à sdX15 (contrairement à un disque hdX pour lequel le noyau prévoit hdX1 à hdX63).

oui certainement
et j’ai fait un dd parceque justement je trouve ça ultra simple et en plus tu est sur de tout avoir
ce qui me plait le plus c’est que tu peut faire un snapshot de tout ton système et ensuite si tu as besoin tu le relance dans un chroot ou une vm ou tu le remets sur ton disque

le seul problème c’est que ça prends 256Go pour sauvegarder un disque de 256Go meme si ton disque n’est utilisé qu’a 5Go
mais je vais tester je pense que cela se compresse très facilement

En effet une image brute de disque ou de partition a l’inconvénient d’avoir systématiquement la même taille que le volume à sauvegarder. Il existe des outils de sauvegarde plus sophistiqués qui ne sauvegardent que les blocs effectivement occupés.

Le taux de compression d’une image brute de disque ou de partition dépend fortement du contenu des blocs, y compris des blocs non occupés. Dans le cas d’un système de fichier peu rempli, les blocs libres peuvent encore contenir les données de fichiers effacés et ne pas se comprimer facilement. Une solution pour éviter cela est par exemple d’écrire des zéros dans un fichier temporaire jusqu’à ce qu’il remplisse tout l’espace libre, puis de l’effacer. Ainsi l’espace libre ne contiendra que des zéros et se comprimera très bien.

dd if=/dev/zero of=/chemin/point_de_montage/zero.tmp bs=4096 rm /chemin/point_de_montage/zero.tmp

bonne idée merci

et sinon tu dis que l’on peut copier que les secteur utilisé ? c’est encore mieux nan ?

Il faut regarder du côté des logiciels de sauvegarde spécialisés. Mais ce n’est pas du tout mon rayon.

Salut,
Génial ce kpartx!
Je viens de faire un essai. C’est vraiment très pratique de pouvoir monter dans un répertoire des images faites avec dd :023

Merci.

Sinon, même si c’est résolu et parce que j’ai travaillé dessus cette semaine.

Pour une sauvegarde plus compression

dcfldd if=/dev/sdb | >gzip /mnt/image.img

J’ai sauvegardé un disque de 250go et le fichier finale fait 622mo

Ensuite sur ton vsphere

Gzip -dc /mnt/image.img | dcfldd of=/dev/sdb

J’ai bien évidemment teste la procedure et ca fonctionne niquel pour peux que tu donne en controleur disque un lsilogic parallèle et une carte ethernet du type e1000.

Voila, j’espère que ca pourra t’aider. :slight_smile:

merci
de toute façon je suis malheureusement obligé de laisser tomber mon petit projet
parceque ma machine sur laquelle je voulais installer esx c’est un pentium 4 2,8GHz
avec 512Mo de ram (j’aurais bien pu en rajouter)
mais en faite ESX ne veut pas s’installer dessus (l’installateur ne démarre pas)

Arff, normal, si c’est un esxi 4.0 ou un vsphere 4.0 il te faut deux près requis qui sont:

Un cpu 64bits (Amd64 ou Em64T chez intel).
Un cpu ayant les instructions de virtualisations.

En gros ton p4 c’est mort, faut un core Duo minimum.
Je me suis fait avoir avec un xeon pourtant!
Series 5000 bah non pas de 64Bits, dommage.

ouai c’est ce que j’ai vu par la suite

mais j’ai pas les moyen d’investir la dedans pour le moment

sinon est ce que tu sais ou je peut trouver un “vieux esx” qui marcherai ?
parceque les xeon et le 64bit ça n’a pas toujours existé