Forum Linux.débutant Restauration d'une image avec dd

Posté par  . Licence CC By‑SA.
Étiquettes :
2
23
jan.
2013

Bonjour,

Auriez-vous un avis constructif à cette situation ?

Sauvegarde
Contexte= un disque sda de 300Go avec 3 partitions (sda1 de boot, et sda2, sda3)
dd if=/dev/sda conv=sync,noerror bs=64K | gzip -c > /mnt/usb/sda.img.gz

Restauration
Contexte = Suppression de mes 3 partitions (sda1, 2, 3) - via delete dans fdisk.
gunzip -c /mnt/usb/sda.img.gz | dd of=/dev/sda conv=sync,noerror bs=64K

Au final, le serveur ne boot plus (Message "GRUB" à l'ecran de la console)
Avec un rescueCD, je vois tout de même mes 3 partitions avec Fdisk mais pas possible de les monter.

Vous me confirmez qu'en copiant le disque sda en entier, rien ne manque au redémarrage du serveur (ni MBR ni bootloader) ???
bs=64K à la restauration est-il justifié? (je vois a postériori de la restauration que le sector size est à 512)

  • # RTFM

    Posté par  . Évalué à -10.

    man dd

    tant va la cruche à l'eau qu'à la fin elle t'explose en pleine tête

  • # Vous me confirmez qu'en copiant le disque sda en entier ?

    Posté par  . Évalué à 5.

    pour moi oui, c'est suffisant, mais peut-être modulo la géométrie du disque. Si le disque est le même, ca devrait le faire.

    • [^] # Re: Vous me confirmez qu'en copiant le disque sda en entier ?

      Posté par  . Évalué à 1.

      Oui, exactement le même disque je dirais même. Sinon, il vaut mieux utiliser fsarchiver pour ne sauvegarder que les fichiers, car dd copie aussi les secteurs vides.

      Par contre pour le MBR, je fais toujours un chroot dans la partition restaurée suivi dans grub-install /dev/sda. C'est le seul moyen que GRUB démarre à tous les coups.

      Et puis tant qu'à faire, bs=1M va fortement accélérer dd.

      ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

      • [^] # Re: Vous me confirmez qu'en copiant le disque sda en entier ?

        Posté par  . Évalué à 2.

        attention aux bs fixé trop dans le but unique d'accélérer, ça va marcher dans pratiquement tous les cas mais le jour où il y a une merdouille à la restore… qu'on arrive pas à déterminer d'où elle vient… en général c'est de là…

      • [^] # Re: Vous me confirmez qu'en copiant le disque sda en entier ?

        Posté par  . Évalué à 0.

        car dd copie aussi les secteurs vides.
        

        on peut aussi pour accèlerer les choses utiliser les seek et le block count pour copier beaucoup moins de secteurs vides mais ça demande une bonne analyse au départ ou de prendre de la marge…

  • # clonezilla fait tout pour toi

    Posté par  . Évalué à 7.

    j'ai recemment basculer le contenu d'un SSD32Go sur un disque de 160Go

    clonezilla s'est occupé de tout,
    j'ai meme pas eu besoin d'ouvrir un terminal pour relancer l'installation de grub, ni modifier le fstab pour changer les UUID des disques.

    pourtant sur le SSD de depart, j'avais
    - grub
    - windows 7 100Mo
    - windows 7 20Go
    - ubuntu sur le reste

    evidemment apres l'operation de clonage, il me reste à redimensionner les partitions et les systemes de fichiers (avec gparted par exemple) pour occuper pleinement le disque de 160Go.

  • # Losetup + mount

    Posté par  . Évalué à 1.

    Salut,

    Pour faire un petit test:
    - Décompresser l'image
    - Faire un losetup sur l'image, losetup permet d'associer un fichier au périph /dev/loop0, ton fichier sera donc reconnu en tant que disque dur.
    - kpartx pour créer les devices correspondant aux partitions
    - Essayer de monter les partitions

    Voici un exemple qui devrait fonctionner avec ton image disque: http://blog.dustinkirkland.com/2008/10/mounting-kvm-disk-image.html

    • [^] # Re: Losetup + mount

      Posté par  . Évalué à 0.

      Merci à vous pour votre contribution.
      Après mon post, j'ai ressayé la procédure de restauration sans spécifié le bs=64K (car mon disque cible indique avec parted un sector size à 512B).
      Finalité : Ca a marché parfaitement, pas d'erreur au resultat de la commande dd et le système a bien redémarré.

      Au passage il a même mis à jour la conf lvm et fdisk suite à l'absence d'un sdb de plusieurs Tera-octets présent et partitionné sur le serveur ayant servi à la création de l'image.

      Merci Lay, tes infos me serviront à tester mes prochaines images (en effet, je commençais à douter de la fiabilité de mon image)

      Sujet clos pour moi.

  • # conv=sync,noerror

    Posté par  . Évalué à 2.

    Je ne sais pas pourquoi tu utilises ces options, mais rien que noerror me semble dangereux. Si tu as la moindre erreur de lecture (ou d'écriture), tu n'es pas au courant.
    Quant à sync, franchement je ne vois pas à quoi il sert. À part à avoir un effet inattendu.

    Ton problème vient probablement de ça car je n'ai jamais eu de soucis avec la méthode que tu utilises.

  • # Faut pas, non faut pas

    Posté par  . Évalué à 1.

    Pour sauvegarder un disque entier, mieux vaut essayer ddrescue qui est fait pour ça.

    Ensuite, je ne suis pas sûr que c'est la bonne façon de procéder. En plus avec des pipes, et tout ça… AIE . Tu cherches les problèmes.

    Il vaut mieux, à mon avis recréer une table de partition et les systèmes de fichier correspondant sur le nouveau disque, copier les fichiers avec cp -a, faire les opérations qui rendront ton système bootable dans un chroot (réinstaller le kernel et le bootloader).

    L'utilitaire dd est bien à la limite pour des partitions où tu es sûr que ton disque n'a aucun problème de lecture.

    Systemd, the bright side of linux, toward a better user experience and on the road to massive adoption of linux for the desktop.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.