nfsstat3 を使用して次の NFS エラーをトラブルシューティングする:オブジェクトの取得に失敗しました: 接続がありません
search cancel

nfsstat3 を使用して次の NFS エラーをトラブルシューティングする:オブジェクトの取得に失敗しました: 接続がありません

book

Article ID: 342406

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

免責事項: これは英文の記事 「Using nfsstat3 to troubleshoot NFS error: Failed to get object: No connection (2010132)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


  • ESX ホストで NFS データストアをマウントできません。
  • アンマウントすると、NFS データストアに再接続できません。
  • ある SP から NFS サーバ上の別の SP へのフェイルオーバーに 60 秒未満しか要しませんが、データストアでは切断と表示されます。
  • vmkernel またはメッセージ ログに、次のようなエントリが表示されます。

    Oct 30 06:41:02 vmkernel: 129:02:51:50.513 cpu6:49716075)WARNING: NFS: 1830: Failed to get attributes (No connection)
    Oct 30 06:41:02 vmkernel: 129:02:51:50.513 cpu6:49716075)FSS: 735: Failed to get object b00f 40 1e2053e9 97f48155 64 f1182d2 820 64000000 f1182d2 a7d5f152 1182d200000064 0 0 0 :No connection
    Oct 30 06:41:02 vmkernel: 129:02:51:50.529 cpu1:49716075)FSS: 735: Failed to get object b00f 40 39342bf2 16368dda 64 f10b622 820 64000000 f10b622 8248e439 10b62200000064 0 0 0 :No connection
    Oct 30 06:41:02 vmkernel: 129:02:51:50.637 cpu3:49716075)FSS: 735: Failed to get object b00f 40 8af3a074 31d390da 64 f0e57fd 820 64000000 f0e57fd 4b764192 e57fd00000064 0 0 0 :No connection


  • hostd ログに、次のようなエントリが表示されることがあります。

    Oct 30 06:40:31 Hostd: [2011-10-30 06:40:31.418 3F6D2B90 verbose 'EnvironmentBrowser'] Skipped inaccessible datastore DatastoreName


Environment

VMware ESXi 4.1.x Installable
VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 5.0
VMware ESX 4.1.x

Resolution

nfsstat3 サービスにより生成される拡張ログは、ログに送信される追加のログの量が多いことから、デフォルトでは無効です。

:この拡張ログを有効にする前に、 「Troubleshooting connectivity issues to an NFS datastore on ESX and ESXi hosts (1003967)」で概説されているトラブルシューティング手順に従う必要があります。
このデータの拡張 nfsstat3 ログを有効にするには、次の手順を実行します。
  1. コンソールまたは SSH セッションで root として ESXi ホストにログインします。SSH の詳細については、 「Tech Support Mode for Emergency Support (1003677)」 または 「Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910)」を参照してください。
  2. nfsstat3 ログの現在の設定を確認します(無効な場合、値は「0」です)。

    # esxcfg-advcfg -g /NFS/LogNfsStat3

  3. 拡張 nfsstat3 ログを有効にします。

    # esxcfg-advcfg -s 1 /NFS/LogNfsStat3

  4. 値が「1」に変更されたことが確認できます。

    # esxcfg-advcfg -g /NFS/LogNfsStat3

  5. この問題のトラブルシューティングが完了したら、拡張ログを無効化します(大量のログ出力を避けるため)。

    # esxcfg-advcfg -s 0 /NFS/LogNfsStat3

拡張ログが有効な場合、システム ログに次の拡張情報が表示されます。次の例は、ESXi 5.0 ホスト上の /var/log/vmkernel.log ファイルからの抜粋です。

2012-01-05T11:14:33.398Z cpu3:373486)NFS: 4544: Received nfsstat3 code 2 for the procedure 3 client 0x41001a501fb0 sock 0x410018d7d170 server's universal address 10.131.8.55.8.1
2012-01-05T11:14:33.405Z cpu7:7019844)NFS: 4544: Received nfsstat3 code 70 for the procedure 1 client 0x41002b3045f0 sock 0x410030096010 server's universal address 10.21.150.201.8.1


クライアントから送信される各 NFS 操作について、ステータス値が NFS サーバから返されます。各プロシージャの結果と一緒に nfsstat3 タイプが返されます(NULL プロシージャを除く)。
NFS3_OK の値は、呼び出しが正常に完了したことを表します。その他のすべての値は、呼び出しで何らかのエラーが発生したことを表します。エラーはエラー コードで特定されます。
使用可能なステータス コードは次のとおりです。

NFS3_OK = 0、
NFS3ERR_PERM = 1、
NFS3ERR_NOENT = 2、
NFS3ERR_IO = 5、
NFS3ERR_NXIO = 6、
NFS3ERR_ACCES = 13、
NFS3ERR_EXIST = 17、
NFS3ERR_XDEV = 18、
NFS3ERR_NODEV = 19、
NFS3ERR_NOTDIR = 20、
NFS3ERR_ISDIR = 21、
NFS3ERR_INVAL = 22、
NFS3ERR_FBIG = 27、
NFS3ERR_NOSPC = 28、
NFS3ERR_ROFS = 30、
NFS3ERR_MLINK = 31、
NFS3ERR_NAMETOOLONG = 63、
NFS3ERR_NOTEMPTY = 66、
NFS3ERR_DQUOT = 69、
NFS3ERR_STALE = 70、
NFS3ERR_REMOTE = 71、
NFS3ERR_BADHANDLE = 10001、
NFS3ERR_NOT_SYNC = 10002、
NFS3ERR_BAD_COOKIE = 10003、
NFS3ERR_NOTSUPP = 10004、
NFS3ERR_TOOSMALL = 10005、
NFS3ERR_SERVERFAULT = 10006、
NFS3ERR_BADTYPE = 10007、
NFS3ERR_JUKEBOX = 10008

定義された各エラーの説明は次のとおりです。

NFS3_OK
呼び出しが正常に完了したことを表します。

NFS3ERR_PERM
所有者ではありません。呼び出しユーザーが
権限を持つユーザー (root) でも操作対象の所有者
でもないため、操作は許可されませんでした。

NFS3ERR_NOENT
そのようなファイルまたはディレクトリはありません。指定されたファイル
またはディレクトリ名は存在しません。

NFS3ERR_IO
I/O エラー。ハード エラー(ディスク エラーなど)
が、要求された操作の処理中に発生しました。

NFS3ERR_NXIO
I/O エラー。そのようなデバイスまたはアドレスはありません。

NFS3ERR_ACCES
権限が拒否されました。呼び出しユーザーに
要求された操作を実行するための正しい権限がありません。
これは、所有者または権限を持つユーザーの権限の問題
に限定される NFS3ERR_PERM とは異なります。

NFS3ERR_EXIST
ファイルが存在します。指定されたファイルがすでに存在します。

NFS3ERR_XDEV
デバイス間ハード リンクを試行しました。

NFS3ERR_NODEV
そのようなデバイスはありません。

NFS3ERR_NOTDIR
ディレクトリではありません。呼び出しユーザーは、
ディレクトリ操作にディレクトリ以外のオブジェクトを指定しました。

NFS3ERR_ISDIR
ディレクトリです。呼び出しユーザーは、
非ディレクトリ操作にディレクトリを指定しました。

NFS3ERR_INVAL
操作に無効なまたはサポートされない引数が指定されました。
これに該当する 2 例を挙げます。シンボリック リンク以外のオブジェクトに対する
READLINK の試行、
あるいは SETATTR 操作がサポートされないサーバの時刻フィールドに対する
SETATTR の試行です。

NFS3ERR_FBIG
ファイルが大きすぎます。操作を行うと、ファイル
がサーバの上限値を超過します。

NFS3ERR_NOSPC
デバイスに領域がありません。操作を行うと、サーバの
ファイル システムがその上限値を超過します。

NFS3ERR_ROFS
読み取り専用のファイル システムです。読み取り専用
ファイル システムに変更操作が試行されました。

NFS3ERR_MLINK
ハード リンクが多すぎます。

NFS3ERR_NAMETOOLONG
操作に含まれるファイル名が長すぎます。

NFS3ERR_NOTEMPTY
空ではないディレクトリ
を削除しようとしました。

NFS3ERR_DQUOT
リソース(クォータ)のハード制限を超過しました。サーバでユーザーの
リソースの上限値を超過しました。

NFS3ERR_STALE
ファイル ハンドルが無効です。
引数で指定されたファイル ハンドルが無効でした。そのファイル ハンドルで
参照されるファイルが存在しなくなっているか、そのファイルへのアクセスが
無効にされました。

NFS3ERR_REMOTE
パスに含まれるリモートのレベルが多すぎます。引数で指定されたファイル
ハンドルが、サーバ上の非ローカル ファイル システム
のファイルを参照しました。

NFS3ERR_BADHANDLE
NFS ファイル ハンドルが無効です。ファイル ハンドルが
内部整合性チェックに合格しませんでした。

NFS3ERR_NOT_SYNC
SETATTR 操作中、更新の同期で不一致が
検出されました。

NFS3ERR_BAD_COOKIE
READDIR または READDIRPLUS Cookie が失効しています。

NFS3ERR_NOTSUPP
操作はサポートされていません。

NFS3ERR_TOOSMALL
バッファまたは要求が小さすぎます。

NFS3ERR_SERVERFAULT
サーバ上で、有効な NFS バージョン 3 プロトコル
のエラー値のいずれにもマップされないエラーが発生しました。
クライアントは、これを適切なエラーに変換する必要があります。
UNIX クライアントは、これを EIO に変換することがあります。

NFS3ERR_BADTYPE
サーバによってサポートされないタイプ
のオブジェクトの作成が試行されました。

NFS3ERR_JUKEBOX
サーバは要求を開始しましたが、指定時間内
に完了できませんでした。クライアントは待機してから
新しい RPC トランザクション ID を使用して要求を試行する必要があります。
たとえば、階層化ストレージをサポートするサーバが、
移行済みのファイルを処理する要求を受信すると、
サーバからこのエラーが返されます。この場合、
サーバは移行プロセスを開始し、クライアントには
このエラーで応答する必要があります。


これらのエラーの詳細については、http://www.ietf.org/rfc/rfc1813.txt を参照してください。


Additional Information

Using nfsstat3 to troubleshoot NFS error: Failed to get object: No connection