Amazon Elastic File System (Amazon EFS) ファイルシステムに接続しようとすると、「Disk quota exceeded」(ディスククォータを超過しました) というエラーが表示されます。このエラーをトラブルシューティングして再発を防ぐにはどうすればよいですか?
解決方法
「Disk quota exceeded」(ディスククォータを超過しました) というエラーメッセージは、ディスクの制限を超過すると表示されます。Amazon EFS はユーザーディスククォータをサポートしていないため、これは Network File System (NFS) クライアントの上限に達した場合に発生します。または、このエラーは、制限に達した EFS ファイルシステム上のファイルをユーザーが開こうとしたときに発生します。詳細については、「NFS クライアントのクォータ」を参照してください。
制限を超過すると、次のエラーメッセージが表示されることもあります:
- LockIngitFailedException: このエラーは、ロックの数を超過した場合に発生することがあります。
- write.lock: java.io.IOException: このエラーは、Java ベースのアプリケーションを使用している時、NFS クライアントのクォータが超過した場合に発生する場合があります。
ディスククォータ超過エラーを防ぐ
ディスククォータを超過しないようにするには、次の操作を行います:
- 特定の制限を確認します。nfsstat や nfsiostat などのパフォーマンスモニタリングツールを使用できます。これらのツールの詳細については、Red Hat ページの「Using nfsstat and nfsiostat to troubleshoot NFS performance issues on Linux」(nfsstat と nfsiostat を使用して Linux での NFS パフォーマンスの問題のトラブルシューティングする) を参照してください。ユーザーアカウント、開いているファイル、プロセスロックなどの特定の制限を超えないようにアプリケーションを変更します。
- ワークロードを複数のインスタンスに分割します。NFS クライアントによっては、「Disk quota exceeded」(ディスククォータを超過しました) エラーを引き起こす可能性のあるさまざまなファイル使用量の制限があります。ただし、このエラーの原因につながる、すべてのクライアントで共有される制限は 1 つだけです。具体的には、接続されているすべてのインスタンスとそのファイルにアクセスするユーザー全体で、1 つのファイルが設定できるロックの数が最大 512 個であるということです。したがって、ワークロードをより多くのインスタンスに分割することで、インスタンスの制限に達する可能性が低くなります。
上記のステップを実行しても「disk quota exceeded」(ディスククォータを超過しました) エラーが引き続き表示される場合は、AWS サポートチームにお問い合わせの上、追加のトラブルシューティングを依頼してください。