マウント・コマンドの失敗
ファイル・システムのマウント・コマンドの問題をトラブルシューティングする方法について学習します。
マウント・コマンドが失敗する一般的な原因は次のとおりです:
ネットワーク・セキュリティ・ルールがない
症状:マウント・コマンドが失敗し、次のようなエラーが返されます:
mount.nfs: Connection timed out
mount.nfs: Protocol not supported*
*clnt_create: RPC: Port mapper failure - Timed out*
原因: ネットワーク・セキュリティ・ルールが正しく設定されていないか、存在しません。
解決策: telnet
、nc
またはssh
ユーティリティを使用して、ファイル・ストレージ・マウント・ターゲットへの接続をテストします。
これらの接続テストのいずれかが失敗した場合は、ファイル・ストレージに対するVCNセキュリティ・ルールの構成の手順に従って、イングレスおよびエグレス・ネットワーク・セキュリティ・ルールが設定されていることを確認します。
Telnetでのテスト
次のtelnet
コマンドを実行しますこのコマンドの変数をマウント・ターゲットのIPアドレスに置き換え、NFSポート2048、2049、2050および11を続けてテストします:
telnet <Mount_Target_IP_address> <port>
接続に成功すると、次のような結果が返されます:
Trying <Mount_Target_IP_address>...
Connected to <Mount_Target_IP_address>.
Escape character is '^]'.
失敗すると、次のような結果が返されます:
Trying 10.0.0.5...
telnet: connect to address 10.0.0.5: Connection timed out
ncを使用したテスト
次のnc
コマンドを実行しますこのコマンドの変数をマウント・ターゲットのIPアドレスに置き換え、NFSポート2048、2049、2050および11を続けてテストします:
nc -z -v <Mount_Target_IP_address> <port>
接続に成功すると、次のような結果が返されます:
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.0.0.5:2048.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
失敗すると、次のような結果が返されます:
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connection timed out.
telnetおよびncのインストール
デフォルトでは、多くのOracle Cloud Infrastructure Computeイメージにtelnet
およびnc
ユーティリティがインストールされていません。これらのユーティリティをインスタンスにインストールするには、次のyumコマンドを使用します:
sudo yum install telnet nc -y
ポリシーでtelnetおよびncユーティリティのインストールが許可されていない場合は、sshユーティリティを使用して接続をテストできます。このコマンドの変数をマウント・ターゲットのIPアドレスに置き換え、NFSポート2048、2049、2050および11を続けてテストします:
ssh <Mount_Target_IP_address> -p <Port>
sshコマンドのレスポンスが、考えられるマウント失敗原因を特定するのに役立ちます:
ssh_exchange_identification: Connection closed by remote host
- これは正常なレスポンスです。これは、インスタンスが問題なくマウント・ターゲットに接続できることを示します。ssh: connect to host 10.0.0.5 port 2048: Connection timed out
- このレスポンスは、マウント・ターゲットに接続できないことを示します。ファイル・ストレージに対するVCNセキュリティ・ルールの構成の手順に従って、イングレスおよびエグレス・ネットワーク・セキュリティ・ルールが設定されていることを確認してください。ssh: connect to host 10.0.0.6 port 2048: No route to host
- このレスポンスは、マウント・ターゲットが存在しないか、指定されたIPアドレスが間違っていることを示します。
Windows PowerShellを使用して、ファイル・システムをマウントしているWindowsインスタンスからの接続をテストします。
- 「スタート」メニューから「Windows PowerShell」を選択します。
-
次のコマンドを連続して実行します。
Test-NetConnection <mount_target_IP_address> 2048
Test-NetConnection <mount_target_IP_address> 2049
Test-NetConnection <mount_target_IP_address> 2050
Test-NetConnection <mount_target_IP_address> 111
前述のコマンドの出力でTcpTestSucceeded
がTrue
として返された場合、接続は正常に確立されました。戻り値がFalse
の場合は、ファイアウォールとネットワークのセキュリティ設定を確認します。
ネットワーク・ピアリング構成が間違っている
症状: マウント・コマンドが失敗します。
原因: インスタンスとファイル・システム間のネットワークのピアリング構成に問題があることが、接続に影響を及ぼしています。ネットワーク・ピアリングの例を次に示します:
- リモート・ピアリング: 同じテナンシ、異なるリージョン
- ローカル・ピアリング: 同じリージョン、クロステナンシ
- オンプレミス・ネットワークからOracle Cloud Infrastructureへ
解決策: トラフィックが許可されるようにネットワーク・ピアリング要素が正しく構成されていることを確認します。トラフィックを制限する要素の例を次に示します:
- ルート表のソースおよび宛先
- ファイアウォール・ルール
同じVCNまたはサブネット内のインスタンスからファイル・システムをマウントできる場合、ピアリング・ネットワーク構成によって接続の問題が発生します。詳細は、ネットワーキングの概要を参照してください。
エクスポート・オプションがない
症状: マウント・コマンドが次のようなエラーで失敗します:
_mount.nfs: mount(2): No such file or directory
_mount.nfs: Protocol not supported
原因: マウント・コマンドで使用しているエクスポートに対してエクスポート・オプションが指定されていません。
解決策: ファイル・システムのマウントに使用するエクスポートには、少なくとも1つのエクスポート・オプションが必要です。詳細は、NFSエクスポートおよびエクスポート・オプションの作業およびエクスポートおよびエクスポート・オプションの編集を参照してください。
エクスポート・オプションでインスタンスが許可されていない
原因: エクスポート・オプションで、ファイル・システムがマウントされるインスタンスが許可されていません。
解決策: エクスポート・オプションのソースCIDRを更新して、目的のインスタンスを含めます。詳細は、NFSエクスポートおよびエクスポート・オプションの作業およびエクスポートおよびエクスポート・オプションの編集を参照してください。
マウント・コマンドが間違っているか、入力ミスがある
_mount.nfs: mount point <mount_point> does not exist_
または _mount.nfs: mounting <MountTarget>:<ExportPath> failed, reason given by server: No such file or directory
原因: マウント・コマンド内の情報が間違っているか、入力ミスがあります。
解決策: マウント・コマンド内の情報が正しいことを確認します:
- マウント・ポイント・ディレクトリが存在することを確認します。存在しない場合は、作成します。
- マウント・コマンドでマウント・ポイントに入力ミスがないことを確認します。
- マウント・コマンドでエクスポート・パスに入力ミスがないこと、およびスペルと大/小文字がエクスポートのものと同じであることを確認します。
マウント・ポイントに入力ミスがある場合は、マウント・ポイントが存在しないことがレポートされます。
エクスポート・パスに入力ミスまたは大/小文字の不一致がある場合、パスが存在しないことがレポートされます。
エクスポート・パスは、マウント・ターゲットでファイル・システムのエクスポートを作成するときに指定します。これはマウント・ターゲット内のファイル・システムを一意に識別するもので、1つのマウント・ターゲットに複数のファイル・システムを関連付けることができます。エクスポート・パスは、マウント・ターゲットのIPアドレスに付加され、ファイル・システムのマウントに使用されます。例:
sudo mount 10.0.0.5:/example/path /mnt/mountpointA
この例では、10.0.0.5:
はマウント・ターゲットのIPアドレスで、/example/path
はエクスポート・パスです。/mnt/mountpointA
は、外部ファイル・システムがマウントされているクライアント・インスタンス上のディレクトリへのパスです。
- ファイル・システム・エクスポートからマウント・コマンドを直接コピーすることで、正しいエクスポート・パスを取得できます。これらのコマンドでは、入力エラーが発生する可能性を最小限に抑えられます。詳細は、マウント・コマンドのサンプルの取得を参照してください。
- マウント・ターゲットに関連付けられた1つのファイル・システムで、'/'のエクスポート・パスが使用されていると、そのマウント・ターゲットに複数のファイル・システムを関連付けることができません。同じマウント・ターゲットに関連付けられた2つのファイル・システムが、もう一方の完全なパスを含むエクスポート・パスを持つことはできません。
詳細は、ファイル・システム内のパスを参照してください。
FQDNを使用したマウント・コマンドは失敗するが、IPアドレスを使用すると成功する
症状: マウント・コマンドでFQDNを使用するとファイル・システムをマウントできませんが、IPアドレスを使用してマウントすると成功します。
原因: マウント・ターゲットにホスト名が指定されていると、ファイル・ストレージ・サービスによって、そのFQDNが作成され、ファイル・システムのマウント・コマンド・サンプルに含められます。FQDNがマウント・ターゲットのIPアドレスに正しく解決されることを確認します。DNS解決の詳細は、仮想クラウド・ネットワークのDNSを参照してください。
インスタンス上のサードパーティのセキュリティ・モジュールによってNFSマウントが制限されている
症状: マウント・コマンドが失敗します。dmesg
操作で、次のようなメッセージが表示されます(モジュールによって異なる場合があります):
Redirecting File System Framework Version 0.10 <www.redirfs.org> with TrendMicro Patch...
原因: TrendMicro Deep Security Agentなどのセキュリティ・モジュールには、NFSを干渉する可能性があるマウント・フックがあります。
解決策: 次のコマンドを実行して、ds_agent
を停止します:
/etc/init.d/ds_agent stop