Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

"Cloner" une machine

25 réponses
Avatar
Fabien LE LEZ
Bonjour,

J'ai un serveur que j'aimerais "cloner" vers une machine virtuelle
(VMware) pour pouvoir faire des tests.
Grosso modo, tous les logiciels et les données doivent être les mêmes,
mais bien sûr le matériel est très différent.
(Accessoirement, les paramètres IP seront différents aussi, mais ça,
c'est facile à modifier après coup.)

Difficulté supplémentaire : le serveur "source" est une machine
distante, à laquelle j'accède par SSH, et que je ne peux pas éteindre.
Je ne peux pas non plus me permettre de couper Apache ou MySQL plus de
quelques secondes.

Faut-il que, partant d'une machine virtuelle où Debian est déjà
installé (pour avoir un boot qui fonctionne sans me prendre la tête),
je copie (presque) tous les fichiers ?
Si oui, quels fichiers ne dois-je pas copier ?

Ou bien, y a-t-il une solution plus simple ?

(J'ai bien pensé à Mondorescue, mais je ne suis pas trop sûr de son
fonctionnement quand Apache et MySQL sont en route ; par ailleurs,
j'aimerais autant éviter d'installer trop de trucs sur le serveur.)

Merci d'avance...

10 réponses

1 2 3
Avatar
Arol
"Fabien LE LEZ" a écrit dans le message de news:
Ou bien, y a-t-il une solution plus simple ?


ça dépend ce que tu veux "cloner" en fait.
Si c'est juste quelques fonctions de ton serveur, ben, tu pars de zéro : tu
installes le OS, puis les mêmes progs vérifier les versions) que tu veux
checker.
Exemple concret, un service web avec apache/php/mysql.
Tu installes le même apache, le même php, le même mysql.
Tu copies tes fichers de conf de apache/php/mysql.
Tu copies les fichiers php.
Tu dump ta base mysql.

La, tu as un "clone" logiciel.
Ça se fait rapidement : 30 min pour le OS, les progs et les configs.
Puis pour les données (fichiers php et base mysql), rsync en moins de 2.

Avatar
Fabien LE LEZ
On Wed, 30 May 2007 20:15:22 +0200, "Arol" :

ça dépend ce que tu veux "cloner" en fait.
Si c'est juste quelques fonctions de ton serveur


Non, je veux une machine ressemblant d'aussi près que possible au
serveur.

En gros, si je fais une manipulation quelconque sur le clone, et que
tout se passe bien, je veux être raisonnablement sûr que la même
manipulation sur le serveur réel ne posera pas de problème.

Réciproquement, s'il y a un problème quelconque sur le serveur, il
doit se reproduire sur le clone, afin de me permettre de tester
diverses solutions sans risques.

Avatar
Arol
"Fabien LE LEZ" a écrit dans le message de news:
En gros, si je fais une manipulation quelconque sur le clone, et que
tout se passe bien, je veux être raisonnablement sûr que la même
manipulation sur le serveur réel ne posera pas de problème.


Ben, réinstalle tout sur ta machine clone.
Tu récupères la liste connaitre les paquets installés sur le server, tu fais
:
dpkg --get-selections | grep -v deinstall > server-files
Ensuite, tu
installes le même OS avec les mêmes progs de base.
Si nécessaire :
apt-get update
apt-get upgrade
Ensuite Tu récupères le fichier "server-files" sur le server clone.
Tu fais :
dpkg --set-selections < server-files
Puis tu installes
dselect
Tu devrais avoir exactement les mêmes progs installés sur ton
server.Ensuite, ben, tu copies tes fichiers de config et autres fichiers
(php, dump mysql, etc...).

Avatar
Mihamina (R12y) Rakotomandimby
Arol - <465dd4f1$0$17399$ :

"Fabien LE LEZ" a écrit dans le message de news:
En gros, si je fais une manipulation quelconque sur le clone, et que
tout se passe bien, je veux être raisonnablement sûr que la même
manipulation sur le serveur réel ne posera pas de problème.
Ben, réinstalle tout sur ta machine clone.

dpkg --get-selections | grep -v deinstall > server-files


Autant j'ai bien compris ce que tu veux lui faire comprendre, autant je me
demande si tu as déjà vraiment eu un "serveur" entre les mains.
Moi je sais d'expérience que meme sur une Debian (pas la plus mauvaise en
gestion d'upgrade) on y reflechi à deux fois avant de lancer un "apt-get
update" (oui update).
Parceque:
- Mon serveur tourne tres bien depuis 6 mois, et que les upgrade de sécurité
n'ont rien à voir avec les logiciels qui sont installés. Je n'ai pas eu a
faire de rafraichissement de l'index des depots.
- Une machine que je dois créer n'aura donc peut-etre pas la meme version
que le dépot en mémoire dans le serveur. Pour que le serveur et le machine
virtuelle ait ctrictement les memes versions, il faut qu'ils tirent leurs
packages des memes versions des memes depots.
- Je ne veux pas mettre à jour mon index sur le serveur, car au cas ou je
dois installer une broutille, ça peut me demander de mettre à jour la libc
et autres libs (pas question sur le serveur!)

Donc à moins d'avoir son propre miroir Debian _pas_ à jour, ce que tu as
ommis de lui conseiller, je doute de la simplicité que tu donne à cette
tache.


Avatar
Arol
"Mihamina (R12y) Rakotomandimby" a écrit dans le message de news:
Donc à moins d'avoir son propre miroir Debian _pas_ à jour, ce que tu as
ommis de lui conseiller, je doute de la simplicité que tu donne à cette
tache.


Oui.
Tout le problème est de savoir comment il administre son server.
Est ce qu'il est figé à jamais ?
Est ce qu'il a à dispo les paquets de tout ce qui a été installé ?

En tout cas, je déconseille un clonage à la dd mais une réinstallation
complète.

Avatar
Fabien LE LEZ
On Wed, 30 May 2007 21:47:52 +0200, "Arol" :

Ensuite, ben, tu copies tes fichiers de config et autres fichiers
(php, dump mysql, etc...).


Sauf que pour avoir une machine identique, je dois copier tous les
fichiers de configuration, y compris ceux relatifs à des logiciels que
je ne connais pas.
Grosso modo, il y a un certain nombre de fichiers et de paramètres que
je dois recopier, et d'autres (mais pas forcément beaucoup) auquels je
ne dois pas toucher.

Avatar
Arol
"Fabien LE LEZ" a écrit dans le message de news:
Sauf que pour avoir une machine identique, je dois copier tous les
fichiers de configuration, y compris ceux relatifs à des logiciels que
je ne connais pas.


C'est pas possible.

Est ce qu'il t'arriverait l'idée de prendre le disque dur d'un serveur Bi
Xéon en scsi avec lan 1G, 4Go de ram etc... et le brancher sur un pc de de
bureau celeron 400, 128Mo de ram, etc... ?
Non, parce que tu sais d'avance que ça marchera pas.

Avatar
Fabien LE LEZ
On Thu, 31 May 2007 01:17:58 +0200, "Arol" :

Est ce qu'il t'arriverait l'idée de prendre le disque dur d'un serveur Bi
Xéon en scsi avec lan 1G, 4Go de ram etc... et le brancher sur un pc de de
bureau celeron 400, 128Mo de ram, etc... ?


S'il s'agit d'IDE, ou si le PC est équipé en SCSI, je peux essayer.
Windows 98 avait l'avantage de bien supporter ce type de manipulation.

Après tout, un "live CD" (façon SysRescueCD ou Knoppix) contient un
système Linux qui accepte de démarrer sur n'importe quel PC. Pourquoi
ne pourrait-on pas faire la même chose avec un système installé sur
disque dur ?

Avatar
Arol
"Fabien LE LEZ" a écrit dans le message de news:
Après tout, un "live CD" (façon SysRescueCD ou Knoppix) contient un
système Linux qui accepte de démarrer sur n'importe quel PC. Pourquoi
ne pourrait-on pas faire la même chose avec un système installé sur
disque dur ?


Parce que le live cd est conçu pour tourner sur un max de matériels allant
d'un cpu 486 à un dual core etc...
A priori, ton serveur, tu sais comment le noyau est compilé, avec quelles
options etc... ?
De plus ton live cd, quand il boote, il y a toute une procédure de détection
du matériel.
Une fois installé, cette procédure de détection n'est plus la même et ça
marche pas forcément.
A titre d'exemple, j'ai installé une sarge de base sur un cpu p200 (586),
j'ai pris le disque, je l'ai mis sur un celeron 766 (686), ça boote et avant
d'avoir le shell ça plante.
J'ai jamais compris pourquoi, pourtant, au moment de l'install, je précise
rien de particulier sur le matériel.

Donc voila, le seul conseil à te donner, c'est une installe de zéro.

Avatar
Fabien LE LEZ

J'ai un serveur que j'aimerais "cloner" vers une machine virtuelle
(VMware) pour pouvoir faire des tests.


Mon premier essai est le clonage d'un serveur web -- en fait, un
serveur virtuel "VServer" <http://linux-vserver.org/>.

1 2 3