Je suis amené a tester tout un tas de softs pour mon boulot. La semaine dernière je voulais maquetter une plateforme RHEV (ou ovirt) sur mon infrastructure VMware. Hors lors de l’installation des nœuds « compute » ceux-ci m’affichait le message d’erreur suivant :

Le problème viens de l’ESXi, par défaut il ne présente pas le hardware virtuel aux machines virtuelles. Pour qu’il le fasse, et surtout pour exécuter des machines virtuelles dans RHEV,  il faut effectuer deux modifications :

  • Sur le serveur ESXi il faut modifier le fichier /etc/vmware/config et ajouter en fin de fichier (pris a chaud par le système) :

vhv.allow = TRUE

  • Arrêter la machine virtuelle puis ajouter dans le VMX de la machine virtuelle :


cpuid.1.ecx="----:----:----:----:----:----:--h-:----"
cpuid.80000001.ecx.amd="----:----:----:----:----:----:----:-h--"
cpuid.8000000a.eax.amd="hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh"
cpuid.8000000a.ebx.amd="hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh"
cpuid.8000000a.edx.amd="hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh"

Référence: KB VMware

J’ai installé il y pas mal de temps un pfsense en frontal histoire de tester un peu l’outil en suivant un très bon tuto en français ou bien ici en anglais.

Le seul problème c’est que l’astuce pour monter la route par défaut ne fonctionne pas en utilisant le shellcmd. En lisant la documentation de pfsense, je me suis rendu compte qu’il était possible d’appeler un script au démarrage de la machine en effectuant les opérations suivantes :

touch /usr/local/etc/rc.d/gateway.sh

avec le contenu suivant

route add -net X.X.X.254/32 -iface em0  <= X.X.X.254 étant votre gateway
route add default X.X.X.254

N’oubliez pas de le rendre exécutable.

chmod+x/usr/local/etc/rc.d/gateway.sh

et c’est tout !

Edit : Et ça tiens les upgrade en plus !

Depuis longtemps je suis un grand fan de XBMC (ah, les longues nuits passées sur la xbox …), depuis les temps on changés et j’installe maintenant XBMC sur une machine qui fait office de mediacenter (cela fera l’objet d’un autre article).

Étant donné que j’ai deux XBMC (un pour le salon et un pour le bureau), j’ai mis en place un Mysql sur mon NAS en suivant une des nombreuses documentations disponible sur internet afin de bénéficier des fonctionnalités amenées par le multi-accès.

Le problème c’est que les temps d’accès étaient très longs et que je n’aime pas ça !

La cause venant de la configuration MYSQL inclus dans le NAS car il utilise des options par défaut qui ne sont pas adapté. Comme les NAS Synology sont des supers produits, ils ont pensé à inclure des fichiers de configurations pré-remplies adaptés à divers environnements. Dans mon cas j’utilise le fichier en environnement medium.

cd /usr/syno/mysql/share/mysql
cp my-medium.cnf /usr/syno/mysql/my.cnf

De plus afin d’accélérer accès réseau, on ajoute au fichier de configuration dans la section [mysqld]

skip-name-resolve

Puis on redémarre le MYSQL

/usr/syno/etc/rc.d/S21mysql.sh restart

De plus j’ai créé les index comme indiqué dans le premier lien qui est en référence.

Avec ces modifications pour ma part c’est le jour et la nuit !

Références :

  1. XBMC MySQL database optimisation
  2. Configuration-du-serveur-mysql

C’est un mémo pour moi même afin de ne pas rechercher en permanence comment faire pour installer les VMware tools sur une machine virtuelle debian 6.

Pré-Requis :

apt-get install gcc build-essential linux-headers-`uname -r` libglib2.0-dev

Monter les VMware tools dans le lecteur de la machine virtuelle puis :

mount /dev/cdrom /mnt
tar xzvf /mnt/VMwareTools-8.6.0-425873.tar.gz -C /root
perl /root/vmware-tools-distrib/vmware-install.pl

puis valider jusqu’au bout !

J’ai expérimenté lors de l’une des dernières mises à jour de wordpress des lenteurs extrême lors de la connexion à l’interface d’administration.

Après m’être battu avec NGINX et PHP-FPM pour voir si cela venait d’un des deux éléments (aussi bien en reverse proxy qu’en serveur web), j’ai finalement trouvé (grâce à ce post) la solution. Il suffi de créer le fichier /etc/php.d/apc.ini avec le contenu suivant :

extension=apc.so
apc.shm_size="196"
apc.ttl=0
apc.max_file_size="10M"

et redémarrer le service php-fpm

service php-fpm restart

Il ne vous reste plus qu’à profiter d’une interface d’administration rapide.

A chaque version de Zimbra, de nouvelles fonctionnalités apparaissent sans que l’annonce soit faite.
Dans la version 7 de Zimbra, deux scripts ont fait leurs apparitions : vmware-appmonitor et vmware-heartbeat.
Le premier est l’exécutable développé par VMware permettant le dialogue avec l’hôte physique grâce aux vmware tools, le second est, quant à lui, un script de vérification applicatif. Dans notre cas celui-ci vérifie que les composants de Zimbra fonctionne correctement.
Si ceux-ci sont « OK » alors, le script renvoi à vSphere le statut « OK » via l’applicatif vmware-appmonitor.
Si un des services critique est « KO » alors le script renvoi l’erreur au vSphere qui au bout de 3 fois (paramétrage par défaut), redémarre la machine.

Attention, ne pas mettre en production ceci est à des fins de tests !

Mise en place

Dans un premier temps, vérifiez que votre cluster vSphere comprend bien l’option de surveillance d’application.

Puis connectez-vous a votre serveur Zimbra et exécutez les commandes suivantes :

1. sed -i -e '146 s/^/#/' -e '145 s/^#//' /opt/zimbra/libexec/vmware-heartbeat

2. echo "export LD_LIBRARY_PATH=/opt/zimbra/lib" >> /opt/zimbra/.bashrc

Explication

1. Par défaut le script de check retourne en permanence OK au vSphere, on modifie donc celui-ci pour qu’il exécute zmcontrol et retourne la bonne valeur.

2. Lorsque l’on exécute le scipt en tant qu’utilisateur Zimbra, celui-ci n’a pas le chemin vers les dépendances. On ajoute donc le chemin dans le PATH.

On peut maintenant lancer le script.

su - zimbra

/opt/zimbra/libexec/vmware-heartbeat start

Si l’on veut suivre l’exécution du script, on peut regarder dans /opt/zimbra/log/vmware-heartbeat.log. Si tout ce passe bien, alors vous aurez quelque chose comme ça :

Fri Jul  6 20:10:16 2012: Checking ZCS status
Fri Jul  6 20:10:25 2012: Sending heartbeat to VM

Nous allons provoquer un arret de service de Zimbra :
su - zimbra
ldap stop

Dans le fichier de log vous verrez que le service ne retourne rien, c’est au bout de trois fois que le script renvoi au vSphere de redémarrer la machine.

Unable to determine enabled services from ldap.
Enabled services read from cache. Service list may be inaccurate.
Mon Jul  9 01:37:47 2012: Checking ZCS status
Unable to determine enabled services from ldap.
Enabled services read from cache. Service list may be inaccurate.
Mon Jul  9 01:38:12 2012: Checking ZCS status
Unable to determine enabled services from ldap.
Enabled services read from cache. Service list may be inaccurate.

Au niveau du vSphere vous aurez l’erreur suivante :

Et le serveur sera redémarré dans la foulée !

Cette fonctionnalité est intéressante, mais n’est pas encore mure. En effet, elle vérifie l’intégralité  des services via la commande zmcontrol, celle-ci est relativement longue et c’est pour cela qu’elle est commenté dans le script d’origine.

Ce script nous montre un bout de ce que sera la prochaine version de Zimbra.