簡介
本文檔介紹可用於解決Hyperflex資料儲存裝載問題的步驟。
必要條件
需求
本文件沒有特定需求。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊:
預設情況下,Hyperflex資料儲存區安裝在NFS v3中。
NFS(網路檔案系統)是一種檔案共用協定,虛擬機器監控程式使用它通過標準TCP/IP網路與NAS(網路連線儲存)伺服器通訊。
以下是在vSphere環境中使用的NFS元件的說明:
- NFS服務器 — 儲存裝置或使用NFS協定使檔案通過網路可用的伺服器。在Hyperflex世界中,每個控制器VM都運行一個NFS伺服器例項。資料儲存的NFS伺服器IP是eth1:0介面IP。
- NFS資料儲存 — NFS伺服器上可用於儲存虛擬機器檔案的共用分割槽。
- NFS客戶端 — ESXi包括用於訪問NFS裝置的內建NFS客戶端。
除了常規NFS元件之外,ESXi上還安裝了一個VIB,稱為IOVisor。此VIB提供網路檔案系統(NFS)裝載點,以便ESXi虛擬機器監控程式可以訪問連線到各個虛擬機器的虛擬磁碟驅動器。從虛擬機器管理程式的角度來看,它只是連線到網路檔案系統。
問題
裝載問題的症狀可能在ESXi主機上顯示為無法訪問的資料儲存。
在vCenter中無法訪問資料儲存
附註:當資料儲存在vCenter中顯示為不可訪問時,它們在ESX CLI中被視為已裝載不可用。這表示資料儲存以前裝載到主機上。
通過CLI檢查Datastore:
[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
Datastore在vCenter/CLI中完全不可用
附註:當vCenter或CLI中不存在資料儲存時。這表示以前從未在主機上成功裝載Datastore。
通過SSH連線到ESXi主機並輸入命令:
[root@node1:~] esxcfg-nas -l
[root@node1:~]
解決方案
裝載問題的原因可能不同,請檢查檢查清單以驗證並更正(如果有)。
網路連線能力檢查
在出現任何資料儲存問題時,首先要檢查主機是否能夠到達NFS伺服器IP。
Hyperflex中的NFS伺服器IP是分配給虛擬介面eth1:0的IP,它存在於一個SCVM上。
如果ESXi主機無法ping通NFS伺服器IP,則會導致無法訪問資料儲存區。
在所有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。
分組和故障切換 — 預設情況下,系統嘗試確保儲存資料流量由FI在本地交換。因此,所有主機的活動和備用介面卡必須相同。
埠組VLAN設定 — 必須在儲存控制器資料網路和儲存虛擬機器管理程式資料網路端口組上指定儲存資料VLAN。
埠組級別無覆蓋 — vSwitch級別上完成的分組和故障切換設定預設應用於埠組,因此建議不要覆蓋埠組級別的設定。
附註:預設情況下,所有配置均在群集部署期間由安裝程式完成。如果之後已手動更改,請驗證設定
MTU設定 — 確保在儲存資料vnic模板中正確配置了MTU大小和QoS策略。儲存資料虛擬機器使用白金QoS策略,並且必須根據您的環境配置MTU。
VLAN設定 — 必須在vnic模板中允許群集部署期間建立的hx-storage-data VLAN。確保未將其標籤為本地
IOvisor/ SCVMclient/ NFS代理狀態檢查
ESXI中的SCVMclient vib充當NFS代理。它攔截虛擬機器IO,將其傳送到各自的SCVM,並向他們提供所需的資訊。
確保在我們的主機上安裝VIB,對於此ssh,請連線到其中一個ESXI並運行命令:
[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。如果不存在,則您可能會遇到主機上的datastore裝載問題。為了驗證這一點,請通過ssh連線到已裝載datastore的主機,通過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檔案中可能包含舊的datastore條目。
這不允許裝載具有相同名稱的新資料儲存區。您可以從以下檔案檢查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
相關資訊