マウントの問題のトラブルシューティング - Amazon Elastic File System

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

マウントの問題のトラブルシューティング

次に、EFSファイルシステムのマウントに関する問題のトラブルシューティングについて説明します。

Windows インスタンスでのファイルシステムのマウントが失敗する

Microsoft Windows の Amazon EC2インスタンスでのファイルシステムのマウントは失敗します。

実行するアクション

サポートされていない Windows EC2インスタンスEFSで Amazon を使用しないでください。

サーバーによってアクセスが拒否されました

ファイルシステムのマウントが失敗し、次のメッセージが表示されます。

/efs mount.nfs4: access denied by server while mounting 127.0.0.1:/

この問題は、NFSクライアントにファイルシステムをマウントするアクセス許可がない場合に発生する可能性があります。

実行するアクション

を使用してファイルシステムをマウントする場合はIAM、マウントコマンドで -o iamオプションを使用していることを確認してください。これにより、EFSマウントヘルパーは認証情報をEFSマウントターゲットに渡すように指示されます。それでもアクセスできない場合は、ファイルシステムポリシーと ID ポリシーをチェックして、接続に適用されるDENY句がないこと、および接続に適用されるALLOW句が少なくとも 1 つあることを確認します。詳細については、「IAM を使用してファイルシステムのデータアクセスを制御する」および「ファイルシステムポリシーの作成」を参照してください。

自動マウントが失敗してインスタンスがレスポンスしない

この問題は、ファイルシステムがインスタンスで自動的にマウントされ、_netdev オプションが宣言されていない場合に発生することがあります。_netdev が欠落している場合、EC2インスタンスは応答を停止することがあります。この結果は、コンピューティングインスタンスがネットワークを開始後、ネットワークファイルシステムを初期化する必要があるためです。

実行するアクション

この問題が発生した場合は、 AWS サポートにお問い合わせください。

/etc/fstab に複数の Amazon EFS ファイルシステムをマウントできない

で 2 つ以上の Amazon EFSエントリを持つ systemd init システムを使用するインスタンスでは/etc/fstab、これらのエントリの一部またはすべてがマウントされない場合があります。この場合、dmesg 出力で以下のような 1 つ以上の行が表示されます。

NFS: nfs4_discover_server_trunking unhandled error -512. Exiting with error EIO
実行するアクション

この場合、/etc/systemd/system/mount-nfs-sequentially.service に新しい systemd サービスファイルを作成することをお勧めします。ファイルに含めるコードは、ファイルシステムを手動でマウントするか、Amazon EFSマウントヘルパーを使用するかによって異なります。

  • ファイルシステムを手動でマウントする場合、ExecStartコマンドはネットワークファイルシステム () を指す必要がありますNFS4。ファイルに次のコードを含めます。

    [Unit] Description=Workaround for mounting NFS file systems sequentially at boot time After=remote-fs.target [Service] Type=oneshot ExecStart=/bin/mount -avt nfs4 RemainAfterExit=yes [Install] WantedBy=multi-user.target
  • Amazon EFSマウントヘルパーを使用している場合、Transport Layer Security () を使用するには、ExecStartコマンドが EFSではなく を指NFS4している必要がありますTLS。ファイルに次のコードを含めます。

    [Unit] Description=Workaround for mounting NFS file systems sequentially at boot time After=remote-fs.target [Service] Type=oneshot ExecStart=/bin/mount -avt efs RemainAfterExit=yes [Install] WantedBy=multi-user.target

ファイル作成後、次の 2 つのコマンドを実行します。

  1. sudo systemctl daemon-reload

  2. sudo systemctl enable mount-nfs-sequentially.service

次に、Amazon EC2インスタンスを再起動します。通常 1 秒以内にオンデマンドでファイルシステムがマウントされます。

エラーメッセージ「wrong fs type」でマウントコマンドが失敗する

マウントコマンドが失敗し、次のエラーメッセージが表示されます。

mount: wrong fs type, bad option, bad superblock on 10.1.25.30:/, missing codepage or helper program, or other error (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program) In some cases useful info is found in syslog - try dmesg | tail or so.
実行するアクション

このメッセージが表示された場合、nfs-utils (または Ubuntu では nfs-common) パッケージをインストールします。詳細については、「NFS クライアントのインストール」を参照してください。

エラーメッセージ「incorrect mount option」でマウントコマンドが失敗する

マウントコマンドが失敗し、次のエラーメッセージが表示されます。

mount.nfs: an incorrect mount option was specified
実行するアクション

このエラーメッセージは、ほとんどの場合、Linux ディストリビューションがネットワークファイルシステムバージョン 4.0 および 4.1 (NFSv4) をサポートしていないことを意味します。これが該当するかどうかを確認するには、次のコマンドを実行します。

$ grep CONFIG_NFS_V4_1 /boot/config*

前述のコマンドが を返す場合# CONFIG_NFS_V4_1 is not set、.NFSv41 は Linux ディストリビューションではサポートされていません。NFSv4.1 をサポートする Amazon Elastic Compute Cloud (Amazon AMIs) の Amazon マシンイメージ (EC2) のリストについては、「」を参照してくださいNFS サポート

アクセスポイントでのマウントは失敗します。

アクセスポイントでマウントすると、マウントコマンドが失敗し、次のエラーメッセージが表示されます。

mount.nfs4: mounting access_point failed, reason given by server: No such file or directory
実行するアクション

このエラーメッセージは、指定されたEFSパスが存在しないことを示します。アクセスポイントのルートディレクトリの所有権とアクセス許可を必ず指定してください。EFS は、この情報がないとルートディレクトリを作成しません。詳細については、「Amazon EFSアクセスポイントの使用」を参照してください。

ルートディレクトリの所有権とアクセス許可を指定せず、ルートディレクトリがまだ存在しない場合、 EFS はルートディレクトリを作成しません。この場合、アクセスポイントを使用してファイルシステムをマウントしようとすると失敗します。

ファイルシステムを作成した後すぐにファイルシステムのマウントが失敗する

ドメインネームサービス (DNS) レコードのマウントターゲットを作成してから、 で完全に伝播されるまでに最大 90 秒かかることがあります AWS リージョン。

実行するアクション

例えば、 AWS CloudFormation テンプレートを使用してファイルシステムをプログラムで作成およびマウントする場合は、待機条件を実装することをお勧めします。

ファイルシステムのマウントがハングした後、タイムアウトエラーで失敗する

ファイルシステムのマウントコマンドが 1、2 分間ハングし、タイムアウトエラーで失敗します。次のコードは例を示しています。

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/ mnt [2+ minute wait here] mount.nfs: Connection timed out $ 

実行するアクション

このエラーは、Amazon EC2インスタンスまたはマウントターゲットセキュリティグループが正しく設定されていないために発生する可能性があります。マウントターゲットセキュリティグループに、EC2セキュリティグループからのNFSアクセスを許可するインバウンドルールがあることを確認します。詳細については、「セキュリティグループの作成」を参照してください。

指定したマウントターゲットの IP アドレスが有効であることを確認します。間違った IP アドレスを指定し、その IP アドレスにマウントを拒否するものが他に何もない場合、この問題が生じることがあります。

DNS 名前NFSを使用したファイルシステムのマウントが失敗する

次の例に示すように、ファイルシステムDNSの名前を使用して (NFSクライアントを使用せずに) amazon-efs-utilsクライアントを使用してファイルシステムをマウントしようとすると失敗します。

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.efs.aws-region.amazonaws.com:/ mnt mount.nfs: Failed to resolve server file-system-id.efs.aws-region.amazonaws.com: Name or service not known. $ 

実行するアクション

VPC 設定を確認します。カスタム を使用している場合はVPC、DNS設定が有効になっていることを確認してください。詳細については、「Amazon ユーザーガイドDNS」の「 の属性VPC」を参照してください。 VPC また、ファイルシステムとマウントターゲットDNS名は、VPC存在する の外部から解決できません。

mount コマンドでDNS名前を使用してファイルシステムをマウントする前に、次の操作を行う必要があります。

  • Amazon EC2インスタンスと同じアベイラビリティーゾーンに Amazon EFSマウントターゲットがあることを確認します。

  • Amazon EC2インスタンスVPCと同じ にマウントターゲットがあることを確認します。それ以外の場合、別の にあるEFSマウントターゲットにDNS名前解決を使用することはできませんVPC。詳細については、「別の AWS アカウント または からのEFSファイルシステムのマウント VPC」を参照してください。

  • Amazon が提供するDNSサーバーを使用するようにVPC設定された Amazon 内で Amazon EC2インスタンスを接続します。詳細については、DHCP「Amazon ユーザーガイド」の「Amazon のオプションセットVPCVPC」を参照してください。

  • 接続する Amazon EC2インスタンスVPCの Amazon でDNSホスト名が有効になっていることを確認します。詳細については、「Amazon ユーザーガイドDNS」の「 の属性VPC」を参照してください。 VPC

「nfs が応答していません」が表示されてファイルシステムのマウントが失敗する

Amazon EFS ファイルシステムのマウントは、 との Transmission Control Protocol (TCP) 再接続イベントで失敗します"nfs: server_name still not responding"

実行するアクション

noresvport マウントオプションを使用して、ネットワーク接続が再確立されたときにNFSクライアントが新しいTCPソースポートを使用していることを確認します。これにより、ネットワーク復旧イベント後の中断のない可用性が保証されます。

マウントターゲットのライフサイクル状態がスタックする

マウントターゲットのライフサイクル状態が [creating (作成中)] または [deleting (削除中)] の状態でスタックします。

実行するアクション

CreateMountTarget または DeleteMountTarget の呼び出しを再試行します。

マウントターゲットのライフサイクルの状態にエラーが表示される

マウントターゲットのライフサイクルステータスが「エラー」と表示されます。

実行するアクション

仮想プライベートクラウド (DNS) に競合するホストゾーンがある場合、Amazon は新しいファイルシステムのマウントターゲットに必要なドメインネームシステム (VPC) レコードを作成EFSできません。Amazon は、カスタマー所有のホストゾーン内に新しいレコードを作成EFSすることはできません。競合するefs.<region>.amazonaws.com.rproxy.goskope.comDNS範囲のホストゾーンを維持する必要がある場合は、別の にホストゾーンを作成しますVPC。のDNS考慮事項の詳細についてはVPC、「 のDNS属性VPC」を参照してください。

この問題を解決するには、競合するefs.<region>.amazonaws.comホストを から削除VPCし、マウントターゲットを再度作成します。マウントターゲットの削除について詳細は、「マウントターゲットの管理」を参照してください。

マウントが応答しない

Amazon EFSマウントが応答しないように見える。たとえば、ls のようなコマンドがハングします。

実行するアクション

別のアプリケーションが大量のデータをファイルシステムに書き込んでいる際に、このエラーが発生することがあります。オペレーションが完了するまで、書き込み中のファイルへのアクセスがブロックされている可能性があります。一般的に、書き込まれているファイルにアクセスしようとするコマンドまたはアプリケーションはハングしているように見えます。たとえば、ls コマンドは、書き込み中のファイルに実行された場合、ハングする場合があります。この結果は、一部の Linux ディストリビューションでは、ls コマンドに別名を付け、ディレクトリの内容を一覧表示するだけでなく、ファイルの属性を取得するためです。

この問題を解決するには、次の例のように、別のアプリケーションが Amazon EFSマウントにファイルを書き込み、それが Uninterruptible sleep (D) 状態であることを確認します。

$ ps aux | grep large_io.py root 33253 0.5 0.0 126652 5020 pts/3 D+ 18:22 0:00 python large_io.py /efs/large_file

このような場合には、他の書き込み操作が完了するのを待つか、回避策を実装して問題を解決できます。ls の例では、エイリアスの代わりに直接 /bin/ls コマンドを使用できます。これにより、書き込まれているファイルにハングすることなくコマンドを続行できます。一般的に、データを書き込むアプリケーションが (おそらく fsync(2) を使用して) 定期的にデータを強制的にフラッシュする場合、そうすることで他のアプリケーションへのファイルシステムの応答性が向上する可能性があります。ただし、この改善は、アプリケーションがデータを書き込むときのパフォーマンスを犠牲にする可能性があります。

マウントされたクライアントは切断されます。

Amazon EFS ファイルシステムにマウントされたクライアントは、いくつかの原因により切断されることがあります。NFS クライアントは、アプリケーションのパフォーマンスと可用性に対する定期的な切断の影響を最小限に抑えるために、中断が発生した場合に自動的に再接続するように設計されています。ほとんどの場合、クライアントは数秒以内に透過的に再接続します。

ただし、Linux カーネルの古いバージョン (バージョン v5.4 以下) に含まれているNFSクライアントソフトウェアには、切断時にNFSクライアントが同じTCPソースポートで再接続を試みる動作が含まれています。この動作は TCP に準拠しておらずRFC、これらのクライアントがNFSサーバー (この場合はEFSファイルシステム) への接続をすばやく再確立できない可能性があります。

この問題を解決するには、Amazon EFSマウントヘルパーを使用してEFSファイルシステムをマウントすることを強くお勧めします。EFS マウントヘルパーは、Amazon EFS ファイルシステム用に最適化されたマウント設定を使用します。EFS クライアントとマウントヘルパーの詳細については、「」を参照してくださいAmazon EFS ツールのインストール

EFS マウントヘルパーを使用できない場合は、この問題を回避するために、新しいTCPソースポートを使用して接続を再確立するようにNFSクライアントに指示するnoresvportNFSマウントオプションを使用することを強くお勧めします。詳細については、「推奨されるNFSマウント設定」を参照してください。

新しくマウントされたファイルシステムでの操作が「bad file handle」エラーを返します

新しくマウントされたファイルシステムで実行された操作が bad file handle エラーを返します。

このエラーは、Amazon EC2インスタンスが指定された IP アドレスを持つ 1 つのファイルシステムと 1 つのマウントターゲットに接続され、そのファイルシステムとマウントターゲットが削除された場合に発生する可能性があります。同じマウントターゲット IP アドレスでその Amazon EC2インスタンスに接続するための新しいファイルシステムとマウントターゲットを作成すると、この問題が発生する可能性があります。

実行するアクション

このエラーは、ファイルシステムをアンマウントし、Amazon EC2インスタンスにファイルシステムを再マウントすることで解決できます。Amazon EFS ファイルシステムのアンマウントの詳細については、「」を参照してくださいファイルシステムをアンマウントする

ファイルシステムのアンマウントが失敗する

ファイルシステムが使用中の場合、アンマウントすることはできません。

実行するアクション

この問題は以下の方法で解決できます。

  • 遅延アンマウント、umount -l を使用します。これは、実行時にファイルシステム階層からファイルシステムを切り離し、ビジー状態でなくなるとすぐにファイルシステムへのすべてのリファレンスをクリーンアップします。

  • すべての読み取りおよび書き込み操作が終了するまで待機してから、umount コマンドを再実行してください。

  • umount -f コマンドを使用して強制的にアンマウントします。

    警告

    強制的なアンマウントにより、ファイルシステムで現在処理中の、すべてのデータ読み込みまたは書き込み操作が中断されます。このオプションを使用する場合の詳細とガイダンスについては、umount man page を参照してください。