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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.