Amazon Elastic File System
ユーザーガイド

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

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

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

実行するアクション

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

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

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

実行するアクション

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

/etc/fstab での複数の Amazon EFS ファイルシステムのマウントが失敗する

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

NFS: nfs4_discover_server_trunking unhandled error -512. Exiting with error EIO

実行するアクション

この場合、以下の内容で /etc/systemd/system/mount-nfs-sequentially.service に新しい systemd サービスファイルを作成することをお勧めします。

[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

その後、次の 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 ディストリビューションが Network File System バージョン 4.0 および 4.1 (NFSv4) をサポートしていないことを意味します。これが該当するかどうかを確認するには、次のコマンドを実行します。

$ grep CONFIG_NFS_V4_1 /boot/config*

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

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

マウントターゲットを作成した後、ドメインネームサービス (DNS) のレコードが AWS リージョンに完全に伝達するには、最大 90 秒かかります。

実行するアクション

たとえば、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 インスタンスまたはマウントターゲットのセキュリティグループが正しく設定されていないために発生することがあります。詳細については、セキュリティグループの作成を参照してください。

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

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

DNS 名を使用したファイルシステムのマウントが失敗します。コードの例を以下に示します。

$ 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 VPC ユーザーガイド」の「VPC での DNS の使用」を参照してください。

mount コマンドで DNS 名を指定するには、以下を実行する必要があります。

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

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

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

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

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

実行するアクション

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

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

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

実行するアクション

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

マウントが応答しない

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) を使用して) 定期的にデータを強制的にフラッシュする場合、そうすることで他のアプリケーションへのファイルシステムの応答性が向上する可能性があります。ただし、この改善は、アプリケーションがデータを書き込むときのパフォーマンスを犠牲にする可能性があります。

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

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

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

実行するアクション

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

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

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

実行するアクション

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

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

  • umount オプションを使用して -f コマンドを強制的に終了します。

    警告

    強制的なアンマウントにより、ファイルシステムで現在処理中の、すべてのデータ読み込みまたは書き込み操作が中断されます。