Migration d'un serveur physique (Raid Logiciel) vers virtuel

Bonjour,

J’ai un serveur dédié que je dois virtualiser.
Il est malheureusement impossible de faire un P2V via vmware converter pour système source avec un raid logiciel.
Une réinstallation à partir de zéro pour cette machine est quasiment impossible.

J’ai un backup acronis de mon système, mais impossible de le restauré une VM fonctionnelle. (même s’il m’est possible restaurer une partition avec les données dessus)

Connaissez-vous une astuce pour réaliser ce type de migration?

Voici quelques éléments :
- Serveur Source: Serveur physique, raid logiciel, Debian 7.8, 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u2 x86_64 GNU/Linux,
- Serveur cible : Serveur virtuel, vmware ESX

Merci.

Si besoin de plus de détail n’hésitez pas.

Sans trop être familier avec les machins de VMWare, tu ne peux pas procéder comme suit ?

  • Créer une machine virtuelle avec le stockage nécessaire sur ton hyperviseur.
  • Booter la VM et le serveur physique sur un linux live quelconque (j’utilisais systemrescuecd, auparavant).
  • Faire le transfert du contenu des disques par le réseau. Comme avec dd et ssh en utilisant une commande genre [mono]dd if=/dev/sda bs=10M | ssh ip_vm ‘dd of=/dev/sda bs=10M’[/mono] depuis le serveur physique.

Et si tu veux dégager le RAID logiciel, en supposant que ce soit du RAID 1, tu peux même recopier un seul des disques du serveur physique vers la VM et démarrer la VM ainsi.
Et après tu utilises une doc telle que celle-ci. Tu vire le superblock du RAID logiciel, tu change le type des partitions avec fdisk, éventuellement. Puis tu montes les partitions comme sur ton système et tu fais un chroot avant de modifier le fstab, enlever le mdadm.conf, mettre à jour le initrd et réinstaller le GRUB.

Perso, je serais du genre à virer le RAID sur la VM, après l’avoir déjà faite fonctionner une fois avec succès. Contrairement à la doc dont le lien est ci-dessus.


AnonymousCoward

… ce qui a de grandes chances d’échouer lamentablement parce qu’on ne peut généralement plus monter directement une partition membre d’un RAID 1.

Je ne sais pas de quand date cette doc, mais le noyau 2.6.9 qu’elle mentionne, et donc probablement le système qui va avec, est antédiluvien. Des choses ont changé depuis. Le superbloc au format 0.9 placé à la fin des partitions RAID a été remplacé par le superbloc au format 1.2 par défaut qui est placé au début des partitions RAID. A moins d’avoir explicitement créé l’ensemble RAID avec des superblocs au vieux format 0.9 (déconseillé) ou au nouveau format 1.0 qui place le superbloc à la fin également, le superbloc sera donc placé au début, avant les données du système de fichiers, ce qui empêche le montage direct de la partition. On peut la monter en “loop” en spécifiant le décalage (offset) dû au superbloc, qu’on connaître avec [mono]mdadm -E[/mono] à condition de ne pas avoir effacé le superbloc.

Si on veut se débarrasser du RAID, au lieu de transférer le contenu d’une partition /dev/sdX membre du RAID il vaut mieux transférer le contenu de l’ensemble RAID /dev/mdX.

[quote=“PascalHambourg”]
Si on veut se débarrasser du RAID, au lieu de transférer le contenu d’une partition /dev/sdX membre du RAID il vaut mieux transférer le contenu de l’ensemble RAID /dev/mdX.[/quote]

J’ai ce contenu, sur une partition que j’ai pu sauvegarder/restaurer sur une de mes VM. (via un live Cd depuis ma VM, je peux explorer l’arborescence de fichier en faisant un mount de /dev/sdb1.

Mais je parviens pas réinstaller grub et faire en sorte que la VM boot sur ce système.

Merci a vous deux en tout cas pour vos réponses. :slightly_smiling:

Des précisions sur tes actions et les résultats seraient bienvenues.

Bonjour,

Alors je dispose d’une VM avec :

  • Un disque vierge
  • Un disque avec les données que j’ai pu recupéré ( via un backup Image Acronis )

Mais je ne parviens a pas Restauré/Installé/Réinstallé Grub ( en fait, faire que la VM boot sur le systeme récupéré )

Mon idée etait d’utiliser le premier disque pour le Swap et de pouvoir restauré le systeme du second disque.

Mais a partir de la je suis un bloqué.

Merci

Re,

Pourrais-tu nous fournir le partitionnement des disques sur la VM, par exemple avec la commande [mono]fdisk -u -l -c[/mono] ?

De même, est-ce que tu peux nous lister le contenu (ou l’absence de contenu) du répertoire /boot sur /dev/sdb1 ?


AnonymousCoward

le fdisk

le /boot

Le message d’erreur de [mono]df[/mono] vient probablement de ce que le contenu de /proc n’est pas disponible dans le chroot. A mon avis, le plus simple, plutôt que booter un système live quelconque, serait de booter avec l’installateur Debian en mode “rescue” puis de réinstaller le chargeur d’amorçage ou bien d’ouvrir un shell sur /dev/sdb1 (ce qui va la monter ainsi que les systèmes de fichiers spéciaux tels que /dev, /proc et /sys). De là tu pourras exécuter [mono]grub-install /dev/sdb[/mono] pour installer le chargeur dans le MBR de sdb. Il faudra configurer la VM pour booter sur ce disque et non sur sda. Il faudra peut-être aussi mettre à jour /etc/fstab avec les UUID des partitions si ce n’est pas déjà le cas.

A propos de sda, que contient-il ? Je vois une grosse partition Linux et une petite partition de swap.

Utiliser [mono]dpkg-reconfigure grub-pc[/mono] pour remettre grub en place sur le MBR de /dev/sdb me semble un petit peu plus pérenne.


AnonymousCoward

Certes, mais il sera toujours temps de l’exécuter une fois que le système aura démarré de lui-même.

Pour rappel, la “pérennité” évoquée ci-dessus fait référence à la réinstallation automatique du chargeur d’amorçage lors d’une mise à jour du paquet grub-pc avec changement de version non compatible avec l’ancienne. En effet [mono]grub-install[/mono] ne mémorise pas l’emplacement où le chargeur est installé.

C’était un système “propre” que j’avais installé afin d’avoir “plus d’options” qu’en mode rescue (certainement a tord).

Du coup pour plus de clarté je l’ai supprimé et j’ai ajouté un peu d’espace sur le disque ( ou il y a ma restauration ) pour prévoir la partition réservé au Swap.

Par contre, en mode rescue
je tombe sur un menu avec 5 propositions dont :

  • Exécuter un Shell dans /dev/sda1 <= ne fonctionne pas et me ramène au menu
  • Exécuter un Shell dans le contexte de l’installateur <= me permet d’accès a un shell mais ne me permet pas de chrooter vers le montage de sda1
  • Réinstallation du programme de démarrage GRUB <= Provoque des erreurs ( que je sélectionne /dev/sda ou /dev/sda1 ) = L’exécution de “grub-install /dev/sda1” a échoué. Cette erreur est fatale. L’exécution de l’opération de secours “grub-reinstall” a échoué avec le code d’erreur 1.

Y a-t-il des messages d’erreur plus précis ?
Voir aussi dans la console 4 ou dans les logs de l’installateur (/var/log/syslog).
L’architecture de l’installateur correspond-elle bien à l’architecture du système installé (i386/amd64) ?

[quote=“PascalHambourg”]Y a-t-il des messages d’erreur plus précis ?
Voir aussi dans la console 4 ou dans les logs de l’installateur (/var/log/syslog).
L’architecture de l’installateur correspond-elle bien à l’architecture du système installé (i386/amd64) ?[/quote]

Oui : debian-7.0.0-amd64-i386-netinst.iso

Pour l’erreur dans le syslog

lorsque je tente la reinstallation de grub via le menu

Le noyau du système installé est 64 bits, donc à moins que tu aies installé explicitement un noyau 64 bits sur un système 32 bits, le système installé est 64 bits.

Attention : Pour démarrer avec le noyau 64 bits sur l’image multiarch, il faut sélectionner “64 bit rescue” dans le menu de démarrage de l’installateur. “Rescue” démarre le noyau 32 bits.
Tu peux vérifier le noyau actif dans un shell avec [mono]uname -a[/mono]. Si -486 ou -686 -> 32 bits.

A oui effectivement. :blush:

Merci je regarde du coup.

:dance: ca marche !

Un grand merci à vous 2 ! :038

Donc pour résumé.

  • bien choisir le bon CD (fonction de l’architecture)
  • Mode Rescu ( 64Bit si 64b )
  • choisir la partition avec les données
  • chroot /dev/sda1
  • dpkg-reconfigure grub-pc

Merci encore !