概要
このドキュメントでは、Hyperflex Datastoreのマウントの問題のトラブルシューティングに使用できる手順について説明します。
前提条件
要件
このドキュメントに特有の要件はありません。
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明:
デフォルトでは、HyperflexデータストアはNFS v3にマウントされます。
NFS(Network File System)は、ハイパーバイザが標準のTCP/IPネットワークを介してNAS(ネットワーク接続型ストレージ)サーバと通信するために使用するファイル共有プロトコルです。
vSphere環境で使用されるNFSコンポーネントの説明を次に示します。
- NFSサーバ:NFSプロトコルを使用してファイルをネットワーク経由で使用可能にするストレージデバイスまたはサーバ。Hyperflexの世界では、各コントローラVMはNFSサーバインスタンスを実行します。データストアのNFSサーバIPは、eth1:0インターフェイスIPです。
- NFSデータストア:仮想マシンファイルの保持に使用できるNFSサーバ上の共有パーティション。
- NFSクライアント:ESXiには、NFSデバイスへのアクセスに使用される組み込みのNFSクライアントが含まれます。
通常のNFSコンポーネントに加えて、IOVisorと呼ばれるVIBがESXiにインストールされています。このVIBは、ネットワークファイルシステム(NFS)マウントポイントを提供し、ESXiハイパーバイザが個々の仮想マシンに接続します。ハイパーバイザの観点からは、単にネットワークファイルシステムに接続されるだけです。
問題
マウントの問題の症状は、データストアにアクセスできないと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にない場合。これは、データストアが以前にホストに正常にマウントされなかったことを示します。
ESXiホストにSSH接続し、次のコマンドを入力します。
[root@node1:~] esxcfg-nas -l
[root@node1:~]
解決方法
マウントに関する問題の原因は異なる場合があります。検証するチェックのリストを確認し、ある場合は修正してください。
ネットワーク到達可能性チェック
データストアの問題が発生した場合に最初に確認するのは、ホストがNFSサーバのIPに到達できるかどうかです。
Hyperflexの場合のNFSサーバIPは、仮想インターフェイスeth1:0に割り当てられたIPで、SCVMの1つに存在します。
ESXiホストがNFSサーバIPにpingできない場合、データストアにアクセスできなくなります。
すべてのSCVMでifconfigコマンドを使用して、eth1:0 IPを検索します。
注:Eth1:0は仮想インターフェイスで、1つの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設定:MTUサイズとQoSポリシーがストレージデータVNICテンプレートで正しく設定されていることを確認します。ストレージデータVNICはPlatinum QoSポリシーを使用し、MTUは環境に応じて設定する必要があります。
VLAN設定:クラスタ導入時に作成されるhx-storage-data VLANは、vnicテンプレートで許可する必要があります。ネイティブとしてマークされていないことを確認します
IOvisor/SCVMclient/NFSプロキシステータスチェック
ESXIのSCVMclient vibはNFSプロキシとして機能します。仮想マシンのIOを代行受信し、対応するSCVMに送信し、必要な情報を返します。
VIBがホストにインストールされていることを確認します。これは、ESXIの1つに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
関連情報