소개
이 문서에서는 Hyperflex 데이터 저장소 마운트 문제를 해결하는 데 사용할 수 있는 단계에 대해 설명합니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
배경 정보:
기본적으로 Hyperflex 데이터 저장소는 NFS v3에 마운트됩니다.
NFS(Network File System)는 하이퍼바이저가 표준 TCP/IP 네트워크를 통해 NAS(Network Attached Storage) 서버와 통신하는 데 사용하는 파일 공유 프로토콜입니다.
다음은 vSphere 환경에서 사용되는 NFS 구성 요소에 대한 설명입니다.
- NFS 서버 - NFS 프로토콜을 사용하여 네트워크를 통해 파일을 사용할 수 있도록 하는 스토리지 디바이스 또는 서버입니다. Hyperflex 환경에서는 각 컨트롤러 VM이 NFS 서버 인스턴스를 실행합니다. 데이터 저장소에 대한 NFS 서버 IP는 eth1:0 인터페이스 IP입니다.
- NFS 데이터 저장소 - 가상 머신 파일을 저장하는 데 사용할 수 있는 NFS 서버의 공유 파티션입니다.
- NFS 클라이언트 - ESXi에는 NFS 디바이스에 액세스하는 데 사용되는 기본 제공 NFS 클라이언트가 포함되어 있습니다.
일반 NFS 구성 요소 외에도 ESXi에 IOVisor라는 VIB가 설치되어 있습니다. 이 VIB는 ESXi 하이퍼바이저가 개별 가상 시스템에 연결된 가상 디스크 드라이브에 액세스할 수 있도록 NFS(네트워크 파일 시스템) 마운트 지점을 제공합니다. 하이퍼바이저의 관점에서 네트워크 파일 시스템에 간단히 연결됩니다.
문제
마운트 문제의 증상은 ESXi 호스트에서 데이터 저장소에 액세스할 수 없는 것으로 표시될 수 있습니다.
vCenter에서 액세스할 수 없는 데이터 저장소
참고: vCenter에서 데이터 저장소가 액세스할 수 없는 것으로 표시되면 ESX CLI에서 해당 데이터 저장소를 사용할 수 없는 것으로 표시됩니다. 즉, 데이터 저장소가 이전에 호스트에 마운트되었음을 의미합니다.
CLI를 통해 데이터 저장소 확인:
- ESXi 호스트에 SSH를 입력하고 명령을 입력합니다.
[root@node1:~] esxcfg-nas -l
test1 is 10.197.252.106:test1 from 3203172317343203629-5043383143428344954 mounted unavailable
test2 is 10.197.252.106:test2 from 3203172317343203629-5043383143428344954 mounted unavailable
vCenter/CLI에서 데이터 저장소를 사용할 수 없음
참고: vCenter 또는 CLI에 데이터 저장소가 없는 경우 이는 이전에 Datastore가 호스트에 성공적으로 마운트되지 않았음을 나타냅니다.
ESXi 호스트에 SSH를 입력하고 명령을 입력합니다.
[root@node1:~] esxcfg-nas -l
[root@node1:~]
솔루션
마운트 문제의 원인은 다를 수 있습니다. 확인 목록을 확인하여 확인 및 수정 여부를 확인합니다.
네트워크 연결성 확인
데이터 저장소 문제가 발생할 경우 가장 먼저 확인해야 하는 것은 호스트가 NFS 서버 IP에 도달할 수 있는지 여부입니다.
Hyperflex의 경우 NFS 서버 IP는 가상 인터페이스 eth1:0에 할당된 IP로, SCVM 중 하나에 있습니다.
ESXi 호스트가 NFS 서버 IP에 ping할 수 없는 경우 데이터 저장소에 액세스할 수 없게 됩니다.
모든 SCVM에서 ifconfig 명령을 사용하여 eth1:0 IP를 찾습니다.
참고: Eth1:0은 가상 인터페이스이며 SCVM 중 하나에 있습니다.
root@SpringpathControllerGDAKPUCJLE:~# ifconfig eth1:0
eth1:0 Link encap:Ethernet HWaddr 00:50:56:8b:62:d5
inet addr:10.197.252.106 Bcast:10.197.252.127 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
데이터 저장소 마운트 문제가 있는 ESXi 호스트에 대해 NFS 서버 IP에 연결할 수 있는지 확인합니다.
[root@node1:~] ping 10.197.252.106
PING 10.197.252.106 (10.197.252.106): 56 data bytes
64 bytes from 10.197.252.106: icmp_seq=0 ttl=64 time=0.312 ms
64 bytes from 10.197.252.106: icmp_seq=1 ttl=64 time=0.166 m
ping할 수 있는 경우 다음 섹션에서 문제 해결 단계를 진행합니다.
ping을 수행할 수 없는 경우 연결을 수정하려면 환경을 확인해야 합니다. 다음 몇 가지 사항을 확인할 수 있습니다.
- hx-storage-data vSwitch 설정:
참고: 기본적으로 모든 컨피그레이션은 클러스터 구축 중에 설치 관리자가 수행합니다. 이후 수동으로 변경된 경우 설정을 확인하십시오.
MTU 설정 - 클러스터 구축 중에 점보 MTU를 활성화한 경우 vSwitch의 MTU도 9000이어야 합니다. 점보 MTU를 사용하지 않는 경우 1500이어야 합니다.
Teaming 및 Failover - 기본적으로 시스템은 FI에서 스토리지 데이터 트래픽이 로컬로 스위칭되는지 확인합니다. 따라서 모든 호스트의 활성 및 대기 어댑터가 동일해야 합니다.
포트 그룹 VLAN 설정 - 스토리지 데이터 VLAN은 스토리지 컨트롤러 데이터 네트워크 및 스토리지 하이퍼바이저 데이터 네트워크 포트 그룹에서 모두 지정해야 합니다.
No overrides on Port Group level(포트 그룹 레벨에 재지정 안 함) - vSwitch 레벨에서 수행한 Teaming 및 Failover 설정은 기본적으로 포트 그룹에 적용되므로 포트 그룹 레벨의 설정을 재정의하지 않는 것이 좋습니다.
참고: 기본적으로 모든 컨피그레이션은 클러스터 구축 중에 설치 관리자가 수행합니다. 이후 수동으로 변경된 경우 설정을 확인하십시오.
MTU Settings(MTU 설정) - MTU 크기 및 QoS 정책이 storage-data vnic 템플릿에서 올바르게 구성되었는지 확인합니다. 스토리지 데이터 vNIC는 Platinum QoS 정책을 사용하며 MTU는 사용자 환경에 따라 구성해야 합니다.
VLAN 설정 - 클러스터 구축 중에 생성된 hx-storage-data VLAN은 vnic 템플릿에서 허용되어야 합니다. 네이티브 로 표시되지 않는지 확인
IOvisor/SCVMclient/NFS 프록시 상태 확인
ESXI의 SCVMclient vib는 NFS 프록시 역할을 합니다. 가상 머신 IO를 인터셉트하고 해당 SCVM에 전송하고 필요한 정보를 다시 제공합니다.
VIB가 ESXI 중 하나에 대해 SSH가 호스트에 설치되어 있는지 확인하고 다음 명령을 실행합니다.
[root@node1:~] esxcli software vib list | grep -i spring
scvmclient 3.5.2b-31674 Springpath VMwareAccepted 2019-04-17
stHypervisorSvc 3.5.2b-31674 Springpath VMwareAccepted 2019-05-20
vmware-esx-STFSNasPlugin 1.0.1-21 Springpath VMwareAccepted 2018-11-23
지금 esxi에서 scvmclient의 상태를 확인하고 실행 중인지 확인합니다. 중지된 경우 /etc/init.d/scvmclient start 명령으로 시작하십시오.
[root@node1:~] /etc/init.d/scvmclient status
+ LOGFILE=/var/run/springpath/scvmclient_status
+ mkdir -p /var/run/springpath
+ trap mv /var/run/springpath/scvmclient_status /var/run/springpath/scvmclient_status.old && cat /var/run/springpath/scvmclient_status.old |logger -s EXIT
+ exec
+ exec
Scvmclient is running
ESXI 루프백 IP에 대한 클러스터 UUID 확인 가능
Hyperflex는 클러스터의 UUID를 ESXi의 루프백 인터페이스에 매핑하므로 ESXI가 NFS 요청을 자체 scvmclient로 전달합니다. 이 파일이 없는 경우 호스트에 설치된 데이터 저장소 마운트에 문제가 발생할 수 있습니다. 이를 확인하려면 데이터 저장소가 마운트된 호스트에 ssh를 수행하고 문제가 있는 호스트에 ssh를 전송하고 파일/etc/hosts를 지정합니다.
비기능 호스트에 /etc/hosts에 항목이 없는 경우, 기능 호스트에서 비기능 호스트의 /etc/hosts로 복사할 수 있습니다.
작동하지 않는 호스트
[root@node1:~] cat /etc/hosts
# Do not remove these lines, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
10.197.252.75 node1
기능 호스트
[root@node2:~] cat /etc/hosts
# Do not remove these lines, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
10.197.252.76 node2
127.0.0.1 3203172317343203629-5043383143428344954.springpath 3203172317343203629-5043383143428344954
/etc/vmware/esx.conf의 오래된 데이터 저장소 항목
ESXI를 다시 설치하지 않고 HX 클러스터를 다시 생성한 경우 esx.conf 파일에 이전 데이터 저장소 항목이 있을 수 있습니다.
이렇게 하면 동일한 이름으로 새 데이터 저장소를 마운트할 수 없습니다. 파일에서 esx.conf의 모든 HX 데이터 저장소를 확인할 수 있습니다.
[root@node1:~] cat /etc/vmware/esx.conf | grep -I nas
/nas/RepSec/share = "10.197.252.106:RepSec"
/nas/RepSec/enabled = "true"
/nas/RepSec/host = "5983172317343203629-5043383143428344954"
/nas/RepSec/readOnly = "false"
/nas/DS/share = "10.197.252.106:DS"
/nas/DS/enabled = "true"
/nas/DS/host = "3203172317343203629-5043383143428344954"
/nas/DS/readOnly = "false"
출력에 매핑되고 이전 클러스터 UUID를 사용하는 이전 데이터 저장소가 표시되므로 ESXi에서는 동일한 이름의 데이터 저장소를 새 UUID로 마운트할 수 없습니다.
이 문제를 해결하려면 -esxcfg-nas -d RepSec 명령을 사용하여 이전 데이터 저장소 항목을 제거해야 합니다.
제거된 후 HX-Connect에서 데이터 저장소 마운트를 다시 시도합니다.
ESXi에서 방화벽 규칙 확인
방화벽 사용 설정 확인
False로 설정되면 문제가 발생합니다.
[root@node1:~] esxcli network firewall get
Default Action: DROP
Enabled: false
Loaded: true
다음 명령을 사용하여 활성화합니다.
[root@node1:~] esxcli network firewall set –e true
[root@node1:~] esxcli network firewall get
Default Action: DROP
Enabled: true
Loaded: true
연결 규칙 설정 확인:
False로 설정되면 문제가 발생합니다.
[root@node1:~] esxcli network firewall ruleset list | grep -i scvm
ScvmClientConnectionRule false
다음 명령을 사용하여 활성화합니다.
[root@node1:~] esxcli network firewall ruleset set –e true –r ScvmClientConnectionRule
[root@node1:~] esxcli network firewall ruleset list | grep -i scvm
ScvmClientConnectionRule true
SCVM에서 iptable 규칙 확인
모든 SCVM의 규칙 수를 확인하고 일치시킵니다. 일치하지 않는 경우 TAC 케이스를 열어 문제를 해결합니다.
root@SpringpathControllerI51U7U6QZX:~# iptables -L | wc -l
48
관련 정보