janvier 8

Migration Serveur Physique vers VM Proxmox

📋 Informations du Serveur Source

  • Serveur : serveur physique ( dans mon cas : chez OVH )
  • OS : Debian xx
  • Disque : 2 To (1,8 To partition principale + 511 Mo swap)
  • Utilisation : ~15 Go seulement actuellement
  • SSH : Port 22
  • Type de boot : BIOS Legacy

🎯 Objectif

Cloner le serveur physique OVH vers une machine virtuelle Proxmox , en utilisant rsync pour ne transférer que les données utilisées.


✅ Étape 1 : Création de la VM sur Proxmox

  1. Créer une nouvelle VM (ex: VM ID 100)
  2. Configuration :
  3. Disque : 100-200 Go (largement suffisant pour 15 Go de données)
  4. Type de boot : BIOS
  5. RAM/CPU : 2 CPU – 2Go RAM
  6. Attacher une ISO Debian Live
  7. Démarrer la VM sur le Live CD

🔧 Étape 2 : Préparation du Disque dans la VM

Dans la console de la VM (Live CD) :

# Créer les partitions
sudo fdisk /dev/sda
# Commandes : n, p, 1, Entrée, +95G, w
# Puis : n, p, 2, Entrée, Entrée, t, 2, 82, w

# Formater les partitions
sudo mkfs.ext4 /dev/sda1
sudo mkswap /dev/sda2

# Monter la partition principale
sudo mkdir -p /mnt/restore
sudo mount /dev/sda1 /mnt/restore

# Installer les outils nécessaires
sudo apt-get update
sudo apt-get install -y rsync pv openssh-client


📦 Étape 3 : Synchronisation des Données avec rsync

Depuis la VM, récupérer les données du serveur OVH :

# Tester la connexion SSH (port 22 ou autre selon config)
ssh user@IP_SERVEUR_OVH

# Lancer la synchronisation rsync
cd /mnt/restore
sudo rsync -aAXvP --delete \
  -e "ssh -p 22" \
  --exclude=/dev/* \
  --exclude=/proc/* \
  --exclude=/sys/* \
  --exclude=/tmp/* \
  --exclude=/run/* \
  --exclude=/mnt/* \
  --exclude=/media/* \
  --exclude=/lost+found \
  --exclude=/var/cache/* \
  --exclude=/var/tmp/* \
  user@IP_SERVEUR_OVH:/ /mnt/restore/

Options rsync utilisées :
-a : Mode archive (préserve permissions, liens symboliques, timestamps, etc.)
-A : Préserve les ACLs
-X : Préserve les attributs étendus
-v : Mode verbose
-P : Affiche la progression et permet la reprise
–delete : Synchronise les suppressions –
-e « ssh -p 22 » : Utilise SSH sur le port différent que 22

 


🗂️ Étape 4 : Finalisation du Système

4.1 – Recréer les répertoires système

cd /mnt/restore
sudo mkdir -p proc sys dev tmp run mnt media

4.2 – Configuration du fstab

# Monter pour le chroot
sudo mount --bind /dev /mnt/restore/dev
sudo mount --bind /proc /mnt/restore/proc
sudo mount --bind /sys /mnt/restore/sys

# Entrer dans le système cloné
sudo chroot /mnt/restore

# Récupérer les UUID des partitions
blkid /dev/sda1
blkid /dev/sda2

# Éditer le fstab
nano /etc/fstab

Contenu du /etc/fstab :

UUID=VOTRE_UUID_SDA1  /     ext4  errors=remount-ro  0  1
UUID=VOTRE_UUID_SDA2  none  swap  sw                 0  0


🚀 Étape 5 : Installation de GRUB

5.1 – Installer GRUB depuis le Live CD

# Sortir du chroot si vous y êtes
exit

# Installer les paquets GRUB dans le Live CD
sudo apt-get update
sudo apt-get install -y grub-pc-bin grub-common grub-pc

# Installer GRUB sur le disque
sudo grub-install --target=i386-pc --boot-directory=/mnt/restore/boot --recheck --force /dev/sda

Note : –target=i386-pc pour BIOS / Legacy

5.2 – Générer la configuration GRUB

# Re-rentrer en chroot
sudo mount --bind /dev /mnt/restore/dev
sudo mount --bind /proc /mnt/restore/proc
sudo mount --bind /sys /mnt/restore/sys
sudo chroot /mnt/restore

# Générer la config GRUB
update-grub

# Vérifier que tout est ok
ls -la /boot/grub/grub.cfg
cat /boot/grub/grub.cfg | grep menuentry


🔄 Étape 6 : Modifications Post-Migration (Optionnel)

Installation de paquets supplémentaires

Dans le chroot, vous pouvez installer des paquets :

# Agent Proxmox (recommandé)
apt-get update
apt-get install -y qemu-guest-agent
systemctl enable qemu-guest-agent

# Autres paquets utiles
apt-get install -y openssh-server sudo curl

Changement de kernel (optionnel)

# Installer un kernel plus récent depuis les backports ( xxx : distrib , par ex trixie)
echo "deb http://deb.debian.org/debian xxxx-backports main" >> /etc/apt/sources.list
apt-get update
apt-get install -y -t xxxx-backports linux-image-amd64

# Regénérer GRUB
update-grub

Désactiver e2fsck au boot

Méthode 1 – via fstab (déjà fait ci-dessus) : Mettre 0 en dernier champ dans /etc/fstab

Méthode 2 – via tune2fs :

tune2fs -c 0 -i 0 /dev/sda1


🎬 Étape 7 : Premier Démarrage

7.1 – Nettoyage et démontage

# Sortir du chroot
exit

# Démonter proprement
sudo umount /mnt/restore/dev
sudo umount /mnt/restore/proc
sudo umount /mnt/restore/sys
sudo umount /mnt/restore

# Redémarrer
sudo reboot

7.2 – Configuration Proxmox avant le boot

Important : 1. Dans l’interface Proxmox, aller dans les options de la VM 2. Retirer l’ISO du lecteur CD/DVD 3. Vérifier l’ordre de boot (Hard Disk en premier) 4. Démarrer la VM

7.3 – Vérifications post-boot

Une fois la VM démarrée :

# Vérifier le système de fichiers
df -h

# Vérifier le swap
swapon -s

# Vérifier le kernel
uname -a

# Vérifier les services
systemctl status

# Activer le swap si nécessaire
swapon -a


🔍 Dépannage

La VM ne boot pas

  1. Redémarrer avec l’ISO Live
  2. Remonter le système :
sudo mount /dev/sda1 /mnt/restore
sudo mount --bind /dev /mnt/restore/dev
sudo mount --bind /proc /mnt/restore/proc
sudo mount --bind /sys /mnt/restore/sys
sudo chroot /mnt/restore

  1. Réinstaller GRUB :
grub-install --force /dev/sda
update-grub

Erreur « unknown filesystem » avec grub-probe

Ignorez l’avertissement si update-grub se termine quand même avec succès. Sinon, créez manuellement le grub.cfg (voir section installation GRUB).

Réseau ne fonctionne pas dans le chroot

# Sortir du chroot
exit
# Copier la configuration DNS
sudo cp /etc/resolv.conf /mnt/restore/etc/resolv.conf
# Re-rentrer en chroot
sudo chroot /mnt/restore


✨ Avantages de cette Méthode

✅ Rapide : Seulement 15 Go transférés au lieu de 2 To
✅ Sans interruption : Le serveur OVH reste en production pendant la migration
✅ Sécurisé : Transfert via SSH chiffré
✅ Reprise possible : rsync permet de reprendre en cas d’interruption
✅ Préserve tout : Liens symboliques, permissions, ACLs, attributs
✅ Testable : Possibilité de tester la VM avant de couper l’ancien serveur


📝 Notes Importantes

  • Le serveur source reste accessible pendant toute la migration
  • La VM peut être testée avant de désactiver le serveur OVH
  • Les données peuvent être re-synchronisées avec rsync si nécessaire
  • Pensez à installer qemu-guest-agent pour une meilleure intégration Proxmox

🎓 Ce que rsync préserve

  • ✅ Liens symboliques
  • ✅ Liens durs (hardlinks)
  • ✅ Permissions (chmod)
  • ✅ Propriétaires (chown)
  • ✅ Timestamps
  • ✅ Attributs étendus
  • ✅ ACLs
  • ✅ Fichiers spéciaux (devices)
Catégorie : Bare Metal, Debian, Linux, Proxmox, VM | Commentaires fermés sur Migration Serveur Physique vers VM Proxmox