Meilleure façon de cloner un système Linux en direct

17

Quelqu'un connaît-il un moyen de cloner un système Linux en direct? J'ai une installation en direct exécutant un site de production. Le problème est que j'ai besoin de le cloner (sans le faire tomber), puis de le déplacer (restaurer) vers une machine virtuelle. Je migre essentiellement du matériel physique vers le matériel virtuel.

drewrockshard
la source
Vous devrez le mettre de côté malgré tout, pour le démarrer sur la machine virtuelle.
Ignacio Vazquez-Abrams
Le matériel physique sera opérationnel -> le clonage se produit -> migrer vers la machine virtuelle -> modifier l'adresse de l'URL -> terminé. J'ai besoin de détails sur les meilleures pratiques pour le clonage de systèmes vivants.
drewrockshard
4
La première étape consiste à essayer de déterminer le système d'exploitation qu'il exécute.
pause jusqu'à nouvel ordre.

Réponses:

12

Sur la machine source:

dump -0 -f - / | ssh -c blowfish root@target_machine "cd /; restore -rf -"

Cela videra le fs sur votre machine source, le copiera sur ssh et sur la machine cible, il le restaurera.

Bien sûr, vous devez répéter cette opération pour chaque fs.

«Blowfish» est là juste pour permettre une compression et une décompression plus rapides.

mrkafk
la source
Celui-ci semblait fonctionner le plus efficacement.
drewrockshard
je ne peux pas le faire aimer le minuscule r. j'ai eu une partie de ce travail en séparant -rf to -r -f, mais maintenant restaurer: option invalide - 'r' cat: option invalide - 'r'
rjt
4
Cette réponse est-elle toujours valable? Que se passerait-il si vous deviez avoir un service MySQL en cours d'exécution sur la boîte?
MirroredFate
6

VMWare Converter peut faire la plupart des systèmes d'exploitation modernes sans arrêter le serveur, mais comme Dennis l'a souligné, nous devons vraiment savoir quel système d'exploitation vous utilisez.

Vous vous retrouverez avec une image virtuelle de votre serveur lorsque vous aurez terminé, plutôt qu'une image de disque brute, mais elle est généralement assez bonne pour la plupart des travaux, selon ce que vous voulez en faire une fois que vous l'avez fait.

Mark Henderson
la source
Il fonctionne sur Fedora. Pour info, je prévois de l'imaginer pour la virtualisation plus tard, probablement dans Xen.
Str
À des fins de virtualisation, si je ne me trompe pas, l'image doit être en image virtuelle plutôt qu'en image disque brute, non?
Str
1
@Str, si vous savez ce qu'est le système d'exploitation, veuillez modifier votre question pour le dire et utiliser les balises appropriées.
John Gardeniers
@Str - c'est exact, mais vous n'avez pas mentionné si vous alliez virtualiser la machine ou non, juste que vous vouliez la cloner.
Mark Henderson
1

Vers quelle plateforme VM migrez-vous? VMWare dispose d'un convertisseur pour Linux . Il convertira une machine sous tension.

Jason Berg
la source
En fin de compte, c'est en interne et basé sur VMWare. Le panneau de contrôle est personnalisé, nous allons donc essentiellement charger un CD live et étendre / extraire / etc sur la machine virtuelle. Je ne suis pas sûr de pouvoir accéder à l'infrastructure VM pour faire le convertisseur VMWare, mais tout dépend de ce qui est impliqué avec cela. Pour tester cependant, j'allais essayer de le migrer vers une virtualbox vm juste pour voir si cette preuve de concept fonctionnait du tout.
drewrockshard
Pensez-vous que je pourrais exécuter le convertisseur sur la machine physique puis «importer» le vm converti dans vmware (jamais utilisé le convertisseur, donc ma terminologie pourrait être désactivée).
drewrockshard
Le convertisseur ne fonctionne pas vraiment de cette façon. Consultez ce lien. Il devrait vous montrer les bases du fonctionnement d'une conversion vladan.fr/how-to-p2v-linux-into-vmware-esx-server
Jason Berg
Existe-t-il un moyen de contourner l'importation d'infrastructure VMware afin que je puisse conserver l'image "convertie" localement sur mon système, ou dois-je migrer vers une autre infrastructure (pas de capacité locale)?
drewrockshard
Notez que VMWare Converter (actuellement) nécessite Windows, bien qu'il puisse migrer un ordinateur physique Linux vers une machine virtuelle.
Greg Glockner
1

Jetez un œil au convertisseur VMWare qui, je crois, permet le clonage du système en direct.

user9517
la source
1

Nous faisons généralement ceci:

  • Démarrez l'hôte virtuel cible à partir d'un CD (ou démarrez-le par le net)
  • Préparez les systèmes de fichiers sur l'hôte virtuel (c'est-à-dire préparez le ou les disques, créez les systèmes de fichiers et montez-les).
  • Rsync les fichiers de l'hôte physique à l'hôte virtuel
  • Installer le chargeur de démarrage sur l'hôte cible

Cela fonctionne très bien, tant que les données que vous copiez sont relativement apatrides. Si vous traitez, par exemple, avec un serveur de base de données, en particulier un serveur avec beaucoup d'activité, vous devrez vous assurer que la base de données est au repos avant de faire le basculement final ... donc, quelque chose comme ça, après tout le reste est prêt:

  • Arrêtez la base de données
  • Effectuer une rsync finale des données
  • Arrêtez l'hôte physique
  • Démarrez l'hôte virtuel
larsks
la source
1
Quelle commande rsync utilisez-vous?
drewrockshard
0

Regardez VMware Converter (c'est gratuit si vous avez vCenter) ou Plate Spin (l'un de leurs produits est un convertisseur).

Plate Spin fera fonctionner une machine en direct, avec un temps d'arrêt minimal à couper.

Avec VMware Converter, il fera une machine en direct (s'il y a une base de données, elle pourrait être désynchronisée), mais ne le faites pas démarrer la machine virtuelle quand elle est terminée. Déconnectez ensuite la vNIC, puis démarrez la machine, connectez-vous via la console et modifiez les IP, etc. Ensuite, reconnectez la vNIC.

mrdenny
la source
0

Il est impossible d'obtenir un instantané cohérent sans arrêter toutes les opérations qui peuvent changer l'état du système.

À moins que l'application n'ait été explicitement conçue pour accueillir ce type d'opération (c'est-à-dire tous les traitements traités via des messages en file d'attente), il est impossible d'obtenir un instantané cohérent sans arrêter le système (ou au moins désactiver le composant transactionnel).

Cependant, il est possible de réduire considérablement la fenêtre de temps pour la capture instantanée du système (par exemple en retirant un miroir d'un ensemble RAID puis en le remontant ailleurs). Et plus le temps nécessaire à la génération de l'instantané est court, moins les transactions s'étaleront sur l'opération.

Et la plupart des systèmes de fichiers / DBS prendront en charge une sorte de journalisation qui devrait permettre à la plupart des opérations interrompues d'être récupérées ou annulées.

symcbean
la source