목차

소개

ESXI에 HX 데이터 저장소는 어떻게 마운트됩니까?

모든 경로를 아래로

문제 설명

문제 해결 워크플로

vCenter 서버 체크 인:

모든 StCtlVM을 체크 인합니다.

StCtlVM:영향을 받는 ESXi 호스트의 StCtlVM

ESXi 호스트 체크 인:

소개

이 문서에서는 Hyperflex 클러스터가 통합된 vCenter에서 "NFS all paths down" 오류 메시지가 표시될 경우 문제의 원인을 평가하기 위해 수행할 수 있는 문제를 신속하게 이해하고 트러블슈팅 단계를 제공합니다.

ESXI에 HX 데이터 저장소는 어떻게 마운트됩니까?

- Hyperflex 데이터 저장소는 NFS 마운트로서 ESXI 호스트에 마운트됩니다. NFS 데이터 저장소를 마운트하려면 eth1:0 가상 부동 인터페이스인 NFS 서버 IP가 필요합니다.

- Hyperflex 클러스터는 관리(eth0:mgmtip) 및 스토리지 데이터(eth1:0)를 위해 가상 부동 IP를 모두 사용합니다. 여기서 각 IP는 하나의 특정 Storage Controller VM(StCtlVM)에 할당됩니다. 다른 StCtlVM로 끝날 수 있습니다.

- 이 기능의 중요성은 클러스터 스토리지 데이터 IP(eth1:0)가 Hyperflex 클러스터에서 생성된 데이터 저장소를 마운트하는 데 사용되는 데이터저장소입니다.따라서 클러스터의 모든 노드에서 할당 및 연결이 필수적입니다.

- 현재 eth1:0 가상 IP를 소유한 StCtlVM에 장애가 발생할 경우 FHRP(First Hop Redundancy Protocol)와 유사한 방식으로 작동하는 다른 사용 가능한 StCtlVM으로 "마이그레이션"해야 합니다.

모든 경로를 아래로

- APD는 호스트가 스토리지에 연결할 수 없으며 스토리지 어레이에서 반환된 PDL(Permanent Device Lost) SCSI 코드가 없음을 의미합니다.

- 손실이 일시적인지 아닌지 알 수 없으므로 기본적으로 140대 이상의 통신을 설정하려고 합니다(시간 초과) + 3분(장애 조치 지연). ESXi 호스트는 스토리지 디바이스로 전송되는 가상 시스템 입출력 트래픽이 아닌 모든 트래픽에 장애가 발생하기 시작합니다.

- vSphere 6.x 환경의 APD에 대한 자세한 내용은 vSphere 5.x 및 6.x의 VMware KB 문서 PDL(Permanent Device Loss) 및 APD(All-Paths-Down)를 참조하십시오.

- 아래 이미지는 각 간헐적인 단계를 설명합니다.

vCenter의 일반적인 오류 메시지는 다음과 같습니다.

문제 설명

호스트에 대한 APD 알림이 표시되면 아래 정보를 참조하여 문제 설명을 더 잘 이해할 수 있습니다.

- 하나/여러/모든 호스트가 영향을 받는 경우 및 영향을 받는 특정 호스트

- 이전에 변경(구성/업그레이드 등)을 수행한 경우

- 문제가 처음 관찰된 시간 및 문제가 재귀적으로 발생하는지 여부에 대한 타임스탬프

문제 해결 워크플로

APD 문제를 해결하려면 vCenter, SCVM, ESXi 호스트 등 3가지 구성 요소를 조사해야 합니다.

이러한 단계는 관찰된 All Paths Down(모든 경로 다운) 증상의 원인을 정확히 찾아내거나 좁히기 위해 제안된 워크플로입니다.이 주문은 꼼꼼하게 따라야 할 필요가 없으며 고객 환경에서 관찰된 특정 증상에 따라 적절히 적용할 수 있습니다.

vCenter 서버 체크 인:

vCenter Server(VCS)에 연결하고 영향을 받는 호스트로 이동합니다.

1. Related Objects -> Virtual Machines(가상 머신) 및 StCtlVM이 작동 및 실행 중인지 확인합니다.

2. Related Objects(관련 개체) -> 데이터 저장소를 저장하고 NFS 데이터 저장소에 "액세스할 수 없음"이 표시되는지 확인합니다. 데이터 저장소에 액세스할 수 있는 것과 상태가 있는 경우 요약 탭에서 APD 이벤트를 "Reset to Green(녹색으로 재설정)"으로 설정하고 나중에 경고가 다시 나타나는지 확인할 수 있습니다.

3. Monitor -> Issues and Monitor -> Events는 APD가 처음 발견된 시기에 대한 정보를 제공해야 합니다.

모든 StCtlVM을 체크 인합니다.

모든 StCtlVM에 연결하고 아래 포인터를 확인합니다. 모바엑스용어 소프트웨어.

1. 모든 StCtlVM에 date 또는 ntpq -p를 사용하여 시간이 동일한지 확인합니다.StCtlVM의 시간 왜곡은 Zookeeper 데이터베이스 동기화에 문제가 될 수 있으므로 모든 StCtlVM과 동기화하는 것이 중요합니다.

- ntp 서버의 애스트릭 사인은 SCVM의 NTP가 동기화되었음을 나타냅니다.
root@SpringpathControllerPZTMTRSH7K:~# date

Tue May 28 12:47:27 PDT 2019

root@SpringpathControllerPZTMTRSH7K:~# ntpq -p -4

remote refid st t when poll reach delay offset jitter

==============================================================================

*abcdefghij .GNSS. 1 u 429 1024 377 225.813 -1.436 0.176

2. 업그레이드 중에 APD가 발생한 경우 어떤 StCtlVM이 완전히 업그레이드되지 않았는지 확인하고, 특히 마지막으로 실패한 StCtlVM을 식별하는 것이 고려할 수 있습니다.이전에 eth1:0을 보유했던 것이었을 수도 있습니다.

- dpkg -l 사용 | grep -i springpath - 혼합된 버전 springpath 패키지가 있으므로 완전히 업그레이드되지 않은 StCtlVM을 식별합니다.
root@SpringpathControllerPZTMTRSH7K:~# dpkg -l | grep -i springpath

ii storfs-appliance 4.0.1a-33028            amd64 Springpath Appliance

ii storfs-asup 4.0.1a-33028                 amd64 Springpath ASUP and SCH

ii storfs-core 4.0.1a-33028                 amd64 Springpath Distributed Filesystem

ii storfs-fw 4.0.1a-33028                   amd64 Springpath Appliance

ii storfs-mgmt 4.0.1a-33028                 amd64 Springpath Management Software

ii storfs-mgmt-cli 4.0.1a-33028             amd64 Springpath Management Software

ii storfs-mgmt-hypervcli 4.0.1a-33028       amd64 Springpath Management Software

ii storfs-mgmt-ui 4.0.1a-33028              amd64 Springpath Management UI Module

ii storfs-mgmt-vcplugin 4.0.1a-33028        amd64 Springpath Management UI and vCenter Plugin

ii storfs-misc 4.0.1a-33028                 amd64 Springpath Configuration

ii storfs-pam 4.0.1a-33028                  amd64 Springpath PAM related modules

ii storfs-replication-services 4.0.1a-33028 amd64 Springpath Replication Services

ii storfs-restapi 4.0.1a-33028              amd64 Springpath REST Api's

ii storfs-robo 4.0.1a-33028                 amd64 Springpath Appliance

ii storfs-support 4.0.1a-33028              amd64 Springpath Support

ii storfs-translations 4.0.1a-33028         amd64 Springpath Translations

3. 모든 관련 서비스가 service_status.sh를 실행 중인지 확인합니다.

- 기본 서비스 중 일부는 Springpath File System(storfs), SCVM Client(scvmclient), System Management Service(stMgr) 또는 Cluster IP Monitor(cip-monitor)입니다.
root@SpringpathController5L0GTCR8SA:~# service_status.sh

Springpath File System                 ... Running

SCVM Client                            ... Running

System Management Service              ... Running

HyperFlex Connect Server               ... Running

HyperFlex Platform Agnostic Service    ... Running

HyperFlex HyperV Service               ... Not Running

HyperFlex Connect WebSocket Server     ... Running

Platform Service                       ... Running

Replication Services                   ... Running

Data Service                           ... Running

Cluster IP Monitor                     ... Running

Replication Cluster IP Monitor         ... Running

Single Sign On Manager                 ... Running

Stats Cache Service                    ... Running

Stats Aggregator Service               ... Running

Stats Listener Service                 ... Running

Cluster Manager Service                ... Running

Self Encrypting Drives Service         ... Not Running

Event Listener Service                 ... Running

HX Device Connector                    ... Running

Web Server                             ... Running

Reverse Proxy Server                   ... Running

Job Scheduler                          ... Running

DNS and Name Server Service            ... Running

Stats Web Server                       ... Running

4. 이러한 서비스 또는 기타 관련 서비스가 작동 중이 아닌 경우 start <serviceName>예:storfs 시작

- 서비스 이름을 가져오려면 service_status.sh 스크립트를 참조할 수 있습니다.head -n25 /bin/service_status.sh을 실행하여 서비스 실제 이름을 확인합니다.
root@SpringpathController5L0GTCR8SA:~# head -n25 /bin/service_status.sh

#!/bin/bash

declare -a upstart_services=("Springpath File System:storfs"\

"SCVM Client:scvmclient"\

"System Management Service:stMgr"\

"HyperFlex Connect Server:hxmanager"\

"HyperFlex Platform Agnostic Service:hxSvcMgr"\

"HyperFlex HyperV Service:hxHyperVSvcMgr"\

"HyperFlex Connect WebSocket Server:zkupdates"\

"Platform Service:stNodeMgr"\

"Replication Services:replsvc"\

"Data Service:stDataSvcMgr"\

"Cluster IP Monitor:cip-monitor"\

"Replication Cluster IP Monitor:repl-cip-monitor"\

"Single Sign On Manager:stSSOMgr"\

"Stats Cache Service:carbon-cache"\

"Stats Aggregator Service:carbon-aggregator"\

"Stats Listener Service:statsd"\

"Cluster Manager Service:exhibitor"\

"Self Encrypting Drives Service:sedsvc"\

"Event Listener Service:storfsevents"\

"HX Device Connector:hx_device_connector");

declare -a other_services=("Web Server:tomcat8"\

"Reverse Proxy Server:nginx"\

"Job Scheduler:cron"\

"DNS and Name Server Service:resolvconf");

5. ifconfig -a를 사용하여 스토리지 클러스터 IP(eth1:0)를 포함하는 StCtlVM을 식별합니다.

- StCtlVM에 해당 IP가 없으면 하나 이상의 노드에서 storfs가 실행되고 있지 않을 수 있습니다.
root@help:~# ifconfig

eth0:mgmtip Link encap:Ethernet HWaddr 00:50:56:8b:4c:90

inet addr:10.197.252.83 Bcast:10.197.252.95 Mask:255.255.255.224

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

6. StCtlVM이 CRMMaster와 연락하고 있고 Zookeeper 서비스가 실행 중인지 확인합니다.

- 에코 srvr | nc localhost 2181 및 mode가 지시선, 종동체 또는 독립형인지 확인하고 연결이 0보다 크면 확인
root@help:~# echo srvr | nc localhost 2181

Zookeeper version: 3.4.12-d708c3f034468a4da767791110332281e04cf6af, built on 11/19/2018 21:16 GMT

Latency min/avg/max: 0/0/137

Received: 229740587

Sent: 229758548

Connections: 13

Outstanding: 0

Zxid: 0x140000526c

Mode: leader

Node count: 3577

- 서비스 전시 상태 또는 ps -ef | grep -i 전시
root@help:~# service exhibitor status

exhibitor start/running, process 12519

root@help:~# ps -ef | grep -i exhibitor

root 9765 9458 0 13:19 pts/14 00:00:00 grep --color=auto -i exhibitor

root 12519 1 0 May19 ? 00:05:49 exhibitor

- 오류가 발생하거나 서비스가 실행되지 않는 경우 아래 로그를 확인하고 Zookeeper 서비스를 시작해 보십시오.

- /var/log/springpath/exhibitor.log 및 /var/log/springpath/stMgr.log

- 서비스 전시업체가 Zookeeper 서비스 시작

7. 모든 StCtlVM에서 VC에 연결할 수 있는지 확인합니다.

- stcli 클러스터 정보 | grep -i "url" - FQDN 또는 IP VC를 포함하는 URL을 표시합니다.ping <VC>을 사용하여 VC에 대한 연결 확인
root@help:~# stcli cluster info | grep -i "url"

vCenterUrl: https://10.197.252.101

vCenterURL: 10.197.252.101

root@help:~# ping 10.197.252.101

PING 10.197.252.101 (10.197.252.101) 56(84) bytes of data.

64 bytes from 10.197.252.101: icmp_seq=1 ttl=64 time=0.435 ms

8. FQDN을 사용하는 클러스터의 경우 DNS에 연결할 수 있는지 확인

- StCtlVM에 DNS 구성 서버를 나열하는 stcli 서비스 dns show를 제공합니다.<DNS_IP> 및 호스트 <FQDN> <DNS_IP>를 사용하여 DNS 서버에 대한 연결 및 확인 테스트
root@help:~# stcli services dns show

1.1.128.140

root@help:~# ping 1.1.128.140

PING 1.1.128.140 (1.1.128.140) 56(84) bytes of data.

64 bytes from 1.1.128.140: icmp_seq=1 ttl=244 time=1.82 ms

9. 모든 StCtlVM의 iptable 항목이 동일한지 확인합니다.   iptables -L | wc -l일치하지 않는 경우 TAC 케이스를 여십시오.

- root@SpringpathControllerI51U7U6QZX:~# iptables -L | wc -l

48

10. 현재 클러스터 상태 및 상태

- stcli 클러스터 정보 | less 또는 stcli cluster info | grep -i "active\|state\|unavailable" 스토리지를 사용할 수 없는 특정 노드를 찾는 경우
root@SpringpathControllerI51U7U6QZX:~# stcli cluster info | grep -i "active\|state\|unavailable"

locale: English (United States)

state: online

upgradeState: ok

healthState: healthy

state: online

state: 1

activeNodes: 3

state: online

- stcli 클러스터 스토리지 요약 —세부 정보 스토리지 클러스터 세부 정보 얻기
root@SpringpathControllerI51U7U6QZX:~# stcli cluster storage-summary --detail

address: 10.197.252.106

name: HX-Demo

state: online

uptime: 185 days 12 hours 48 minutes 42 seconds

activeNodes: 3 of 3

compressionSavings: 85.45%

deduplicationSavings: 0.0%

freeCapacity: 4.9T

healingInfo:

inProgress: False

resiliencyDetails:

current ensemble size:3

# of caching failures before cluster shuts down:3

minimum cache copies remaining:3

minimum data copies available for some user data:3

minimum metadata copies available for cluster metadata:3

# of unavailable nodes:0

# of nodes failure tolerable for cluster to be available:1

health state reason:storage cluster is healthy.

# of node failures before cluster shuts down:3

# of node failures before cluster goes into readonly:3

# of persistent devices failures tolerable for cluster to be available:2

# of node failures before cluster goes to enospace warn trying to move the existing data:na

# of persistent devices failures before cluster shuts down:3

# of persistent devices failures before cluster goes into readonly:3

# of caching failures before cluster goes into readonly:na

# of caching devices failures tolerable for cluster to be available:2

resiliencyInfo:

messages:

Storage cluster is healthy.

state: 1

nodeFailuresTolerable: 1

cachingDeviceFailuresTolerable: 2

persistentDeviceFailuresTolerable: 2

zoneResInfoList: None

spaceStatus: normal

totalCapacity: 5.0T

totalSavings: 85.45%

usedCapacity: 85.3G

zkHealth: online

clusterAccessPolicy: lenient

dataReplicationCompliance: compliant

dataReplicationFactor: 3

11. 어떤 데이터 저장소가 마운트되고 사용 가능

- root@bsv-hxaf220m5-sc-4-3:~# stcli datastore list

----------------------------------------

virtDatastore:

status:

EntityRef(idtype=None, confignum=None, type=6, id='235ea35f-6c85-9448-bec7-06f03b5adf16', name='bsv-hxaf220m5-hv-4-3.cisco.com'):

accessible: True

mounted: True

EntityRef(idtype=None, confignum=None, type=6, id='d124203c-3d9a-ba40-a229-4dffbe96ae13', name='bsv-hxaf220m5-hv-4-2.cisco.com'):

accessible: True

mounted: True

EntityRef(idtype=None, confignum=None, type=6, id='e85f1980-b3c7-a440-9f1e-20d7a1110ae6', name='bsv-hxaf220m5-hv-4-1.cisco.com'):

accessible: True

mounted: True

12. stcli 명령이 너무 오래 걸리거나 실패할 경우 다음 sysmtool 명령을 시도할 수 있습니다(stcli가 작동하는 경우 사용하지 않음).

1. sysmtool —ns cluster —cmd info

2. sysmtool —ns cluster —cmd healthdetail

3. sysmtool —ns datastore —cmd list

StCtlVM:영향을 받는 ESXi 호스트의 StCtlVM

영향받는 ESXi 호스트의 StCtlVM에 연결

1. 스토리지 클러스터 IP(eth1:0)와 스토리지 네트워크의 다른 서버(StCtlVM의 eth1)에 대한 접속을 확인합니다.

- stcli 클러스터 정보 실행 | grep -i -B 1 "stctl\|hypervisor" - 클러스터에 참여하는 모든 ESXi 관리 IP, StCtlVM eth0(Mgmt) 및 StCtlVM eth1(스토리지 데이터)을 각각 식별합니다.

- 연결 ping -I eth1 [-M do -s 8972] <대상 IP 주소>, ESXI VMK1과 SCVM eth1 간의 점보 프레임 테스트를 테스트합니다.

2. 문제가 아직 정확히 해결되지 않으면 다음 로그를 살펴볼 수 있습니다.

- /var/log/springpath/debug-storfs.log

- 패닉, 심각도 오류 또는 중요 이벤트 grep -ai "segmentation\|critical\|panic" debug-storfs.log 확인

- /var/log/springpath/stmgr.log

- 메모리 부족 문제가 있는지 확인합니다. grep -i "oom\|out of mem" /var/log/kern.log

3. 궁극적으로 노드의 StCtlVM을 재부팅하여 여전히 문제가 발생하고 문제가 계속되는지 확인할 수 있습니다.

ESXi 호스트 체크 인:

SSH를 통해 영향을 받는 ESXi 호스트에 연결하고 다음 작업을 수행합니다.

1. esxcli 스토리지 nfs 목록 또는Esxcfg-nas -l - 현재 마운트된 NFS 데이터 저장소를 나열하고 액세스 가능한 경우

- [root@bsv-hx220m5-hv-4-3:~] esxcli storage nfs list

Volume Name  Host                                     Share                 Accessible  Mounted  Read-Only   isPE  Hardware Acceleration

-----------  ---------------------------------------  --------------------  ----------  -------  ---------  -----  ---------------------

test         8352040391320713352-8294044827248719091  192.168.4.1:test            true     true      false  false  Supported

sradzevi     8352040391320713352-8294044827248719091  192.168.4.1:sradzevi        true     true      false  false  Supported

[root@bsv-hx220m5-hv-4-3:~] esxcfg-nas -l

test is 192.168.4.1:test from 8352040391320713352-8294044827248719091 mounted available

sradzevi is 192.168.4.1:sradzevi from 8352040391320713352-8294044827248719091 mounted available

- /etc/vmware/esx.conf에서 명령 cat /etc/vmware/esx.conf을 사용하여 NFS 마운트 데이터 저장소에서 ESXi 컨피그레이션의 일관성을 확인할 수도 있습니다. | grep -I nas

2. /var/log/vmkernel.log를 확인하고 이전 단계에서 식별된 타임스탬프에 대한 실패 상태, 마운트 문제 또는 오류 예를 확인합니다.

3. IOVisor/NFS 프록시/SCVMClient의 상태 확인

- 명령 /etc/init.d/scvmclient 상태를 사용하여 ESXi에서 서비스가 실행 중인지 확인

- [선택 사항] esxcli 네트워크 ip 연결 목록을 사용하여 열려 있는 연결이 있는지 확인할 수 있습니다. | grep -i "proto\|scvmclient"

- SCVMClient VIB가 HX 클러스터, Esxcli 소프트웨어 vib 목록과 동일한 버전인지 확인합니다. | grep -i 스프링

- [root@bsv-hx220m5-hv-4-3:~] esxcli software vib list | grep -i spring

scvmclient                     3.5.1a-31118                         Springpath          VMwareAccepted    2018-12-13

stHypervisorSvc                3.5.1a-31118                         Springpath          VMwareAccepted    2018-12-06

vmware-esx-STFSNasPlugin       1.0.1-21                             Springpath          VMwareAccepted    2018-11-16

- /var/log/scvmclient.log에서 "clustermap을 가져올 수 없음" 오류가 있는지 확인합니다.

- 필요한 경우 etc/init.d/scvmclientrestart를 통해 SCVMClient 서비스를 다시 시작할 수 있습니다.

4. vmk1 네트워크의 다른 ESXi 호스트와의 네트워크 연결, 특히 스토리지 클러스터 IP eth1:0 확인

- esxcfg-vmknic -l - vmk nic 세부 정보(예: IP, 마스크 및 MTU)에 대한 정보를 가져옵니다.

- vmkping -I vmk1 [-v -s 8972] -d <대상 IP 주소> t컨트롤러 데이터 네트워크의 ESXi 호스트 간 테스트 연결[선택적으로 점보 프레임 사용]

5. esxcli 하드웨어 플랫폼은 StCtlVm의 이름에 사용되는 서버 SN을 가져오기 위한 것이며 특정 StCtlVM이 실행 중인 호스트를 신속하게 식별할 수 있습니다.