<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>VSphere 5.1 on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/vsphere-5.1/</link><description>Recent content in VSphere 5.1 on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Mon, 30 Mar 2015 21:18:12 +0000</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/vsphere-5.1/index.xml" rel="self" type="application/rss+xml"/><item><title>Echec déploiement package OVF: Cette tâche a été annulée par un utilisateur</title><link>https://blog.zwindler.fr/2015/03/30/echec-deploiement-package-ovf-cette-tache-a-ete-annulee-par-un-utilisateur/</link><pubDate>Mon, 30 Mar 2015 21:18:12 +0000</pubDate><guid>https://blog.zwindler.fr/2015/03/30/echec-deploiement-package-ovf-cette-tache-a-ete-annulee-par-un-utilisateur/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/03/Failed-to-deploy-OVF-Package1.webp" alt="Featured image of post Echec déploiement package OVF: Cette tâche a été annulée par un utilisateur" /&gt;&lt;p&gt;[Edit]MAJ le 19/10 avec quelques captures d’écran[/Edit]&lt;/p&gt;
&lt;p&gt;Une manière simple de créer et de déployer des templates sous ESXi lorsqu’on ne dispose pas du vCenter et de la licence qui va bien est d’utiliser les templates OVF/OVA (&lt;a class="link" href="https://blog.zwindler.fr/2011/03/20/copier-une-vm-windows-xp-sous-esxi-sans-vcenter/" &gt;cf un de mes tous premiers articles&lt;/a&gt;). Je l’utilise d’ailleurs toujours aujourd’hui pour pallier le manque de licences sur certains sites distants/secondaires.&lt;/p&gt;
&lt;p&gt;Cependant, depuis la version 5 (ou peut être 5.1), j’ai été confronté à plusieurs reprises à l’erreur suivante lors du déploiement de l’OVA :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Echec déploiement package OVF: Cette tâche a été annulée par un utilisateur&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;WTF ? Pas de code d’erreur, et un message pas vraiment loquasse&amp;hellip;&lt;/p&gt;
&lt;p&gt;J’ai eu beaucoup de mal à trouver la réponse à cette erreur en Français et il a d’ailleurs fallu que je le traduise mot pour mot en anglais pour trouver des ressources pour m’aider :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Failed to deploy OVF package: The task was canceled by a user.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;[Edit] En 5.5, j’ai également rencontré le message suivant qui donne un peu plus d’informations sur le problème réel :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;OVF Deployment Failed: File ds:///vmfs/volumes/uuid/_deviceImage-0.iso was not found&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/03/01_ovf_device.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;[/Edit]&lt;/p&gt;
&lt;p&gt;Et là on commence à trouver un peu d’aide sur le web. Parmi les liens intéressants sur le sujet, on peut citer le KB de VMware et lukebarklimore qui rentre un peu dans le détail de l’anatomie d’un OVF/OVA de chez VMware :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;KB VMware (lien mort, comme d&amp;rsquo;habitude)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://lukebarklimore.wordpress.com/2012/10/25/esxi-5-1-fixing-failed-to-deploy-ovf-package-the-task-was-canceled-by-a-user/" target="_blank" rel="noopener"
&gt;lukebarklimore.wordpress.com/2012/10/25/esxi-5-1-fixing-failed-to-deploy-ovf-package-the-task-was-canceled-by-a-user/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce qu’il faut en retenir, c’est :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un OVA n’est en fait qu’une simple archive &lt;strong&gt;tar&lt;/strong&gt; (qu’on peut donc ouvrir avec un « &lt;em&gt;tar xf&lt;/em&gt; » ou un 7zip pour les Windowsiens&lt;/li&gt;
&lt;li&gt;Il contient un fichier &lt;strong&gt;.ovf&lt;/strong&gt; au format XML qui respecte la norme des OVF (enfin, si on peut appeler ça une norme ! &lt;em&gt;troll&lt;/em&gt;) et qui est en fait un descripteur du matériel virtuel de votre VM&lt;/li&gt;
&lt;li&gt;un ou plusieurs fichiers &lt;strong&gt;.vmdk&lt;/strong&gt;, vos disques durs virtuels&lt;/li&gt;
&lt;li&gt;un fichier &lt;strong&gt;.mf&lt;/strong&gt; qui ne contient en fait que le hash &lt;strong&gt;sha1&lt;/strong&gt; du fichier, pour le contrôle de la cohérence&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/03/03_ovf_device.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Pour en venir au problème en lui même : il se produit lorsque les VMware Tools sont mal démontés ou se sont mal installés (ou mal terminé d’installer). La machine virtuelle garde en mémoire la présence de l’ISO et celui ci reste inscrit dans le descripteur OVF. Lorsqu’on déploie la VM, l’ISO n’est plus présent sur le serveur de destination et on obtient l’erreur susnommée.&lt;/p&gt;
&lt;p&gt;Pour résoudre le problème, il faut donc :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Extraire le fichier OVF de l’archive OVA&lt;/li&gt;
&lt;li&gt;Editer le fichier OVF, et remplacer la mention &lt;strong&gt;&lt;em&gt;vmware.cdrom.iso&lt;/em&gt;&lt;/strong&gt; par la valeur &lt;strong&gt;&lt;em&gt;vmware.cdrom.atapi&lt;/em&gt;&lt;/strong&gt; ou &lt;strong&gt;&lt;em&gt;vmware.cdrom.remotepassthrough&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Recalculer le nouveau hash SHA1 du fichier OVF édité&lt;/li&gt;
&lt;li&gt;Recréer une archive et y ajouter DANS CET ORDRE les fichiers .ovf PUIS .mf et .vmdk.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/03/04_ovf_device.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;tar xf maVM.ova #extraction des fichiers de l&amp;#39;archive
rm maVM.ova
vi maVM.ovf #si vous êtes sages je vous donnerai un &amp;#34;sed&amp;#34; pour éviter d&amp;#39;avoir à éditer le fichier
sha1sum maVM.ovf #récupérer le retour et remplacer le hash de l&amp;#39;OVF par la nouvelle valeur dans le fichier maVM.mf
tar cf maVM.ova maVM.ovf #recréation de l&amp;#39;archive
tar uf maVM.ova *.mf *.vmdk
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Si vous omettez de recalculer le checksum, VMware vous expliquera bien gentiment que le checksum n’est pas bon, et donc l’archive toute entière, donc pas de flemme !&lt;/p&gt;
&lt;p&gt;Et si vous ne les mettez pas dans cet ordre, vous aurez une autre erreur, très explicite cette fois ci qui vous expliquera que votre OVA est invalide car les fichiers ne sont pas dans le bon ordre&amp;hellip; Oui&amp;hellip; Vraiment.&lt;/p&gt;</description></item><item><title>[IRL] RedHat virtualisé et haute dispo, RHCS+VMDK partagés vs vSphere Replication</title><link>https://blog.zwindler.fr/2015/02/11/irl-redhat-virtualise-et-haute-dispo-rhcs-vmdk-partage-vs-vsphere-replication/</link><pubDate>Wed, 11 Feb 2015 14:58:49 +0000</pubDate><guid>https://blog.zwindler.fr/2015/02/11/irl-redhat-virtualise-et-haute-dispo-rhcs-vmdk-partage-vs-vsphere-replication/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/02/rhcs.webp" alt="Featured image of post [IRL] RedHat virtualisé et haute dispo, RHCS+VMDK partagés vs vSphere Replication" /&gt;&lt;h2 id="contexte"&gt;Contexte
&lt;/h2&gt;&lt;p&gt;Dans un contexte professionnel, il arrive que des décisions soient prises et qu’il faille s’y tenir coute que coute. Même si on se rend compte plus tard que ce n’était pas forcément le chemin le plus facile. La facilité, c’est le côté obscur, on le sait bien ;-).&lt;/p&gt;
&lt;p&gt;Pour un client, on m’a donc demandé de concevoir une plateforme RedHat 5.X virtualisée hautement disponible, avec une durée d’interruption de service maximale de 30 minutes en toute circonstance (jusque là tout va bien), &lt;strong&gt;ET&lt;/strong&gt; la possibilité de restaurer les disques des OS virtuels avec plusieurs points de restaurations par palliers de 30 minutes (RPO/RTO). &lt;em&gt;Aie!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Tel le Mac Giver des temps modernes, je dispose des outils suivants pour y parvenir :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 licence vSphere Essential Plus&lt;/li&gt;
&lt;li&gt;2 serveurs physiques, installés en ESXi 5.5 et reliés en SAN&lt;/li&gt;
&lt;li&gt;2 baies de disques EMC² VNX5200&lt;/li&gt;
&lt;li&gt;2 souscriptions RedHat Datacenter - pour disposer d’autant de VMs RHEL qu’on le souhaite sur nos deux nœuds physiques&lt;/li&gt;
&lt;li&gt;2 souscriptions RedHat High Availability (anciennement RedHat Cluster Suite) en mode Datacenter - pour disposer d’autant de clusters RedHat qu’on le souhaite sur nos deux nœuds physiques&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="clusters-rhcs-et-vmdk-partagés-ou-rdm"&gt;Clusters RHCS et VMDK partagés ou RDM
&lt;/h2&gt;&lt;p&gt;Comme vous pouvez le deviner avec la dernière ligne, on m’a demandé d’utiliser les licences qui avaient été achetées. Donc de déployer du cluster RHCS à tour de bras, pour faire des paires de VMs et simuler ce que l’on fait habituellement sur des paires de machines physiques.&lt;/p&gt;
&lt;p&gt;Sauf qu’à tenter de faire des clusters RHCS sur des machines virtuelles VMware, on trouve vite toute sortes de petits désagréments.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Note&lt;/strong&gt; : Je vous demanderai de bien vouloir faire abstraction du fait que c’est vraiment « bourrin » de doubler des VMs lorsqu’on dispose d’un cluster vSphere. En fait, si j’en suis arrivé là, c’est parce qu’un simple cluster VMware HA ne répond pas à l’ensemble des besoins énoncés plus haut. C’est possible, bien sûr, mais il faut aller creuser peu plus loin (cf la fin de l’article).&lt;/em&gt;&lt;/p&gt;
&lt;h3 id="prérequis"&gt;Prérequis
&lt;/h3&gt;&lt;p&gt;VMware et RedHat supportent l’utilisation de cluster RHCS dans sur des machines virtuelles avec les obligations suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support de vSphere 5.1 uniquement à partir de RHEL 5u9 ou 6u4&lt;/li&gt;
&lt;li&gt;Support de vSphere 5.5 uniquement à partir de RHEL 5u11, 6u6 ou 7&lt;/li&gt;
&lt;li&gt;Support du partage de disques via RDM à partir RHEL 5u7&lt;/li&gt;
&lt;li&gt;Support du partage de VMDK à partir de RHEL 5u9&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Voir &lt;a class="link" href="https://access.redhat.com/articles/29440" target="_blank" rel="noopener"
&gt;ici pour plus d’infos&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Idéalement, il faut donc disposer de machines virtuelles RHEL 5u11 et de vSphere en version 5.5 (version la plus à jour si on met de côté la 6 qui va sortir), mais on peut se « contenter » d’une version RHEL 5u9 en installant une version plus ancienne de vSphere (5.1).&lt;/p&gt;
&lt;p&gt;Le cas le plus défavorable est l’utilisation de vSphere 5.0 avec un RHEL 5u7 ou 5u8. Dans ce cas, seul le partage de disques via RDM est possible et un bug connu dans la version 5.0 de vSphere empêche le fonctionnement opérationnel du cluster (au niveau du fencing).&lt;/p&gt;
&lt;p&gt;Au-delà, ce n’est pas supporté.&lt;/p&gt;
&lt;h3 id="architecture"&gt;Architecture
&lt;/h3&gt;&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/02/rhcs.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h3 id="cas-de-pannes"&gt;Cas de panneS
&lt;/h3&gt;&lt;p&gt;Les disques OS sont installés en RAID 1 MDADM avec 2 VMDKs situés sur les deux baies.&lt;/p&gt;
&lt;p&gt;Si ce n’est pas le cas, en cas de la perte de la baie de disques hébergeant l’OS du nœud maitre, le serveur deviendra instable mais ne pourra pas se saborder d’elle-même correctement, plantant le cluster et l’application.&lt;/p&gt;
&lt;p&gt;Pire, s’il s’agit de la baie de disques qui héberge le &lt;strong&gt;quorum disk&lt;/strong&gt;, le cluster ne disposera plus d’assez de votes pour fonctionner et le redémarrage devra être forcé à la main.&lt;/p&gt;
&lt;p&gt;En cas de corruption du disque OS du nœud actif, les packages basculeront sur l’autre VM.&lt;/p&gt;
&lt;p&gt;En cas de panne de l’ESXi, les packages actifs pourront basculer sur le nœud présent sur l’autre serveur.&lt;/p&gt;
&lt;p&gt;En cas de perte de la baie de disques, les données seront toujours accessibles par les deux VMs grâce à l’autre membre du miroir.&lt;/p&gt;
&lt;p&gt;Même si la baie hébergeant le quorum tombe en panne, on disposera toujours de deux votes (les deux nœuds du cluster).&lt;/p&gt;
&lt;h3 id="limitations-et-problématiques-de-la-solution"&gt;Limitations et problématiques de la solution
&lt;/h3&gt;&lt;h4 id="vmware-et-contrôleur-physique"&gt;VMware et Contrôleur Physique
&lt;/h4&gt;&lt;p&gt;Pour partager des disques durs virtuels (RDM ou VMDK), il faut ajouter à la machine virtuelle un « contrôleur de disques SCSI » en « compatibilité physique ». Ceci a pour conséquence de limiter les fonctionnalités disponibles dans VMware :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pas de live vMotion (bascule de VM à chaud)&lt;/li&gt;
&lt;li&gt;Pas de snapshots&lt;/li&gt;
&lt;li&gt;Pas de sauvegarde via l’API VMware (sauvegarde des VMs via l’ESXi « clientless » et sauvegarde granulaire)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="rhcs-et-nombre-de-votes"&gt;RHCS et nombre de votes
&lt;/h4&gt;&lt;p&gt;La salle primaire héberge le quorum disk qui permet de favoriser la salle primaire en cas de « split brain » (voir mon article sur &lt;a class="link" href="https://blog.zwindler.fr/2013/07/07/demarrage-force-avec-moins-de-la-moitie-des-votes-sur-redhat-cluster-suite-split-brain-my-love/" &gt;le démarrage forcé sous RHCS&lt;/a&gt;). Ce mécanisme de sécurité permet d’empêcher d’avoir 2 salles autonomes en même temps ce qui aura pour conséquence de corrompre les données du SI.&lt;/p&gt;
&lt;p&gt;Le cas défavorable de la perte de la salle primaire complète induit un problème important qui ne peut pas être adressé simplement. Dans ce cas de figure, il n’y a plus assez de votes pour que le cluster fonctionne, et l’application s’éteint.&lt;/p&gt;
&lt;p&gt;Il est donc nécessaire de redémarrer manuellement les clusters. Dans l’absolu, ce n’est qu’une commande à passer, mais dans mon cas, j’ai un nombre important de clusters à gérer. La personne d’astreinte ne pourra jamais tenir les SLA de 30 minutes d’indisponibilité.&lt;/p&gt;
&lt;p&gt;Il me parait impossible d’automatiser proprement cette relance du cluster, car c’est un mécanisme trop sensible et les risques de corruption de données sont trop important.&lt;/p&gt;
&lt;h4 id="lvm-vs-mdadm"&gt;LVM vs MDADM
&lt;/h4&gt;&lt;p&gt;Dans la structure pour laquelle je travaille, l’utilisation du mirroring LVM est un choix technique historique héritée de nos clusters MCSG sous HP-UX.&lt;/p&gt;
&lt;p&gt;Sous RHEL 5.X, la gestion des miroirs LVM est complexe et peu adaptée :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;l’agrandissement des volumes nécessite une suppression du miroir, rendant les données temporairement non redondée et réduisant les performances.&lt;/li&gt;
&lt;li&gt;la perte de l’interconnexion - même temporaire - a des effets de bords qui nécessitent également de tout reconstruire et de tout resynchroniser entièrement (membres de miroirs perdus mais pas tous remontés comme tels).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A l’inverse, l’agrandissement d’un disque via MDADM peut se faire à chaud (on agrandi un VMDK, puis l’autre), et la perte temporaire d’un membre ne nécessite pas de le reconstruire complètement.&lt;/p&gt;
&lt;p&gt;Une dernière option - idéale techniquement - est l’utilisation de la réplication de « blocs devices » par &lt;a class="link" href="http://drbd.linbit.com/" target="_blank" rel="noopener"
&gt;DRBD (société LinBIT)&lt;/a&gt;. Elle a été rejetée pour cause d’absence de support de la part de RedHat mais permet de faire exactement ce que l’on souhaite : répliquer des disques au niveau bloc entre deux VMs.&lt;/p&gt;
&lt;h2 id="réplication-des-vmdk-via-vsphere-replication"&gt;Réplication des VMDK via vSphere Replication
&lt;/h2&gt;&lt;p&gt;Et voilà la solution que j’aurai aimé étudier. La facilité. &lt;strong&gt;Le côté obscur donc&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="prérequis-1"&gt;Prérequis
&lt;/h3&gt;&lt;p&gt;Pour utiliser la fonctionnalité vSphere Réplication, il faut disposer d’une licence vSphere Essential Plus (ou mieux), d’un vCenter et de deux datastores distincts.&lt;/p&gt;
&lt;h3 id="architecture-1"&gt;Architecture
&lt;/h3&gt;&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/02/vsphere_replication.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h3 id="réplication-du-disque-os-de-la-vm"&gt;Réplication du disque OS de la VM
&lt;/h3&gt;&lt;p&gt;Avec la licence vSphere Essential Plus, il est possible de réaliser un « pseudo PRA » à l’aide de la fonctionnalité vSphere Replication.&lt;/p&gt;
&lt;p&gt;La machine virtuelle n’est pas doublée comme dans l’architecture précédente. Ici VMware réplique son VMDK en fil de l’eau vers un Datastore secondaire.&lt;/p&gt;
&lt;p&gt;En cas de panne quelconque sur la salle primaire, on bascule la VM sur le serveur ESXi secondaire et on la redémarre sur le disque répliqué (opération manuelle).&lt;/p&gt;
&lt;p&gt;En cas de corruption des filesystems sur le disque OS, on dispose de plusieurs points de restauration dans le temps nous permettant de revenir à un état précédent fonctionnel.&lt;/p&gt;
&lt;h3 id="limitations-et-problématiques-de-la-solution-1"&gt;Limitations et problématiques de la solution
&lt;/h3&gt;&lt;p&gt;Malheureusement je n’ai pas eu l’occasion de le tester, la solution choisie n’étant pas cette solution. Cependant, au vu des besoins énoncés et des ressources à ma disposition, cette solution me parait être celle qui répond à tous les besoins et toutes les problématiques.&lt;/p&gt;</description></item><item><title>Réduire la RAM consommée par VMware vCenter Server Appliance 5.1 (vCSA 5.1)</title><link>https://blog.zwindler.fr/2013/05/07/reduire-la-ram-consommee-par-la-vmware-vcenter-appliance-5-1/</link><pubDate>Tue, 07 May 2013 15:49:57 +0000</pubDate><guid>https://blog.zwindler.fr/2013/05/07/reduire-la-ram-consommee-par-la-vmware-vcenter-appliance-5-1/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/07/vCSA.webp" alt="Featured image of post Réduire la RAM consommée par VMware vCenter Server Appliance 5.1 (vCSA 5.1)" /&gt;&lt;p&gt;Dans le cas où vous auriez la possibilité d’avoir un vCenter pour piloter votre/vos ESXi, vous avez probablement déjà installé vCenter sur un serveur Windows 2003/2008 qui traine (ou une VM), car ça a longtemps été le seul OS capable d’éxécuter l’installeur du vCenter.&lt;/p&gt;
&lt;p&gt;C’était vraiment dommage, surtout quand on sait que ce n’est qu’une bête application Java derrière un Tomcat. Heureusement, après avoir vomi leur rage de Windows pendant des années sur les forums, les développeurs de chez VMware ont enfin pris le temps de penser aux Unixiens et réaliser un portage sous Linux. Il s’agit en fait d’une appliance prête à déployer (Novell Suse en l’occurrence pour l’appliance 5.1).&lt;/p&gt;
&lt;p&gt;Après un bref passage sur le véloce (*ironie*) site de VMware, et un prompt téléchargement de ladite appliance, il est temps de la déployer sur notre hyperviseur préféré!&lt;/p&gt;
&lt;p&gt;Une fois déployée, merci donc de jeter un petit coup d’œil sur la config de l’appliance vCSA (vCenter Server Appliance), ainsi que sur ce site :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://web.archive.org/web/20151121173538/http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2005086" target="_blank" rel="noopener"
&gt;KB VMware (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pourquoi je dis ça? Parce que moi lorsque je l’ai déployé et lancé sans me poser de question, j’ai entendu les disques grater. Mon ESXi s’est rapidement mis à swapper la RAM active de mes VMs&amp;hellip; Oui, je n’ai qu’un petit lab avec 8Go de RAM, et l’appliance prend par défaut &amp;hellip; 8Go de RAM!!!&lt;/p&gt;
&lt;p&gt;Voyons voir ce qu’on peut faire pour y remédier&amp;hellip;&lt;/p&gt;
&lt;p&gt;Déjà, commencez par configurer l’appliance avec un peu moins de RAM, disons 4Go pour commencer (moi j’en suis à 3, et je pense qu’on peut encore faire mieux en désactivant certains composants).&lt;/p&gt;
&lt;p&gt;Démarrez la. Une fois la VM lancée, configurer le vCenter en suivant le programme d’installation. Je ne couvrirai pas cette partie, de nombreux blogs le font déjà.&lt;/p&gt;
&lt;p&gt;Une fois le serveur configuré et que nous sommes logués dessus en console, on remarque tout de suite qu’on a quand même pas mal d’espace pour swapper au cas où Java prendrait un peu trop ses aises !&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;free -m
total       used       free     shared    buffers     cached
Mem:          3017       2939         77          0          3        139
-/+ buffers/cache:       2797        219
Swap:        15366       1206      14160
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Le seul travail qu’à fait VMware ici, c’est faire rentrer un multitude d’applications serveurs Java pour héberger les différents services qui composent la suite vSphere 5.1. Et quand on connait la gloutonnerie de Java&amp;hellip;&lt;/p&gt;
&lt;p&gt;Pour trouver les billes pour réduire la quantité de RAM consommée par cette appliance, je me suis basé sur une partie de la blogosphère qui traite malheureusement majoritairement de la version précédente de l’appliance (v5), et notamment cet article sur &lt;a class="link" href="https://web.archive.org/web/20150401141357/http://www.squishnet.com/?p=375" target="_blank" rel="noopener"
&gt;squishnet.org (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tuning de la base de données&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dans les préconisations des blogueurs qu’on peut y voir parler d’une base DB2. Or à priori, depuis la 5.1, VMware utilisent maintenant une base PostGreSQL&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3       10179904 4268324   5394460  45% /
udev             1544716     104   1544612   1% /dev
tmpfs            1544716       0   1544716   0% /dev/shm
/dev/sda1         130888   20994    103136  17% /boot
/dev/sdb1       20641788  176200  19416948   1% /storage/core
/dev/sdb2       20641788  409008  19184140   3% /storage/log
/dev/sdb3       20635732  319156  19268336   2% /storage/db
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Je commence donc par tuner la mémoire kernel pour PostgreSQL (plus d’infos sur &lt;a class="link" href="http://www.postgresql.org/docs/9.2/static/kernel-resources.html" target="_blank" rel="noopener"
&gt;http://www.postgresql.org/docs/9.2/static/kernel-resources.html&lt;/a&gt;)&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /etc/sysctl.conf
kernel.shmall = 524288
kernel.shmmax = 2147483648
sysctl -w kernel.shmmax=2147483648
sysctl -w kernel.shmall=524288
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Tuning des JVM&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Une fois que c’est fait, on peut maintenant s’attaquer au plus gros problème de cette appliance, les réservations ridicules de mémoires pour l’ensemble des composants Java&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /usr/lib/vmware-vsphere-client/server/bin/dmk.sh
JAVA_OPTS=&amp;#34;$JAVA_OPTS -Xmx512m -Xms512m -XX:PermSize-128m&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;En plus des tweaks qui sont proposés, j’ai regardé les processus Java en cours de fonctionnement, et ai remarqué que le serveur VMware SSO consomme 2Go à lui seul.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ps -ef | grep ssod
[...] -Xms2048m -Xmx2048m [...]
2Go! -_- Même pas en rêve... Personnellement je ne l&amp;#39;utilise même pas dans mon lab, il faudrait que le trouve comme le couper carrément mais en attendant j&amp;#39;ai mis
vi /usr/lib/vmware-sso/bin/setenv.sh
[...] -Xms256m -Xmx512m [...]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Une fois que c&amp;rsquo;est fait, j&amp;rsquo;ai aussi remarqué qu&amp;rsquo;on pouvait modifier le fichier de conf de l&amp;rsquo;Inventory Service (dans le cadre d&amp;rsquo;un petit parc d&amp;rsquo;ESXi et de VMs), ainsi que le composant SPS (VMware vSphere Profile-Driven Storage Service) et les options par défaut des composants vpx.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /usr/lib/vmware-vpx/inventoryservice/wrapper/conf/wrapper.conf
# Initial Java Heap Size (in MB)
wrapper.java.initmemory=256
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=1024
vi /usr/lib/vmware-vpx/sps/wrapper/conf/wrapper.conf
# Initial Java Heap Size (in MB)
wrapper.java.initmemory=256
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=512
vi /etc/vmware-vpx/tomcat-java-opts.cfg
-Xmx512m -XX:MaxPermSize=256m -Dvim.logdir=/var/log/vmware/vpx
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Aftermath (littéralement &amp;ldquo;après les maths&amp;rdquo;)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Après un redémarrage complet (un reboot est le plus crade mais le plus simple), les JVM devraient se tenir un peu plus à carreau. Je ne dis pas que tout fonctionne, car je n&amp;rsquo;ai pas tout testé (notamment le VMwareSSO pour lequel j&amp;rsquo;ai de sérieux doutes vu la quantité de RAM demandé à la base et le peu que je lui ai mis), mais le client VMware lourd ainsi que la version web répondent très bien.&lt;/p&gt;
&lt;p&gt;Voici donc la liste des process java/vmware qui tournent sur la machine après tuning/reboot&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/usr/lib/vmware-vpx/sps/wrapper/bin/./wrapper /usr/lib/vmware-vpx/sps/wrapper/bin/../conf/wrapper.conf (wrapper de vmware-sps)
/usr/java/jre-vmware/bin/java -Xms256m -Xmx512m (vmware-sps)
/usr/lib/vmware-vpx/inventoryservice/wrapper/bin/./wrapper /usr/lib/vmware-vpx/inventoryservice/wrapper/bin/../conf/wrapper.conf (wrapper de vpx/inventoryservice)
/usr/java/jre-vmware/bin/java -XX:PermSize=128m -XX:MaxPermSize=256m -Xms256m -Xmx1024m (vpx/inventoryservice)
/usr/java/jre-vmware/bin/java -Xmx512m -Xms512m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:MaxPermSize=256m (vmware-vsphere-client/server dans /usr/lib/vmware-vsphere-client/server/bin/dmk.sh)
/usr/java/jre-vmware/bin/java -XX:MaxPermSize=256M -Xms512m -Xmx512m (vmware-sso/webapps  dans /usr/lib/vmware-sso/bin/setenv.sh)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Processus auquels je n&amp;rsquo;ai pas touché car je ne suis pas vraiment certain de l&amp;rsquo;eur utilité et que ça ne mange pas beaucoup de RAM&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/usr/java/jre-vmware/bin/java -Xms128m -Xmx512m (vmware-logbrowser ou com.vmware.vide.ws.server ?)
/usr/java/jre-vmware/bin/java -XX:PermSize=64M -Xmx512m -XX:MaxPermSize=256m (vfabric-tc-server-standard et son watchdog perso)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;En tout cas dans mon lab, c&amp;rsquo;est indéniablement mieux que lorsque j&amp;rsquo;avais la RAM de mon host en train de swapper ;-)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BONUS TRACK : VMware Tools&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pour finir de tuner cette appliance, j&amp;rsquo;en profite pour référencer la solution permettant de résoudre le soucis &amp;ldquo;vmware tools non reconnus&amp;rdquo; de la machine virtuelle par l&amp;rsquo;hôte, à l&amp;rsquo;aide des précieuses instructions de virtuallyghetto &lt;a class="link" href="http://www.virtuallyghetto.com/2011/07/tips-and-tricks-for-vma-5.html" target="_blank" rel="noopener"
&gt;http://www.virtuallyghetto.com/2011/07/tips-and-tricks-for-vma-5.html&lt;/a&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/etc/init.d/vmware-tools-services stop
cp VMwareTools-9.0.0-782409.tar.gz /tmp/
cd /tmp
tar xzf VMwareTools-9.0.0-782409.tar.gz
cd vmware-tools-distrib
./vmware-install.pl
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Accepter toutes les valeurs par défaut, et &lt;strong&gt;ignorer l&amp;rsquo;erreur&lt;/strong&gt; lorsque l&amp;rsquo;installeur indique que gcc n&amp;rsquo;est pas présent car il n&amp;rsquo;est pas nécessaire. Après ça, le client VMware Tools sera bien affiché comme &lt;strong&gt;à jour&lt;/strong&gt; dans l&amp;rsquo;interface vSphere.&lt;/p&gt;</description></item></channel></rss>