Cloner un serveur Linux fonctionnel

18

J'ai besoin de cloner un serveur Linux fonctionnel. Nous ne pouvons pas arrêter le serveur de travail. Existe-t-il un moyen d'obtenir un clone et de le déployer sur un autre serveur?


la source

Réponses:

14

Il existe de nombreuses façons de copier des disques, des systèmes de fichiers ou des fichiers. Généralement, la copie du système de fichiers vous donne un bon clone avec la flexibilité qu'il peut être d'une taille légèrement différente sur le système cible. Avec le système cible exécutant une sorte de Linux en direct (knoppix, ubuntu live, etc.), démarré à partir d'un cdrom, vous pouvez créer les partitions sur le disque en utilisant fdisk ou votre application de partition préférée. En supposant que vous disposez d'un serveur SSH en cours d'exécution sur le système source, adoptez une approche similaire à celle-ci:

http://www.linuxfocus.org/English/March2005/article370.shtml

La magie opère dans cette commande:

ssh sourcePC 'dump -0 -f - /' | restore -r -f -

Lorsque vous utilisez une méthode particulière pour cloner des disques sur un environnement Linux en direct, votre seule préoccupation serait probablement avec les bases de données. La meilleure façon de sauvegarder et de restaurer une base de données est d'utiliser leur outil de vidage pour créer un instantané de fichier ascii de la base de données juste avant le vidage du système de fichiers. Pour mysql il y a:

mysqldump --all-databases > mysql_databases.sql

Pour postgresql, il y a:

pg_dumpall > pg_databases.sql

Si vous rencontrez une sorte d'erreur de cohérence sur le nouveau système, restaurez la base de données. Alternativement, une fois que vous avez arrêté les services sur le système source, recommencez le vidage de la base de données et restaurez sur la cible, et vous ne manquerez aucune donnée récemment modifiée.

labradort
la source
1
+1 pour la référence linuxfocus
Bozojoe
2

Construisez une disposition de disque sur la nouvelle machine comme vous le souhaitez.

Utilisez rsync pour transférer le contenu du disque. Répétez plusieurs fois pour rattraper complètement.

Sur la nouvelle machine, testez ce que vous devrez faire pour démarrer correctement. Grub par exemple, et obtenez-le dans un état cohérent.

Jusqu'à ce que vous puissiez arrêter l'ancienne machine, rsync à intervalles réguliers pour garder le nouveau disque proche de l'ancien.

Amenez ensuite l'ancien en mode de maintenance, rsync une fois de plus et démarrez le nouveau qui devrait se comporter comme l'ancien.

Thorbjørn Ravn Andersen
la source
5
Cela pourrait entraîner une corruption des données. Pour garantir une copie correcte des fichiers (y compris les bases de données actives), vous devez être en mesure d'exécuter la commande rsync entière en une seule opération atomique, pendant que le système est en pause. Un instantané LVM serait atomique, ou créer un miroir RAID, puis déconnecter l'un des disques et le placer dans la nouvelle machine. Même alors, vous devez vraiment aller au niveau d'exécution 1 ( en.wikipedia.org/wiki/Runlevel#Typical_Linux_runlevels ), faire l'instantané et redémarrer à un niveau d'exécution supérieur.
Lee B
1

Mon collègue ne jure que par System Imager:

http://wiki.systemimager.org/index.php/Main_Page

Je ne sais pas dans quelle mesure cela fonctionnerait pour les systèmes "en direct".

Sinon, je pense que vous êtes coincé à faire les choses manuellement:

  • Vérifiez qu'il n'y a aucune application d'installation en dehors des référentiels
  • Vider la liste des packages installés et les installer sur le nouveau serveur
  • Copier sur des fichiers de configuration
  • Restaurer des bases de données
Natalie Adams
la source
roches du Systemimager. Il fonctionne sur un système en direct, avec les mêmes conditions pour exécuter rsync pour copier l'état d'un système en direct. Certaines applications devront être fermées ou vidées sur le disque (par exemple, les bases de données mysql) avant la copie et devront être restaurées sur le nouveau système.
gbjbaanb
0

À condition que vous puissiez mettre vos bases de données dans un état cohérent sur le disque, vous pouvez simplement utiliser DAR pour faire une copie de tout, puis la réécrire sur votre nouveau serveur.

La synchronisation de vos bases de données vers un état cohérent sur le disque peut être délicate, mais il suffit de prendre un instantané, puis de le restaurer après avoir restauré l'image DAR. DAR aura un impact sur les performances du serveur pendant son exécution.

Une fois que vous avez votre image, vous pouvez modifier les paramètres réseau et vous devriez pouvoir la récupérer sans problème.

http://dar.linux.free.fr/

Paul McMillan
la source