웹 UI에서 vSAN 물리적 디스크 상태 확인:
vCenter Server 웹 클라이언트에 연결하고 다음에서 디스크 상태를 확인합니다.
인벤토리 > 호스트 및 클러스터 vSAN 클러스터 >> 구성 vSAN 디스크 관리 그림 > 1: vSAN 디스크 관리 보기 영향을 받는 호스트를 선택한 다음 디스크 보기 섹션을 확장합니다.그림 2: vSAN >디스크 그룹 보기
여기에서 디스크가 다음과 같이 탐지되는지 확인할 수 있습니다.
Unhealthy
Unmounted
0 Capacity
Permanent Disk Failure
Disk Down Disk Absent
또한 vSAN Skyline Health 섹션에서 트리거된 디스크 관련 알람을 확인합니다.
인벤토리 > 호스트 및 클러스터 vSAN 클러스터 >> 모니터 > vSAN > Skyline 상태 > 물리적 디스크
그림 3: Skyline 상태 보기
여기에서 다음 알람이 트리거되었는지 확인할 수 있습니다.
영구 디스크 장애가 임박하여 데이터를 비우는 중입니다(상태 - 노란색).
영구 디스크 장애 임박. 리소스 부족으로 인해 데이터 비우기 실패(상태 - 빨간색).
영구 디스크 장애 임박. 액세스할 수 없는 오브젝트로 인해 데이터 비우기가 실패했습니다(상태 - 빨간색).
영구 디스크 장애 임박, 데이터 비우기 완료(상태 - 노란색)
영향을 받는 호스트의 스토리지 디바이스 목록에서 디스크 상태를 확인할 수도 있습니다.
인벤토리 > 호스트 및 클러스터 vSAN 클러스터 >> 영향을 받는 vSAN ESXi 호스트 > 스토리지 > 스토리지 디바이스 구성 그림 >4:
Host Storage Devices 보기
여기에서 디스크 상태가 다음과 같은지 확인할 수 있습니다.
0 용량
디스크 없음
디스크 마운트
해제됨 재동기화가 발생하는지 확인합니다.
인벤토리 > 호스트 및 클러스터 vSAN 클러스터 >> 모니터 > vSAN > 재동기화 오브젝트: 그림 5:
Resyncing Objects 보기
참고: 재동기화는 영향을 받는 디스크 또는 디스크 그룹에서 데이터가 비워지고 있음을 나타낼 수 있습니다. 영향을 받는 디스크를 제거하거나 교체할 준비가 되었는지 확인하려면 추가 조사가 필요합니다.
vSAN 오브젝트의 상태를 확인합니다.
인벤토리 > 호스트 및 클러스터 vSAN 클러스터 >> 모니터 > vSAN Skyline 상태 데이터 > vSAN 오브젝트 상태 그림 6: vSAN > 오브젝트 상태 >
보기
참고: 액세스할 수 없는 개체가 없는지 확인하는 것이 중요합니다. 오브젝트에 액세스할 수 없다는 것은 "오브젝트의 모든 복사본이 누락"을 의미합니다. DL의 원인이 될 수 있는 디스크를 제거하거나 교체하는 경우.
다음 단계는 CLI를 통해 문제에 대한 자세한 정보를 수집하고 로그를
확인하는 것입니다.CLI에서 vSAN 물리적 디스크 상태 확인:
SSH를 통해 영향을 받는 호스트에 연결하고 다음 명령을 실행합니다.
vdq -qH
"IsPDL"(영구적 디바이스 손실) 매개 변수를 확인합니다. 1과 같으면 디스크가 손실됩니다.
Example:
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
디스크 그룹에서 누락된 디스크가 있는지 확인합니다.
Example:
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
"In CMMDS" 매개변수를 확인합니다. false이면 디스크와의 통신이 끊어집니다.
Example:
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.
smart get 명령을 사용하여 읽기/쓰기 오류를 확인합니다.
Example:
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
사용 가능한 디스크 그룹을 확인합니다.
Example:
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
진행 중이거나 중단된 재동기화 작업이 있는지 확인합니다.
Example:
Total: 0 GiB
Mon Feb 13 17:32:06 UTC 2023
Ctrl+C를 눌러 명령을 중지합니다.
cmmds-tool find -f python | grep CONFIG_STATUS -B 4 -A 6 | grep 'uuid\|content' | grep -o 'state\\\":\ [0-9]*' | sort | uniq -c
구성 요소의 상태를 확인합니다.
정상 -- 상태 7
액세스 불가능 -- 상태 13
없음 또는 저하 -- 상태 15
예:
425 state\": 7
CLI를 통해 결함이 있는 SSD 또는 하드 드라이브의 위치를 식별하는 방법:
사용 가능한 모든 디바이스를 나열합니다.
esxcli storage core device list | grep "naa" | awk '{print $1}' | grep "naa"
Example:
naa.5000c500852df8d3
naa.55cd2e404c1f35a1
naa.55cd2e404c1f35a5
naa.5000c500852dd5e7
목록에서 각 디스크 naa를 사용하여 위치를 확인합니다.
esxcli storage core device physical get -d
Example:
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
장치 이름이 누락된 경우 오류가 발생한 하드 드라이브 또는 SSD를 식별하는 방법:
장애가 발생한 디스크가 감지되지 않고 해당 naa를 사용하여 식별할 수 없을 수 있습니다. 이 시나리오에서는 모든 디스크를 찾아야 하며 물리적으로 위치하지 않은 디스크가 장애가 발생한 디스크입니다.
다음은 작업을 약간 더 빠르게 수행하는 데 사용할 수 있는 스크립트입니다.
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
스토리지 관련 문제에 대한 vSAN 관련 로그:
/var/log/vmkernel.log
vSAN 디스크, vSAN 호스트 하트비트, PDL, SCSI 감지 코드 및 I/O 요청(읽기/쓰기), 클러스터 구성원 정보를 읽고 쓰는 데 문제가 있습니다.
Example:
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
디스크 상태, 영구 PDL(디바이스 손실 디스크), 디스크 레이턴시에 대해 보고하고 호스트가 유지 보수 모드를 시작하고 종료하는 시기에 대해 보고합니다.
Example:
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
과도한 로그 정체 또는 I/O 지연 시간으로 인해 디스크가 비정상으로 표시되었는지 확인하는 데 도움이 됩니다.
Example:
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