J'ai deux serveurs, A et B. Je voudrais cloner le serveur de A à B. A tourne sous Linux, et ils sont tous les deux distants, je n'y ai pas d'accès physique.
Quelle est la meilleure façon d'aborder cela?
J'ai deux serveurs, A et B. Je voudrais cloner le serveur de A à B. A tourne sous Linux, et ils sont tous les deux distants, je n'y ai pas d'accès physique.
Quelle est la meilleure façon d'aborder cela?
Réponses:
Je pense que rsync est la solution ici. Je ne suis pas sûr que tous les fichiers seront en écriture pendant une session rsync, cependant ...
Avez-vous envisagé de créer un clone dd des partitions sur le serveur A et de le transférer sur le serveur B? Cela semble un peu sauvage, mais peut-être en dernier recours?
Pour la création d' image de disque, j'aime clonezilla , mais vous devez disposer d'un accès physique pour pouvoir démarrer à partir du disque. Honnêtement, je ne pense pas que vous puissiez faire une copie système complet à distance complètement éteinte. rsync ne vous mènera que jusqu'à présent. Si les deux systèmes complets sont déjà installés et qu'ils sont par ailleurs identiques, vous pouvez installer les mêmes applications sur l'hôte B que sur l'hôte A. Ensuite, il suffit de copier les fichiers de configuration nécessaires de A à B. t nécessairement besoin de tout copier .
Le script bash backup-images-1.0.sh automatise le processus de clonage des disques de machines Linux distantes. Il utilise la dd
commande avec les commandes ssh
et gzip
pour copier et compresser des disques distants et les envoyer à la volée sur un disque local via une connexion SSH.
Exemples de clonage d'un disque distant sur un disque local à l'aide de backup-images-1.0.sh écrit par Radovan Brezula, auteur de backup-images-1.0.sh.
Exemple de clonage d’un disque local sur un disque distant à l’aide de dd
dd if=/path/to/disk/image ibs=4096 conv=notrunc,noerror | (ssh 132.183.12.128 dd of=/remote-archive/test/remote-archive-test.img obs=4096)
ibs=4096
lit jusqu'à 4096 octets à la fois
conv=notrunc,noerror
ne pas tronquer le fichier de sortie et continuer après les erreurs de lecture
obs=4096
écrire 4096 octets à la fois
Il existe au moins trois façons différentes de le faire.
Cette option est surtout utile dans les grandes entreprises disposant de la documentation appropriée et s'étend probablement aux configurations avec démarrage PXE et aux configurations marionnettes ou similaires.
En gros, vous répétez les mêmes étapes que pour configurer le serveur A sur le serveur B.
Cela fonctionne très bien si votre configuration est suffisamment grande (par exemple, vous utilisez 100 serveurs et souhaitez faire tourner le serveur 101. Amorçage PXE, indiquez à votre confi de marionnette qu'il doit s'agir d'un serveur de type $ et revenir une heure plus tard. Terminé !)
Beaucoup de travail à mettre en place, mais parfait par la suite. Et avec tout le travail d’installation, cela ne vaut probablement pas la peine de copier une installation une fois.
Vous pouvez copier tous les fichiers du serveur A sur le serveur B, en préservant leurs droits et leurs utilisateurs. rsync
est probablement le meilleur outil pour cela.
Pour cela, vous voulez préparer le serveur cible avec une configuration similaire (par exemple, copier la configuration de la partition), puis rsync sur la plupart des fichiers. La partie délicate ici est que vous ne voulez pas rsynciser certains fichiers (par exemple, sauter / proc et / dev) et que vous devez avoir quelque chose pour recevoir les fichiers rsync sur le serveur B.
Enfin, vous voudrez probablement démarrer le serveur B à partir d’un disque différent ou utiliser ILO / DRAC / .. pour démarrer à partir d’une image iso liveCD sur votre bureau, en laissant son disque vide et prêt à recevoir les fichiers rsync.
Ceci diffère de la copie du système de fichiers. C'est beaucoup plus facile et probablement beaucoup plus rapide, mais l'accès au disque brut (par exemple avec dd) ignore toutes les modifications du système de fichiers. Cela signifie que vous ne voulez vraiment pas copier un système de fichiers en cours d'exécution.
Pour vous aider à comprendre cela plus facilement, créez un livre. Ce livre a un index et quatre histoires. Le reste du livre est vierge et cela est également bien indiqué dans l'index des livres.
Maintenant, nous commençons à copier. Nous copions l'index. Nous copions l’histoire 1, nous copions ...
** attendez brièvement, permettez-moi d’ajouter une nouvelle histoire ici et de changer l’index **
.
Nous avons maintenant un livre avec un index montrant quatre histoires (pas cinq, car nous les avons copiées avant d'écrire l'histoire 5 et cinq histoires) ... un livre corrompu.
Quelque chose de similaire peut (et se produira) si vous utilisez un accès disque brut pour copier un système en cours d'exécution. Par conséquent, avant d’utiliser une copie de disque brute, assurez-vous que le système d’exploitation est hors ligne. Démarrez quelque chose de différent (par exemple, à partir d'un deuxième disque, d'un CD local ou via le réseau (PXE, DRAC, ...), puis copiez-le.
Les détails sur la façon de le faire sont déjà nombreux dans les posts ici sur [su].