Vérification de l’état du disque physique vSAN à partir de l’interface utilisateur Web :
Connectez-vous au client Web vCenter Server et vérifiez l’état du disque à partir de :
Inventaire > Hôte et clusters > Cluster > vSAN Configuration > de la gestion des disques vSAN Image 1 : vue Gestion des disques vSAN Sélectionnez l’hôte concerné, puis développez la section Afficher le disque :Image 2 : Vue du groupe de disques vSAN >Ici, vous pouvez vérifier si un disque est détecté comme :
Unhealthy
Unmounted
0 Capacity
permanent disk failure
Disk Down
Disk Absent
En outre, recherchez les alarmes liées aux disques déclenchées à partir de la section Intégrité de Skyline vSAN :
Inventaire > Hôte et clusters > Cluster > vSAN Surveiller > vSAN > Intégrité > Skyline Disque
physique Image 3 : Vue
Intégrité Skyline Ici, vous pouvez vérifier si l’une des alarmes suivantes s’est déclenchée :
Panne de disque permanente imminente, les données sont en cours d’évacuation (état d’intégrité : jaune).
Défaillance imminente du disque permanente, échec de l’évacuation des données en raison d’un manque de ressources (état d’intégrité : rouge).
Défaillance imminente du disque permanente, échec de l’évacuation des données en raison d’objets inaccessibles (état d’intégrité : rouge).
Défaillance imminente du disque permanente, évacuation des données terminée (état de santé : jaune)
Vous pouvez également vérifier l’état du disque à partir de la liste des périphériques de stockage de l’hôte concerné :
Inventaire > Hôte et clusters Cluster vSAN Hôte >> ESXi concerné Configurer > le stockage Périphériques de stockage > Image 4 :>
Vue
Host Storage Devices Ici, vous pouvez vérifier si l’état d’un disque est :
0 Capacity
Disk Absent
Disk Unmounted
Vérifiez si une resynchronisation est en cours :
Inventaire > Hôte et clusters Surveillance du > cluster >> vSAN Objets de resynchronisation vSAN >:Image 5 :
Resynchronisation de la vue Objects
Remarque : Une resynchronisation peut indiquer que les données sont en cours d’évacuation d’un disque ou d’un groupe de disques affecté. Un examen plus approfondi est nécessaire pour déterminer si le disque concerné est prêt à être retiré ou remplacé.
Vérifiez l’état des objets vSAN :
Inventaire > Hôte et clusters Surveillance > du cluster > vSAN Données d’intégrité > vSAN > Skyline Intégrité > de l’objet vSAN Image 6 : vue de l’intégrité > de l’objet
vSAN
Remarque : Il est important de vérifier qu’il n’y a pas d’objets inaccessibles. « Objet inaccessible » signifie « toutes les copies de l’objet sont manquantes ». Si vous retirez ou remplacez un disque qui peut provoquer une perte de données
L’étape suivante consiste à recueillir plus d’informations sur le problème via la CLI et à vérifier les journaux :Vérification de l’état du disque physique vSAN à partir de la CLI :Connexion via SSH à l’hôte concerné et exécution des commandes suivantes :
vdq -qH
Vérifiez le paramètre « IsPDL » (perte d’appareil permanente). S’il est égal à 1, le disque est perdu.
Exemple :
DiskResults:
DiskResult[0]:
Name: naa.600508b1001c4b820b4d80f9f8acfa95
VSANUUID: 5294bbd8-67c4-c545-3952-7711e365f7fa
State: In-use for VSAN
ChecksumSupport: 0
Reason: Non-local disk
IsSSD?: 0
IsCapacityFlash?: 0
IsPDL?: 0
<<truncated>>
DiskResult[18]:
Name:
VSANUUID: 5227c17e-ec64-de76-c10e-c272102beba7
State: In-use for VSAN
ChecksumSupport: 0
Reason: None
IsSSD?: 0
IsCapacityFlash?: 0
IsPDL?: 1
vdq -iH
Vérifiez s’il manque un disque dans le groupe de disques.
Exemple :
Mappings:
DiskMapping[0]:
SSD: naa.58ce38ee2016ffe5
MD: naa.5002538a4819e3e0
DiskMapping[2]:
SSD: naa.58ce38ee2016fe55
MD: naa.5002538a48199ca0
MD: naa.5002538a48199e20
MD: naa.5002538a48199e00
esxcli vsan storage list
Vérifiez le paramètre « In CMMDS ». Si la valeur est false, la communication est perdue sur le disque.
Exemple :
Device: Unknown
Display Name: Unknown
Is SSD: false
VSAN UUID: 529cadbc-acd1-b588-8643-68336d5512d6
VSAN Disk Group UUID:
VSAN Disk Group Name:
Used by this host: false
In CMMDS: false
On-disk format version: <Unknown>
Deduplication: false
Compression: false
Checksum:
Checksum OK: false
Is Capacity Tier: false
for i in `esxcli storage core device list | grep ^naa` ; do echo $i; esxcli storage core device smart get -d $i; done.
Recherchez les erreurs de lecture/écriture avec la commande smart get.
Exemple :
naa.55cd2e404c1f35a1
Parameter Value Threshold Worst Raw
-------------------------- ----- --------- ----- ---
Health Status OK N/A N/A N/A
Media Wearout Indicator 100 0 100 86
Read Error Count 130 39 130 133
Power-on Hours 100 0 100 110
Power Cycle Count 100 0 100 106
Drive Temperature 100 0 100 26
Uncorrectable Sector Count 100 0 100 0
naa.55cd2e404c1f35a5
Parameter Value Threshold Worst Raw
-------------------------- ----- --------- ----- ---
Health Status OK N/A N/A N/A
Media Wearout Indicator 100 0 100 10
Read Error Count 130 39 130 53
Power-on Hours 100 0 100 110
Power Cycle Count 100 0 100 106
Drive Temperature 100 0 100 27
Uncorrectable Sector Count 100 0 100 0
esxcli vsan storage list | grep "VSAN Disk Group UUID:" | sort | uniq -c
Recherchez les groupes de disques disponibles.
Exemple :
2 VSAN Disk Group UUID: 5203424c-ee56-497d-75d1-fcf73ae997cb
2 VSAN Disk Group UUID: 52af8e5c-77d1-b552-3310-ec5fef09edf4
while true;do echo " ****************************************** "; echo "" > /tmp/resyncStats.txt ;cmmds-tool find -t DOM_OBJECT -f json |grep uuid |awk -F \" '{print $4}' |while read i;do pendingResync=$(cmmds-tool find -t DOM_OBJECT -f json -u $i|grep -o "\"bytesToSync\": [0-9]*,"|awk -F " |," '{sum+=$2} END{print sum / 1024 / 1024 / 1024;}');if [ ${#pendingResync} -ne 1 ]; then echo "$i: $pendingResync GiB";fi;done |tee -a /tmp/resyncStats.txt;total=$(cat /tmp/resyncStats.txt |awk '{sum+=$2} END{print sum}');echo "Total: $total GiB" |tee -aa /tmp/resyncStats.txt;total=$(cat /tmp/resyncStats.txt |grep Total);totalObj=$(cat /tmp/resyncStats.txt|grep -vE " 0 GiB|Total"|wc -l);echo "`date +%Y-%m-%dT%H:%M:%SZ` $total ($totalObj objects)" >> /tmp/totalHistory.txt; echo `date `; sleep 60; done
Vérifiez s’il existe des opérations de resynchronisation en cours ou bloquées.
Exemple :
Total: 0 GiB
Mon Feb 13 17:32:06 UTC 2023
Appuyez sur
Ctrl+C pour arrêter la commande.
cmmds-tool find -f python | grep CONFIG_STATUS -B 4 -A 6 | grep 'uuid\|content' | grep -o 'state\\\":\ [0-9]*' | sort | uniq -c
Vérifiez l’état des composants.
Healthy -- state 7
Inaccessible -- state 13
Absent or Degraded -- state 15
Example :
425 state\": 7
Identification de l’emplacement du disque SSD ou du disque dur défectueux via l’interface de ligne de commande :
Répertoriez tous les périphériques disponibles :
esxcli storage core device list | grep "naa" | awk '{print $1}' | grep "naa"
Exemple :
naa.5000c500852df8d3
naa.55cd2e404c1f35a1
naa.55cd2e404c1f35a5
naa.5000c500852dd5e7
Vérifiez l’emplacement à l’aide de chaque NAA de disque dans la liste :
esxcli storage core device physical get -d
Exemple :
esxcli storage core device physical get -d naa.5000c500852df8d3
esxcli storage core device physical get -d naa.55cd2e404c1f35a1
esxcli storage core device physical get -d naa.55cd2e404c1f35a5
esxcli storage core device physical get -d naa.5000c500852dd5e7
Physical Location: enclosure 65535 slot 0
Physical Location: enclosure 65535 slot 1
Physical Location: enclosure 65535 slot 2
Physical Location: enclosure 65535 slot 3
Identification du disque dur ou du disque SSD défectueux si le nom de l’appareil est manquant :
Il est possible que le disque défaillant ne soit pas détecté et qu’il ne soit pas possible de l’identifier à l’aide du numéro NAA correspondant. Dans ce scénario, il est nécessaire de localiser tous les disques, et celui qui ne se trouve pas physiquement est celui qui a échoué.
Voici un script qui peut être utilisé pour effectuer la tâche un peu plus rapidement :
echo "=============Physical disks placement=============="
echo ""
esxcli storage core device list | grep "naa" | awk '{print $1}' | grep "naa" | while read in; do
echo "$in"
esxcli storage core device physical get -d "$in"
sleep 1
echo "===================================================="
done
Journaux pertinents vSAN pour les problèmes liés au stockage :
/var/log/vmkernel.log
Problèmes de lecture et d’écriture sur les disques vSAN, les pulsations de l’hôte vSAN, les PDL, les codes de détection SCSI et les demandes d’E/S (lectures/écritures), ainsi que les informations d’appartenance au cluster.
Exemple :
2021-06-22T12:02:08.408Z cpu30:1001397101)ScsiDeviceIO: PsaScsiDeviceTimeoutHandlerFn:12834: TaskMgmt op to cancel IO succeeded for device naa.55cd2e404b7736d0 and the IO did not complete. WorldId 0, Cmd 0x28, CmdSN = 0x428.Cancelling of IO will be
2021-06-22T12:02:08.408Z cpu30:1001397101)retried.
/var/log/vobd.log
Rapports sur l’intégrité des disques, les disques perdus permanents (PDL), la latence des disques et des rapports sur le passage en mode maintenance et la sortie d’un hôte.
Exemple :
2022-05-31T11:42:46.065Z: [vSANCorrelator] 10605891965954us: [vob.vsan.lsom.devicerepair] vSAN device 521a74ce-c980-c16c-ff3d-38a036233daf is being repaired due to I/O failures, and will be out of service until the repair is complete. If the device is part of a dedup disk group, the entire disk group will be out of service until the repair is complete.
2022-05-31T11:42:46.065Z: [vSANCorrelator] 10606062774178us: [esx.problem.vob.vsan.lsom.devicerepair] Device 521a74ce-c980-c16c-ff3d-38a036233daf is in offline state and is getting repaired
/var/log/vsandevicemonitord.log
Cela vous aide à déterminer si le disque a été marqué comme défectueux en raison d’un encombrement excessif des logs ou de latences d’E/S.
Exemple :
INFO vsandevicemonitord WARNING - WRITE Average Latency on VSAN device naa.50000xxxxxxxx has exceeded threshold value 2000000 us 2 times.
INFO vsandevicemonitord Tier 2 (naa.50000xxxxxxxx) as unhealthy