5 Outils en ligne de commande De nombreuses astuces importantes vous demanderont de quitter vcenter et de passer sur la console. Dans ce chapitre, nous examinerons, entre autres, plusieurs outils en ligne de commande importants qui vous aideront à surveiller et à configurer votre serveur ESX. Par ailleurs, nous présenterons les bonnes pratiques de configuration des services essentiels à votre serveur ESX. 5.1 Entrer en mode maintenance Vous souhaitez placer le serveur ESX en mode maintenance, mais vous n avez pas accès à l interface graphique de vcenter. Ouvrez une session sur l hôte ESX via SSH ou directement à partir de la console. Pour passer en mode maintenance, exécutez la commande suivante : vimsh -n -e /hostsvc/maintenance_mode_enter La commande suivante quitte le mode maintenance : vimsh -n -e /hostsvc/maintenance_mode_exit Ces commandes ne sont ni documentées ni reconnues par VMware. Toutefois, elles fonctionnent parfaitement avec ESX 3.x. Vous pouvez également utiliser VI Perl Tool- Kit pour entrer dans le mode maintenance au travers de l API fournie par VMware.
160 VMware par l exemple 5.2 Afficher les informations du serveur Vous souhaitez obtenir des informations sur le serveur ESX. Exécutez la commande esxcfg-info sur le serveur ESX. La commande esxcfg-info constitue une solution simple mais puissante pour s informer sur le serveur ESX et son environnement. Par son intermédiaire, vous pouvez obtenir des informations détaillées sur la configuration et le matériel du serveur : $ esxcfg-info -h Usage: esxcfg-info mode -a, --all Print all information -w, --hardware Print hardware information -r, --resource Print resource information -s, --storage Print storage information -n, --network Print network information -y, --system Print system information -o, --advopt Print advanced options -u, --hwuuid Print hardware uuid -b, --bootuuid Print boot partition uuid -e, --boottype Print boot type -c, --cmdline Print vmkernel command line -F, --format Print the information in the given format Valid values are "xml" and "perl" -h, --help Print this message. En combinant les options, vous ciblez les informations qui seront affichées. Si vous exécutez la commande esxcfg-info seule ou avec l option -a, toutes les valeurs sont affichées. L exemple suivant présente les quelques premières lignes du résultat obtenu sur l un de nos systèmes : $ esxcfg-info more +Host : \==+Hardware Info : ----BIOS UUID...0x44 0x45 0x4c 0x4c 0x34 0x0 0x10 0x38 0x80 0x56 0xb6 0xc0 0x4f 0x4b 0x46 0x31 ----Product Name...PowerEdge R900 ----Vendor Name...Dell Inc. ----Serial Number...XXXXXXXX ----Hardware Uptime...1762529093951... Les informations fournies par cette commande sont si complètes qu il peut être plus pratique de les enregistrer dans un fichier texte : esxcfg-info > esxcfginfo12102008.txt
Chapitre 5 Outils en ligne de commande 161 L option -F permet également d exporter les données au format XML ou Perl. Elle sera utile si vous souhaitez analyser la sortie et l enregistrer dans une application propriétaire ou tierce partie. Par exemple, voici comment exporter au format XML les informations qui concernent le réseau et le stockage (nous avons tronqué la sortie pour une question de place) : $ esxcfg-info -s -n -F xml more <network-info> <value name="current-max-virtual-switches" type="uint32" format="dec">128</value> <value name="next-reboot-max-virtual-switches" type="uint32" format="dec">128</value> <console-nic-info> <console-nics> <vswif> <value name="name" type="string">vswif0</value> <value name="port-group" type="string">service Console</value> <value name="port-id" type="uint32" format="dec">16777221</value> <value name="enabled" type="bool">true</value> <value name="exists" type="bool">true</value> <value name="mac-address" type="string">00:50:56:41:a6:93</value> <value name="mtu" type="uint32" format="dec">1500</value> <configured-ip-settings> <value name="type" type="string">static</value> <value name="ipv4-address" type="string">192.168.46.2</value> <value name="ipv4-netmask" type="string">255.255.255.0</value> <value name="ipv4-broadcast" type="string">192.168.46.255</value> <value name="valid-config" type="bool">true</value> </configured-ip-settings> <actual-ip-settings> <value name="type" type="string">static</value> <value name="ipv4-address" type="string">192.168.46.2</value> <value name="ipv4-netmask" type="string">255.255.255.0</value> <value name="ipv4-broadcast" type="string">192.168.46.255</value> <value name="valid-config" type="bool">true</value> </actual-ip-settings> </vswif> </console-nics> </console-nic-info> 5.3 Afficher la version d ESX Vous souhaitez déterminer la version d ESX que vous utilisez. Cette information peut être nécessaire pour différentes raisons, par exemple lors d une mise à niveau ou lors d une demande d aide au support technique.
162 VMware par l exemple Il existe plusieurs manières d obtenir la version d ESX, notamment les deux solutions simples suivantes que nous examinerons : n affichage dans vcenter ; n création d un rapport. Pour connaître la version d ESX en utilisant vcenter, cliquez sur l hôte ESX. La version est affichée à la droite du nom d hôte. Par exemple, la Figure 5.1 montre que nous utilisons ESX 3.5.0 build 207095. Figure 5.1 Affichage de la version d ESX dans vcenter. Si vous devez enregistrer la version, vous pouvez générer un rapport depuis vcenter. Choisissez FILE > REPORT > HOST SUMMARY et sauvegardez le fichier. L information de version se trouve dans les résultats. 5.4 Changer le pilote de disque virtuel de BusLogic à LSI Logic Vous devez changer le pilote SCSI du disque virtuel après la conversion d un serveur physique en un serveur virtuel. Utilisez vcenter pour procéder à la modification. Après avoir utilisé l application Converter de VMware, vous pourrez remarquer que le contrôleur SCSI de la machine virtuelle est de type non pas LSI Logic mais BusLogic. En effet, pour certains systèmes d exploitation, notamment Windows 2003, Converter utilise automatiquement le pilote BusLogic, alors que le pilote LSI Logic est utilisé lorsque vous créez une nouvelle machine virtuelle à partir du client vcenter. Puisque le pilote LSI Logic offre de meilleures performances, il est préférable de l activer :
Chapitre 5 Outils en ligne de commande 163 1. Ouvrez une session sur le serveur vcenter, allez sur la machine virtuelle dont vous souhaitez modifier le bus/contrôleur et stoppez-la. 2. Lorsque la machine virtuelle est arrêtée, ouvrez l onglet SUMMARY, puis cliquez sur EDIT SETTINGS. 3. Dans la nouvelle fenêtre qui apparaît, sélectionnez l option SCSI CONTROLLER 0 dans l onglet HARDWARE (voir Figure 5.2). Figure 5.2 Configuration du matériel dans vcenter. 4. Cliquez sur le bouton CHANGE TYPE. Dans la nouvelle fenêtre qui apparaît, vous pouvez modifier le type de contrôleur SCSI (voir Figure 5.3). Choisissez le type que vous souhaitez activer (dans notre cas, LSI Logic). Un avertissement signale que la modification du contrôleur peut avoir des résultats inattendus lors du démarrage de la machine virtuelle.
164 VMware par l exemple Figure 5.3 Modification du type de contrôleur SCSI. 5. Pour terminer la procédure, cliquez sur OK. Puis, de retour à l écran SETTINGS, cliquez sur OK. VMware procède aux changements nécessaires et convertit la machine virtuelle pour qu elle utilise le nouveau contrôleur SCSI. 6. Démarrez la machine virtuelle pour finaliser la modification. 7. Une fenêtre Virtual Machine Question s affiche. Elle vous engage à faire preuve de prudence lors d une modification du type de contrôleur. Sélectionnez YES, puis cliquez sur OK (voir Figure 5.4). Si la machine virtuelle ne parvient pas à s initialiser avec le nouveau pilote, revenez à l ancien pilote et redémarrez-la. Figure 5.4 Avertissement lors de l amorçage de la machine virtuelle. 5.5 Masquer l icône des VMware tools À l instar de nombreux utilisateurs VMware, vous souhaitez masquer ou retirer l icône des VMware tools et vous êtes frustré car ils ne le permettent pas. Modifiez le registre de Windows de façon à masquer l icône des outils.
Chapitre 5 Outils en ligne de commande 165 Lancez l éditeur de registre et allez à la clé suivante : HKEY_CURRENT_USER\Software\VMware, Inc.\VMware Tools\ShowTray ATTENTION Procédez avec prudence et commencez par effectuer une sauvegarde du registre. Fixez la variable ShowTray à 0 (zéro) et enregistrez la modification. Redémarrez la machine virtuelle pour que le nouveau paramètre soit pris en compte : l icône des outils est à présent masquée. 5.6 Vider un long journal d une machine virtuelle Le fichier de journalisation d une machine virtuelle est devenu très volumineux. Videz le journal à partir de la ligne de commande. Pour supprimer l intégralité du contenu du journal, tout en conservant le fichier de manière à accepter de nouveaux messages, ouvrez une session sur la console du serveur ESX et allez dans le répertoire de la machine virtuelle (par exemple /vmfs/volumes/ storage1/testvm01). Exécutez ensuite la commande suivante : cat /dev/null > vmware.log Vous pouvez évidemment commencer par effectuer une sauvegarde de ce fichier si vous avez besoin de conserver les informations à des fins juridiques, légales ou d analyse. Cette commande vous permet de libérer l espace occupé par le fichier de journalisation sans redémarrer la machine virtuelle. Si vous avez la possibilité d arrêter la machine virtuelle, vous pouvez mettre en place des mécanismes de contrôle des journaux plus sophistiqués.
166 VMware par l exemple 5.7 Afficher les partitions disque Vous souhaitez afficher les informations concernant les montages actuels et les disques connectés au serveur ESX. Utilisez la commande vdf -h pour afficher ces informations. VMware propose la commande vdf, qui est comparable à la commande Linux df. Tout comme df affiche des informations concernant les systèmes de fichiers Linux, vdf présente les systèmes de fichiers VMFS montés. Voici un résultat type produit par cette commande : $ vdf -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 4.9G 1.4G 3.2G 31% / /dev/sda1 99M 28M 67M 30% /boot none 132M 0 132M 0% /dev/shm /dev/sda6 2.0G 107M 1.8G 6% /var/log /vmfs/devices 67G 0 67G 0% /vmfs/devices /vmfs/volumes/475eb4d4-9b600ac2-1a89-0015c5f2406a 60G 560M 59G 0% /vmfs/volumes/esx2:storage1 /vmfs/volumes/47668165-05f97e46-5570-001b210cb31c 408G 34G 373G 8% /vmfs/volumes/esxclusterds /vmfs/volumes/4766e976-80ec4aa8-0ade-001b210caf2e 499G 178G 321G 35% /vmfs/volumes/esxtemplateds /vmfs/volumes/47cd6dd2-31a2a254-a6a1-001e4f1e7171 1.1T 3.2G 1.1T 0% /vmfs/volumes/esxcluster2ds Cet exemple montre les disques et les partitions de notre système d exploitation local, ainsi que les systèmes de fichiers reconnus uniquement par le serveur ESX. À titre de comparaison, voici la sortie produite par la commande df sur le même serveur : $ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 4.9G 1.4G 3.2G 31% / /dev/sda1 99M 28M 67M 30% /boot none 132M 0 132M 0% /dev/shm /dev/sda6 2.0G 107M 1.8G 6% /var/log Vous aurez remarqué que les volumes VMFS ne sont pas mentionnés.