

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

# クォータ関連のファイル操作エラーのトラブルシューティング
<a name="troubleshooting-efs-fileop-errors"></a>

EFS ファイルシステムにアクセスすると、ファイルシステム内のファイルに特定の制限が適用されます。これらの制限を超えると、ファイル操作エラーが発生します。Amazon EFS でのファイルベースの制限の詳細については、「[Amazon EFS のクォータ](limits.md)」を参照してください。

以下に、いくつかの一般的なファイル操作エラーと各エラーに関連する制限を示します。

**Topics**
+ [開いているファイルとファイルロックの確認](#check-open-files-locks)
+ [「Disk quota exceeded」エラーでコマンドが失敗する](#diskquotaerror)
+ [「I/O error」でコマンドが失敗する](#ioerror)
+ [「File name is too long」エラーでコマンドが失敗する](#filenametoolong)
+ [「File not found」エラーでコマンドが失敗する](#filenotfound)
+ [「Too many links」エラーでコマンドが失敗する](#hardlinkerror)
+ [「File too large」エラーでコマンドが失敗する](#filesizeerror)

## 開いているファイルとファイルロックの確認
<a name="check-open-files-locks"></a>

ファイルオペレーションエラーをトラブルシューティングするには、EFS マウントポイントで開かれているファイルとファイルロックを調べることで、クライアントシステムが制限に達したかどうかを確認できます。
+ **開かれているファイルを確認する** – オペレーティングシステムのツールを使用して、EFS マウントパスで開かれているファイルを一覧表示します。これにより、開かれているファイルの制限に近づいているかどうかを特定できます。例えば、Linux では以下を使用できます。

  ```
  lsof <efs-mount-path>
  ```
+ **ファイルロックの確認** – システムのロックモニタリングツールを使用して、EFS マウントパスでロックされているファイルを一覧表示します。これにより、ロック制限に達しているかどうかを特定できます。例えば、Linux では以下を使用できます。

  ```
  lslocks | grep <efs-mount-path>
  ```

これらのコマンドは、EFS の制限に対する現在の使用状況を表示し、ファイルオペレーションエラーがシステムまたはサービスの制限に達することに関連しているかどうかを判断するのに役立ちます。

## 「Disk quota exceeded」エラーでコマンドが失敗する
<a name="diskquotaerror"></a>

 Amazon EFS は現在、ユーザーディスククォータをサポートしていません。このエラーは、次のいずれかの制限を超えた場合に発生することがあります。
+ 同時にファイルを開くことができるアクティブユーザー数は最大 65,536 人です。複数回ログインしたユーザーアカウントは 1 人のアクティブユーザーとしてカウントされます。
+ 1 つのインスタンスで同時に開くことができるファイル数は最大 65,536 個です。ディレクトリの内容を一覧表示することは、ファイルを開くこととしてカウントされません。
+ クライアント上のそれぞれ固有のマウントは、接続ごとに合計 65,536 ロックまで取得できます。

**実行するアクション**  
この問題が発生した場合は、上記のいずれの制限を超過しているかを特定し、その制限を満たすように変更することで解決できます。詳細については、「[NFS クライアントのクォータ](limits.md#limits-client-specific)」を参照してください。現在の使用状況を確認するには、「[開いているファイルとファイルロックの確認](#check-open-files-locks)」を参照してください。

## 「I/O error」でコマンドが失敗する
<a name="ioerror"></a>

このエラーは、以下の問題のいずれかが発生したときに発生します。
+ インスタンスあたり 65,536 を超えるアクティブユーザーアカウントが同時にファイルを開いています。

**実行するアクション**  
この問題が発生した場合は、インスタンスで開いているファイルのサポートされている制限を満たすことで解決できます。これを行うには、インスタンス上で Amazon EFS ファイルシステムからのファイルを同時に開いているアクティブユーザーの数を減らします。現在の使用状況を確認するには、「[開いているファイルとファイルロックの確認](#check-open-files-locks)」を参照してください。
+ ファイルシステムを暗号化する AWS KMS キーが削除されました。

**実行するアクション**  
この問題が発生した場合、そのキーで暗号化されたデータを復号化できなくなります。これは、そのデータが回復不能になることを意味します。

## 「File name is too long」エラーでコマンドが失敗する
<a name="filenametoolong"></a>

このエラーは、ファイル名またはシンボリックリンク (symlink) のサイズが長すぎる場合に発生します。ファイル名には以下の制限があります。
+ 名前の長さは、最大 255 バイトまでです。
+ シンボリックリンクのサイズは最大 4080 バイトまでです。

**実行するアクション**  
この問題が発生した場合は、サポートされている制限を満たすようにファイル名またはシンボリックリンクの長さを縮小することで解決できます。

## 「File not found」エラーでコマンドが失敗する
<a name="filenotfound"></a>

このエラーは、Oracle E-Business スイートの一部の古い 32 ビットバージョンが 32 ビットのファイル I/O インターフェイスを使用し、EFS が 64 ビットの inode 番号を使用するために発生します。失敗する可能性のあるシステムコールには、stat () とreaddir () があります。

**実行するアクション**  
このエラーが発生した場合は、**nfs.enable\$1ino64=0 kernel** ブートオプションを使用して解決できます。このオプションでは、64 ビットの EFS inode 番号が 32 ビットに圧縮されます。カーネルブートオプションは、Linux ディストリビューションごとに異なる方法で処理されます。Amazon Linux では、`/etc/default/grub` で `GRUB_CMDLINE_LINUX_DEFAULT` 変数に `nfs.enable_ino64=0 kernel` を追加することで、このオプションをオンにします。カーネルブートオプションを有効にする方法については、お使いのディストリビューションのドキュメントを参照してください。

## 「Too many links」エラーでコマンドが失敗する
<a name="hardlinkerror"></a>

このエラーは、ファイルへのハードリンクが多すぎる場合に発生します。1 つのファイルに持つことができるハードリンクは最大 177 個までです。

**実行するアクション**  
この問題が発生した場合は、ファイルへのハードリンクの数をサポートされている制限を満たすように減らすことで解決できます。

## 「File too large」エラーでコマンドが失敗する
<a name="filesizeerror"></a>

このエラーは、ファイルが大きすぎる場合に発生します。1 つのファイルのサイズは、最大 52,673,613,135,872 バイト (47.9 TiB) までです。

**実行するアクション**  
この問題が発生した場合は、サポートされている制限を満たすようにファイルのサイズを小さくすることで解決できます。