Migration de serveur: le moyen le plus efficace

10

J'ai été chargé de migrer l'un de nos sites entre des serveurs (deux hôtes différents). Les deux environnements sont Linux.

Le site diffuse des vidéos, de sorte que le serveur est actuellement rempli de fichiers multimédias (images et vidéos). Ma première pensée a été que nous utiliserions rsycnc pour tout transférer, mais je veux être aussi efficace que possible et tout faire le plus rapidement possible. J'ai pensé que certains d'entre vous pourraient avoir des conseils sur la façon d'accélérer le processus, ou si rsync est même le bon choix ici.

Merci d'avance. Toutes mes excuses pour ma connaissance limitée des trucs d'administrateur système

EDIT: Nous fonctionnons sur une pile LAMP de base (centos) et passons au chapeau rouge sur rackspace).

Code fantôme
la source
1
Définissez «efficace» dans ce contexte. Rapide, fiable, robuste ou quoi? Et non, vous ne pouvez pas avoir tout cela.
John Gardeniers
1
rsync est presque certainement le meilleur choix pour migrer les données; il y a encore la configuration et les bases de données possibles, etc. que d'autres ont mentionnées et qui ont d'autres meilleures options.
fukawi2

Réponses:

12

La «migration d'une application d'un serveur à un autre» est très impliquée - il n'y a vraiment aucun moyen de répondre de manière exhaustive à tous les cas d'utilisation. VOUS pouvez cependant y répondre de manière assez complète pour votre configuration, si vous l'abordez systématiquement:

  1. Faites une liste de tout ce dont votre application a besoin.
    • Serveur Web?
    • Serveur de base de données?
    • Serveur de courrier?
    • Langage de script (PHP, Ruby / Rails, Perl, autre chose)?
    • Programmes auxiliaires (ImageMagick, etc.)?
  2. Faites une liste des éléments de configuration importants.
    • Adresse IP, masque de réseau, passerelle, etc.
    • Serveurs DNS
    • Éléments spécifiques à l'application (répertoires temporaires, etc.)
  3. Prenez les listes de (1) et (2) et écrivez un aperçu de la migration.
    Cela devrait inclure des choses comme l'installation et la configuration des logiciels / packages dont vous avez besoin, le vidage et le chargement de la base de données, etc.
  4. TESTEZ LA MIGRATION
    Copiez tout comme vous le feriez si le serveur allait être mis en ligne, mais ne le faites pas. Collez-le sur un réseau isolé lorsque vous avez terminé et testez tout.
    Si vous disposez d'une procédure de test standard pour votre application, vous devez l'exécuter sur le serveur migré.
  5. Si tout ne s'est pas parfaitement déroulé, passez à (3), mettez à jour (1) et (2), puis révisez votre plan.
  6. Lorsque les migrations de test se déroulent parfaitement, effectuez la migration réelle.
    Selon la complexité du processus de migration, cela peut simplement signifier la suppression et le rechargement d'une base de données, ou vous pouvez vouloir nettoyer la machine et tout faire à partir de zéro.

Lorsque vous avez terminé, vous aurez une liste de contrôle pour votre application particulière, dans votre environnement particulier. Cette liste de contrôle évoluera probablement au fur et à mesure que vous développez l'application, mais elle peut servir de point de départ dans 3 à 5 ans lorsque vous devrez à nouveau migrer.

D'autres éléments à prendre en compte incluent la mise en œuvre de la gestion de la configuration ala Puppet ou Chef.
(Si vous allez être "l'administrateur système", vous devriez les considérer, sinon transmettez-les à la personne / l'équipe responsable.)

voretaq7
la source
5

Eh bien, vous devez gérer la configuration et le contenu du serveur et il est très peu probable que la même technique fonctionne pour les deux.

Avez-vous une base de données? Si tel est le cas, cela devra également être déplacé. Rsync fonctionne très bien pour le contenu statique. Il suffit de l'exécuter une fois pour déplacer la liste de vos données, puis de dire toutes les quelques heures pour garder les choses synchronisées jusqu'au basculement. Assurez-vous de désactiver le cron rsync avant la migration!

En ce qui concerne la configuration, nous n'avons aucune idée de ce que vous exécutez, nous ne pouvons donc pas vraiment donner de recommandations.

EEAA
la source
Merci! Nous fonctionnons actuellement sur CentOS avec une pile Apache / PHP / MySQL (assez standard) avec WHM. Nous déplaçons tout pour redhat linux sur Rackspace.
Ghost Code