J'ai un serveur sous Ubuntu 10.04. Alors que je veux tester certains travaux de maintenance, tels que la mise à niveau vers 12.04, je me suis dit que je devais créer une copie VM du serveur à l'aide de Virtual Box. Je n'ai pas d'accès physique au serveur, j'ai donc envisagé les options suivantes:
dd
'tout le disque dur en une image brute sur mon ordinateur, puis créer un VDI à partir de l'image brute dd
.La solution rsync est un peu plus compliquée, mais semble économiser de la bande passante et me permet de créer une "copie" du serveur avec une configuration légèrement différente (par exemple, un disque plus petit).
Quel est selon vous le meilleur moyen de le faire? Une des méthodes ci-dessus? Un différent?
Utiliser rsync
directement s'est révélé plus problématique que je ne le pensais au début:
Pour ces raisons, je me suis retrouvé avec un processus en 2 étapes:
Je suis finalement allé à la base tar
, bien que j'aurais pu utiliser rdiffdir
fourni par duplicity
pour économiser de la bande passante.
J'ai commencé par configurer un tunnel SSH que je pourrais utiliser pour canaliser les fichiers tar
afin de ne pas avoir à écrire l'archive sur le système de fichiers que je copiais.
local$ ssh user@remote -R 3000:localhost:3000
loacl$ nc -l 3000 > filesystem.tar.gz
remote$ Sudo tar -vcz / --exclude={/dev,/proc,/sys,/tmp} | nc localhost 3000
Cela a créé une archive tar de l'intégralité du système de fichiers sur ma machine hôte locale. L'étape suivante consistait à la décompresser sur l'invité:
guest$ cd /
guest$ nc -l 3000 | Sudo tar -xvz
local$ nc guest_ip 3000 < filesystem.tar.gz
Dans mon cas, /etc/fstab
a référencé les systèmes de fichiers par leurs UUID. J'ai donc dû le mettre à jour avec le résultat de guest$ Sudo blkid
. J'ai également dû mettre à jour les paramètres de réseau dans /etc/udev/rules.d/70-persistent-net.rules
(noms d'interface) et /etc/network/interfaces
(adresses IP).
Certes, l’approche dd
- ou la création d’une autre image du serveur est susceptible de poser des problèmes de bande passante si vous n’avez qu’un accès à distance au serveur.
L'installation du serveur Ubuntu 10.04 sur un VDI uniquement pour pouvoir copier une installation existante n'est également pas vraiment nécessaire (mais cela peut économiser de la bande passante).
Permettez-moi de suggérer l'approche suivante:
Copiez tous les fichiers de l'ancien serveur sur la partition encore vide de votre machine virtuelle.
rsync -avze ssh user@Host:/ /<mountpoint>
Installer Grub resp. Grub2 sur le MBR du lecteur VDI maintenant rempli.