VMWare ESXi : Créer manuellement une partition de coredump

Dans cet article, nous allons voir comment créer manuellement une partition de coredump, utilisée notamment pour récupérer les informations de débuggage lors d’un plantage d’un ESXi.

Pré-requis : Il faut avoir accès à la ligne de commande via ssh à l’hyperviseur ESXi. Le datastore vmfs local  doit également être vide car il sera supprimé lors de la manipulation.

Tout d’abord, nous allons utiliser la commande esxcfg-mpath -b afin de déterminer le nom de device associé au disque dur local :

[root@esxi:~]  esxcfg-mpath -b  
 naa.61866da0b8241a0020ee3286154ea8af : Local DELL Disk (naa.61866da0b8241a0020ee3286154ea8af)
 vmhba0:C2:T0:L0 LUN:0 state:active sas Adapter: 51866da0b8241a00  Target: 60ee3286154ea8af

Dans notre cas, le device se nomme naa.61866da0b8241a0020ee3286154ea8af

Nous allons ensuite utiliser la commande partedUtil getptbl « /vmfs/devices/disks/naa.61866da0b8241a0020ee3286154ea8af »  pour visualiser le partitionnement actuel du disque :

[root@esxi:~] partedUtil getptbl "/vmfs/devices/disks/naa.61866da0b8241a0020ee3286154ea8af"
gpt
36404 255 63 584843264
1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
5 208896 1232895 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 1234944 2258943 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 2260992 15470591 4EB2EA3978554790A79EFAE495E21F8D vmfsl 0
8 15472640 584843230 AA31E02A400F11DB9590000C2911D1B8 vmfs 0

Nous remarquons que le datastore  vmfs est la partition 8, qu’il commence au secteur 15472640, se termine au secteur 584843230 et qu’il possède le GUID AA31E02A400F11DB9590000C2911D1B8 (correspondant à un datastore vmfs).
Ces GUID sont fixés par vmware. La liste des GUID peut être obtenue par la commande  partedUtil showGuids :

[root@esxi:~] partedUtil showGuids
 Partition Type       GUID
 vmfs                 AA31E02A400F11DB9590000C2911D1B8
 vmkDiagnostic        9D27538040AD11DBBF97000C2911D1B8
 vsan                 381CFCCC728811E092EE000C2911D0B2
 virsto               77719A0CA4A011E3A47E000C29745A24
 VMware Reserved      9198EFFC31C011DB8F78000C2911D1B8
 Basic Data           EBD0A0A2B9E5443387C068B6B72699C7
 Linux Swap           0657FD6DA4AB43C484E50933C84B4F4F
 Linux Lvm            E6D6D379F50744C2A23C238F2A3DF928
 Linux Raid           A19D880F05FC4D3BA006743F0F84911E
 Efi System           C12A7328F81F11D2BA4B00A0C93EC93B
 Microsoft Reserved   E3C9E3160B5C4DB8817DF92DF00215AE
 Unused Entry         00000000000000000000000000000000

Il nous faut donc supprimer cette partition 8 afin d’y récupérer de l’espace pour pouvoir y recréer 2 partitions : une partition de type vmkDiagnostic et un nouveau datastore vmfs.
Pour supprimer la partition, la méthode la plus simple est de supprimer le datastore local depuis l’interface d’administration de l’ESXi. Il est également de le faire à l’aidre de la commande partedUtil.

Une fois la partition supprimée, la commande partedUtil getptbl « /vmfs/devices/disks/naa.61866da0b8241a0020ee3286154ea8af » affiche alors :

[root@esxi:~] partedUtil getptbl "/vmfs/devices/disks/naa.61866da0b8241a0020ee3286154ea8af"
 gpt
 36404 255 63 584843264
 1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
 5 208896 1232895 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
 6 1234944 2258943 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
 7 2260992 15470591 4EB2EA3978554790A79EFAE495E21F8D vmfsl 0

Le chiffre 36404 correspond au nombre de cylindres adressable (0-36404), 255 au nombre de têtes (0-255) et 63 au nombre de secteurs par piste (0-63).
La commande esxcli storage core device capacity list permet de connaitre les caractéristiques du disque :

[root@esxi:~] esxcli storage core device capacity list
 Device                                Physical Blocksize  Logical Blocksize  Logical Block Count         Size  Format Type
 ------------------------------------  ------------------  -----------------  -------------------  -----------  -----------
 mpx.vmhba2:C0:T5:L0                                  512                512                    0        0 MiB  512n
 naa.61866da0b8241a0020ee3286154ea8af                 512                512            584843264   285568 MiB  512n

Nous voyons donc que la taille d’un bloc est de 512 octets.
Une partition de coredump doit faire au moins 100Mo. Pour l’exemple, nous allons faire une partition de 200Mo.
Il faudra 200000000/512 = 390625 secteurs pour y loger cette partition. L’ancienne partition 8 commençait au secteur 15472640. Nous allons faire commencer cette nouvelle partition sur ce secteur
et nous allons la faire terminer sur le secteur 15472640+390625=15863265.

Nous allons donc créer cette nouvelle partition 8 avec un GUID de type vmkDiagnostic :

partedUtil add "/vmfs/devices/disks/naa.61866da0b8241a0020ee3286154ea8af" "gpt" "8 15472640 15863265 9D27538040AD11DBBF97000C2911D1B8 0" 

Nous allons ensuite recréer un datastore vmfs dont le premier secteur sera le multiple de 64 directement supérieur à 15863265 (afin d’aligner la partition sur le
premier secteur du cylindre suivant). En l’occurrence, ici, la partition commencera donc au secteur 15863296. Pour le dernier secteur, nous utiliserons la valeur correspondante de l’ancienne partition 8.
Cette nouvelle partition portera le numéro 9 et utilisera un GUID de type vmfs.

partedUtil add "/vmfs/devices/disks/naa.61866da0b8241a0020ee3286154ea8af" "gpt" "9 15863296 584843230 AA31E02A400F11DB9590000C2911D1B8 0"

Nous allons afficher maintenant les partitions de type coredump reconnues par le systeme :

[root@esxi:~] esxcli system coredump partition list
 Name                                    Path                                                        Active  Configured
 --------------------------------------  ----------------------------------------------------------  ------  ----------
 naa.61866da0b8241a0020ee3286154ea8af:8  /vmfs/devices/disks/naa.61866da0b8241a0020ee3286154ea8af:8   false       false

La partition 8 est donc bien détectée mais elle n’est ni configurée ni active. Nous allons donc le faire :

esxcli system coredump partition set --partition="naa.61866da0b8241a0020ee3286154ea8af::8"
esxcli system coredump partition set --enable true

La commande affiche alors :

[root@esxi:~] esxcli system coredump partition list
 Name                                    Path                                                        Active  Configured
 --------------------------------------  ----------------------------------------------------------  ------  ----------
 naa.61866da0b8241a0020ee3286154ea8af:8  /vmfs/devices/disks/naa.61866da0b8241a0020ee3286154ea8af:8    true        true

La partition coredump est donc maintenant configurée et active.
Il ne nous reste plus qu’à formater la partition 9 en vmfs :

vmkfstools -C vmfs6 -S esxi-local /vmfs/devices/disks/naa.61866da0b8241a0020ee3286154ea8af:9

vSphere Data Protection : Configurer l’agent SNMP

vSphere Data Protection (VDP) est une solution de sauvegarde et de restauration sur disque. Elle remplace VMware Data Recovery sous vSphere 5.1. VDP est fourni sous forme d’appliance et s’intègre avec VMware vCenter Server. Cette appliance s’appuie sur une distribution SUSE.

Dans cette documentation, nous allons configurer l’agent SNMP sur la machine virtuelle hébergeant vSphere Data Protection (l’agent SNMP est déjà installé).

– Éditez le fichier de configuration suivant : vi /etc/snmp/snmpd.conf.1

com2sec supervision xxx.xxx.xxx.xxx  public

group ROGroupSupervision v1         supervision
group ROGroupSupervision v2c         supervision
...
view    all            included      .1              80
...
access ROGroupSupervision ""      any       noauth    exact  all    none   none

xxx.xxx.xxx.xxx correspond à l’adresse du serveur de supervision.

– Renommez ce fichier de configuration : mv /etc/snmp/snmpd.conf.1 /etc/snmp/snmpd.conf
– Lancez immédiatement l’agent SNMP : service snmpd start
– Lancez l’agent SNMP au démarrage de la machine : chkconfig snmpd on

Il faut également autoriser le port 161 en UDP dans le pare-feu.

– Éditez le fichier contenant les règles du pare-feu : vi /etc/firewall.default

# 10. Allow SNMP traffic
# management console traffic
$IPT -A INPUT -p udp --dport 161 -j ACCEPT

– Redémarrez le service suivant pour prendre en compte cette modification : service avfirewall restart

VMware WSX : Accéder à une machine virtuelle depuis un navigateur Web

VMware WSX est une fonctionnalité apparue avec VMware Workstation 9. Elle permet aux utilisateurs d’accéder à distance à des machines virtuelles directement depuis un simple navigateur Web et sans aucun plug-in. La technologie HTML 5 est utilisée pour le déport d’affichage.

Depuis le site de VMware, téléchargez la version pour Windows de VMware WSX dans la rubrique consacrée à VMware Workstation.

Lancez l’exécutable Vmware-WSX-Server-1.0.0-842025.msi. L’assistant d’installation de VMware WSX s’ouvre. Cliquez sur le bouton Next.

Acceptez la licence d’utilisation. Vous devez choisir le port d’écoute pour le protocole HTTP (par défaut, 8888). Cliquez sur le bouton Next.

Cliquez sur le bouton Install pour procéder à l’installation de VMware WSX, puis Finish pour quitter l’assistant d’installation. Dans les services Windows, on peut vérifier que le service VMware WSX Service est en fonctionnement.

A l’aide de votre navigateur Web, allez à l’adresse suivante http://localhost:8888/. Un compte local membre du groupe Administrateurs est nécessaire pour s’authentifier. A noté que les utilisateurs de domaine ne sont pas supportés.

VMware WSX fonctionne avec les dernières version de Chrome, Firefox, Safari.

La page d’accueil est le point d’entrée pour accéder à vos serveurs. Si vous avez installé VMware WSX sur la même machine que VMware Workstation 9, ce qui est notre cas, les machines virtuelles que vous avez partagé seront répertoriées dans la partie Share VMs (localhost).

Vous pouvez aussi vous connecter à des serveurs VMware ESXi distant en cliquant sur le bouton Add a server.

Une machine virtuelle partagée est une machine virtuelle exécutée sur un système hôte où les utilisateurs peuvent y accéder à distance, en fonction de leurs permissions.

Depuis VMware Workstation 9, nous allons partager une machine virtuelle. Pour commencer, il est nécessaire de vérifier que le service VMware Workstation Server est activé dans les préférences. Ce qui est le cas, par défaut.

Ensuite, sélectionnez la machine virtuelle et allez dans le menu VM, Manage et cliquez sur Share.

L’assistant d’installation de Share Virtual Machine Wizard s’ouvre. Cliquez sur le bouton Next.

Entrez le nom de la machine virtuelle à partagée et sélectionnez l’option Move the virtual machine pour la déplacer dans l’emplacement correspondant aux machines virtuelles partagées. Cliquez sur le bouton Finish.

Une fois l’opération de déplacement est terminée, vous pouvez cliquer sur le bouton Close.

La machine virtuelle partagée se trouve à présent sous le nœud Shared VMs.

Nous allons vérifier les permissions pour les machines virtuelles partagées. Dans le menu surgissant de Shared VMs, cliquez sur Permissions.

Par défaut, le groupe local Administrateurs possède le rôle Administrator. Cliquez sur le bouton OK.

Depuis l’interface Web de VMware WSX, cliquez sur Shared VMs (localhost).

Entrez les identifiants de connexion pour accéder aux machines virtuelles partagées.

La liste des des machines virtuelles sont listées. Cliquez sur une machine virtuelle pour y accéder.

Vous pouvez démarrer, arrêter ou suspendre la machine virtuelle. A noté que le clavier est en QWERTY.

Vous pouvez lancer plusieurs applications Windows pour tester le fonctionnement.

Plusieurs actions peuvent être effectué à travers les icônes situés en bas à droite de la console :
– Rechargement de la page
– Affiche le clavier pour les tablettes
– Envoie la combinaison de touches Ctrl+Alt+Delete
– Cacher le panel de gauche
– Mettre en plein écran

Le fonctionnement en local validé, nous allons ajouter une nouvelle règle dans le pare-feu pour pouvoir se connecter à VMware WSX à distance.

Depuis la console Pare-feu Windows avec fonctions avancées de sécurité, créez une nouvelle règle entrante.

Sélectionnez l’option TCP et l’option Ports locaux spécifiques. Entrez 8888 comme port local (port de VMware WSX, par défaut). Cliquez sur le bouton Suivant.

Sélectionnez l’option Autoriser la connexion et cliquez sur le bouton Next.

Cochez les profils qui s’applique à cette règle. Cliquez sur le bouton Suivant.

Entrez le nom pour cette nouvelle règle et cliquez sur le bouton Terminer.

La règle est créé dans le pare-feu.

Vous pouvez maintenant vous connecter à distance à VMware WSX.