Gestion de la mise à jour et de la dissortingbution de la machine virtuelle – Fais-le mal?

Je travaille pour une société de logiciels. Mon département est chargé (entre autres choses) de build et de dissortingbuer des machines virtuelles VMWare aux membres de notre équipe de vente, qui les lance ensuite à l'aide de VMWare Player pour exécuter leurs démonstrations de produits pour les clients.

Dernièrement, il m'est apparu que la façon dont nous mettons à jour et dissortingbuons ces machines virtuelles est une erreur. Voici notre process de mise à jour de "Demo VM:"

  1. Téléchargez une nouvelle copy de la VM (~ 35 Go) à partir du server central
  2. Réglez-le en mode persistant, puis lancez-le et effectuez les modifications telles que la mise à niveau des produits vers les dernières versions et les licences de mise à jour
  3. Une fois les modifications effectuées, fermez-le et réglez-le en mode non persistant, puis téléchargez le tout (~ 35 Go) vers le server central avec un nouveau nom de dossier avec un numéro de version incrémenté
  4. Quiconque a besoin de la dernière version puis le télécharge depuis le server de files (35 Go * X)

Non seulement cela absorbe beaucoup de bande passante réseau, mais le téléchargement de 35 Go sur le réseau peut prendre du time, en particulier pour les personnes de nos bureaux distants qui n'ont pas le luxe de la vitesse intranet.

Ma question: existe-t-il une meilleure façon de gérer la mise à jour et la dissortingbution des machines virtuelles qui doivent être exécutées localement sur les machines des users?

La raison pour laquelle j'ai commencé à interroger notre méthode actuelle, c'est que, lorsqu'une machine virtuelle est mise à jour, seule une petite partie des files (VMEM et images de disque virtuel) change, n'est-ce pas? Donc, au lieu de copyr tout le dossier VM, il devrait y avoir une méthode pour download / download uniquement les deltas, pour ainsi dire. Similaire à la façon dont les systèmes de contrôle de version comme Git fonctionnent. J'ai effectivement essayé d'utiliser Git pour cela, mais il s'avère que Git est terrible quand il s'agit de gérer d'énormes files . Je pensais donc que je requestrais ici.

2 Solutions collect form web for “Gestion de la mise à jour et de la dissortingbution de la machine virtuelle – Fais-le mal?”

Rsync fonctionnerait bien pour cela. Si vous souhaitez dissortingbuer des diffs à des machines qui n'ont pas d'access direct au server, vous pouvez également essayer xdelta .

Le triggersment des mises à jour à exécuter à l'intérieur des machines virtuelles pourrait également être une option, mais vous devriez faire attention à ce qu'un user impatient n'endommage pas la VM si elles l'ont interrompue pendant la mise à jour. J'irais sur la route de la layout des files de disque VM personnellement.

À mon avis, une réponse appropriée dépend du operating system cible, car les outils disponibles diffèrent considérablement.

Il peut y avoir un tournant intéressant dans ce stream de travail qui peut améliorer le process en le rendant reproductible , mais aussi flexible . Permettez-moi d'essayer d'expliquer comment. Cette tâche, comme vous l'avez décrit (et si j'ai bien compris), est basée sur la création d'une image d'or hors ligne et laissant le personnel du département des ventes cloné.

(Il n'est pas clair de l'information que vous avez donnée si ce personnel devrait pouvoir modifier l'image d'or ou simplement utiliser à des fins de démonstration lorsqu'il est dissortingbué, ce qui pourrait engendrer une ramification que je ne considère pas ci-dessous).

Donc, pour donner au less une réponse partielle, ce sont mes

hypothèses:

  • la plate-forme cible (la Demo VM) est une machine GNU / Linux
  • le logiciel dissortingbué et ses licences sont tous emballés (ou peuvent être emballés) en utilisant le format du operating system cible (RPM, deb, …). Cela peut être traité de plusieurs façons:
    • les files debian-rules standard ou spec files spec couplés avec un stream autotools
    • Des process plus agiles utilisant des outils comme fpm

  • Il existe un sharepoint dissortingbution disponible qui peut gérer la gestion et la dissortingbution des packages et des configurations (il ne faut pas nécessairement être un seul service / machine, cela tente simplement de refléter le besoin de ces services étant centralisés et disponibles ). Encore une fois, plusieurs façons différentes de gérer ceci:
    • un server cobbler . Peut gérer différents services, mais les intéressants seraient TFTP, PXE, kickstarting, preseeding, c'est-à-dire l'étape de provisionnement. Alternativement, pulp peut également dissortingbuer des référentiels (non seulement sur request d'un client, mais aussi activement à partir du server).
    • un système de gestion de la configuration , tel que puppet , ansible , salt , …, c'est-à-dire l'étape de configuration.
    • toute la configuration spécifique qui ne peut pas être regroupée, dans un package, est gérée par le système de gestion de la configuration et stockée dans un système de contrôle de révision .

  • un logiciel autre que VMPlayer de VMWare peut être utilisé pour gérer le système virtualisé.

et certains cas d'utilisation:

– machines virtuelles GNU / Linux intégrales

Si vous pouvez vous plaindre des hypothèses ci-dessus, il existe plusieurs façons de s'assurer qu'un user final peut avoir une machine virtuelle avec la configuration exacte et le logiciel installé que vous avez déjà décidé. L'un d'entre eux impliquerait l'utilisation de vagrant . En utilisant ce logiciel, il vous suffit de modifier un file (le file vagrantfile pour décrire le type de machine que vous souhaitez build. En outre, le vagrant peut également gérer la machine vagrantfile dans votre système de gestion de configuration de choix. La documentation en ligne est très bonne et il existe de nombreux exemples en ligne .

Les machines du personnel de vente pourraient avoir du sport, car la seule exigence est qu'ils installent un vagrant sur la machine hôte. La reproduction d'une machine virtuelle Demo ne prendrait qu'un vagrant up simple.

Il existe également d'intéressantes alternatives au vagrant . Vérifiez, par exemple, l' packer .

– proposition basée sur des conteneurs , pas de machines virtuelles complètes

Si les machines du personnel de vente peuvent utiliser n'importe quel operating system GNU / Linux, vous pouvez également profiter des conteneurs , une façon d'exécuter des systèmes d'exploitation virtualisés avec peu de frais généraux. Les moyens les plus intéressants (à mon avis) d'utiliser cette technologie include, sans s'y limiter: libvirt , docker et LXC . Docker a ce concept de dockerfile , similaire à la fonctionnalité du vagrantfile , et plus intéressant, il existe un registre qui peut héberger vos images dissortingbuables .

Les conteneurs peuvent fonctionner comme des services simples dans le operating system d'hébergement, donc l'utilisation est assez simple.

– faire sans operating system

Pour aider à améliorer le process de dissortingbution, il faut s'assurer que seul le logiciel minimum requirejs est installé, bien sur. Mais il existe des façons de faire sans operating system. Si votre cas d'utilisation peut bénéficier de l'utilisation d'un logiciel comme supermin , un appareil peut être aussi petit que quelques mégaoctets sur un gigabyte.

D'autres ont proposé une approche différente, sans un operating system d'hébergement , mais ce model ne semble pas correspondre à ce que vous avez décrit.

  • Fichier OVA VMWare
  • Installation de VMware Player sur Ubuntu 9.04
  • Physical to virtual, Impossible de réactiver Windows puisqu'il s'agit de Windows XP OEM. Prêt à payer, quelles sont mes options?
  • Le server nodejs ne répond pas après un certain time
  • Comment empêcher le timeout de connection TCP lorsque FTP'ing large file?
  • Est-il possible d'emballer les files machine vmware et de passer au disque Blu-ray?
  • Puis-je utiliser le VMWare Player gratuit pour le travail?
  • Ubuntu Lucid Lynx s'est écrasé dans VMware - Impossible d'accéder au mode de récupération
  • Convertir Amazon AMI en image VMware
  • Cloner un VPS dans une VM locale?
  • transfert vm machine créée dans virtualbox to vmware player
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.