4 votes

Comment gérer les modifications apportées à un ensemble de machines virtuelles clonées ?

J'essaie de mettre en place un modèle de développement viable. Je me demande si quelqu'un a des recommandations pour un logiciel de machine virtuelle et quelle est la procédure à suivre pour permettre ce qui suit :

  • Les développeurs se procurent une copie de l'image d'or d'une machine virtuelle et exécutent l'invité de la VM sur leur propre poste de travail. (Idéalement, je ne veux pas payer pour du matériel/logiciel de serveur pour héberger des VM de manière centralisée alors que les postes de travail des développeurs disposent de toute cette puissance qui est inutilisée).
  • L'image d'or de la machine virtuelle est mise à jour - à l'aide de disques de différenciation, d'instantanés ou d'une fonction équivalente dans le fournisseur de VM choisi - chaque VM de développement copiée est mise à jour avec les nouvelles modifications. (Idéalement, je ne déploie pas une image entière - seulement les différences par rapport à l'image d'origine).
  • Est gratuit ( peut-être un vœu pieux)
  • Comme indiqué précédemment, il ne s'agit pas d'une solution basée sur un serveur (autre que le stockage de l'image gold et des différences sur le réseau quelque part) - je ne veux pas avoir plus de serveurs et de logiciels à gérer.
  • Doit prendre en charge les invités 64 bits (Virtual PC et MS Virtual Server sont exclus...)

S'agit-il d'une chimère ?

Compte tenu de mes contraintes, je pense que je peux choisir l'une ou l'autre des options suivantes VMWare Workstation o VirtualBox . Mais je ne pense pas qu'ils feront exactement ce que je veux.

En guise de compromis, pourrais-je utiliser Hyper-V ou ESX pour créer des modèles de VM, créer de nombreux clones de ces modèles et distribuer d'une manière ou d'une autre ces clones à des postes de travail individuels ?

L'idée de déployer des disques/snapshots différents est pratique sur une base hebdomadaire - pour déployer une mise à jour sur chaque VM de développeur individuelle qui est ensuite fusionnée avec l'image de base. L'"image d'or" aurait alors les différences fusionnées aussi - de sorte que toutes les VMs correspondraient sans se donner la peine de supprimer les clones existants, et de cloner à partir d'un modèle mis à jour. Vous pourriez continuer à faire fonctionner la même machine virtuelle - en appliquant simplement des disques/snapshots différents.

3voto

Skyhawk Points 14029

Instantanés : Approche privilégiée

  1. Créez une VM de base sur votre machine. Pour vos besoins, vous pourrez parfaitement utiliser un fichier image disque compact/peu fourni, n'utilisez donc pas un fichier de taille fixe.

  2. Arrêtez votre instance de la VM de base. (Suspendre/hiberner est no suffisant.)

  3. Prenez un instantané.

  4. Le distribuer aux développeurs après vous avez pris la photo.

  5. Le moment venu, lancez la VM de base et mettez-la à jour. Toutes les modifications apportées seront écrites dans de nouveaux fichiers "delta", dont la taille ne dépassera pas celle des modifications accumulées depuis la prise de l'instantané. Parce que vous avez pris un instantané, cet énorme fichier image disque restera inchangé à 100 %.

  6. Arrêtez votre instance de la VM de base. (Suspendre/hiberner est no suffisant.)

  7. Si vous avez apporté des modifications importantes (par exemple, l'installation d'un service pack volumineux), envisagez de prendre un instantané supplémentaire. maintenant afin de ne pas avoir à retransférer l'instantané actuel lors de la prochaine mise à jour.

  8. Pendant la nuit, (a) soit redémarrer chaque machine de développement, soit tuer par programme le processus de l'hyperviseur sur chaque machine de développement (non, les développeurs ne seront pas en mesure d'utiliser l'hyperviseur). no n'oubliez pas de le fermer) et ensuite (b) copiez les fichiers modifiés à l'aide de la fonction ROBOCOPY /MIR ou autres.

Bien entendu, pour que cela fonctionne, vous devez transférer tous fichiers modifiés associés à la VM, qui peuvent inclure des fichiers de configuration contenant des métadonnées sur les instantanés en plus des fichiers d'instantanés/delta eux-mêmes. Vous devrez également vous assurer que, sur chaque machine de développement, la VM est stockée exactement au même endroit que sur votre propre machine.

Rsync : Autre approche

Une autre approche consisterait à utiliser des disques virtuels de taille fixe, non snapshots, et un client/serveur rsync comme DeltaCopy pour ne copier que les parties modifiées. Ce n'est pas l'approche à privilégier car :

  1. Il faudrait installer le logiciel rsync sur chaque machine de développement.

  2. Le processus de copie proprement dit prendrait plus de temps, même si aucune donnée supplémentaire n'était transférée, car rsync devrait analyser l'ensemble du fichier du disque virtuel pour déterminer les parties à transférer.

Conclusion : Vous pourriez utiliser rsync pour cela, mais cela semble exagéré si votre hyperviseur prend en charge les instantanés.

0voto

Christian Points 4555

Il semble que vous ayez besoin d'un outil de gestion de la configuration. il s'agirait d'un référentiel central où vous sauvegardez la configuration et où les clients (vos serveurs virtuels Windows) peuvent obtenir de nouvelles configurations.

Comme j'utilise Linux, je ne sais pas si cela fonctionne bien avec Windows, mais il existe des solutions pour Windows. cette Article wiki. Il contient un bon résumé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X