

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 針對與配額相關的檔案操作錯誤進行故障診斷
<a name="troubleshooting-efs-fileop-errors"></a>

當您存取 EFS 檔案系統時，會套用檔案系統中檔案的特定限制。超過這些限制將造成檔案操作錯誤。如需 Amazon EFS 中檔案型限制的詳細資訊，請參閱 [Amazon EFS 配額](limits.md)。

您可以在下列資訊中找到一些常用檔案操作錯誤，以及和每個錯誤相關的限制。

**Topics**
+ [檢查開啟的檔案和檔案鎖定](#check-open-files-locks)
+ [出現「超出磁碟配額」錯誤的命令失敗](#diskquotaerror)
+ [出現「I/O 錯誤」的命令失敗](#ioerror)
+ [出現「檔案名稱太長」錯誤的命令失敗](#filenametoolong)
+ [命令失敗，出現「找不到檔案」錯誤](#filenotfound)
+ [出現「過多連結」錯誤的命令失敗](#hardlinkerror)
+ [出現「檔案過大」 錯誤的命令失敗](#filesizeerror)

## 檢查開啟的檔案和檔案鎖定
<a name="check-open-files-locks"></a>

若要疑難排解檔案操作錯誤，您可以透過檢查 EFS 掛載點上的開啟的檔案和檔案鎖定，來檢查您的用戶端系統是否已達到限制：
+ **檢查開啟的檔案** – 使用作業系統的工具列出 EFS 掛載路徑上的開啟檔案。這有助於識別您是否接近開啟的檔案限制。例如，在 Linux 上，您可以使用：

  ```
  lsof <efs-mount-path>
  ```
+ **檢查檔案鎖定** – 使用系統的鎖定監控工具，列出 EFS 掛載路徑上具有鎖定的檔案。這有助於識別是否達到鎖定限制。例如，在 Linux 上，您可以使用：

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

這些命令會顯示目前的 EFS 限制用量，協助您判斷檔案操作錯誤是否與達到系統或服務限制有關。

## 出現「超出磁碟配額」錯誤的命令失敗
<a name="diskquotaerror"></a>

 Amazon EFS 目前不支援使用者磁碟配額。如果超出下列任何限制，則此錯誤可能發生：
+ 最多可同時開啟 65，536 個作用中使用者的檔案。多次登入的使用者帳戶，將僅計為一位使用中使用者。
+ 執行個體一次最多可開啟 65，536 個檔案。列出目錄內容時不計為開啟檔案。
+ 用戶端上每一個掛載在每個連線上最多可獲得 65,536 個鎖定。

**採取動作**  
如果您遭遇此問題，您可以透過識別超出了上述哪一個限制，然後進行變更以滿足該限制來解決問題。如需詳細資訊，請參閱[NFS 用戶端的配額](limits.md#limits-client-specific)。若要檢查您目前的用量，請參閱 [檢查開啟的檔案和檔案鎖定](#check-open-files-locks)。

## 出現「I/O 錯誤」的命令失敗
<a name="ioerror"></a>

此錯誤通常會因下列其中一個問題而發生：
+ 每個執行個體超過 65，536 個作用中使用者帳戶會一次開啟檔案。

**採取動作**  
如果您遭遇此問題，您可以透過符合執行個體支援的檔案開啟數量限制來解決問題。若要執行此操作，請降低在執行個體中從 Amazon EFS 檔案系統同時開啟檔案的作用中使用者數目。若要檢查您目前的用量，請參閱 [檢查開啟的檔案和檔案鎖定](#check-open-files-locks)。
+ 加密檔案系統的 AWS KMS 金鑰已刪除。

**採取動作**  
如果您遭遇到此問題，您不再能夠對以該金鑰加密的資料進行解密，這表示該資料變得不再可用。

## 出現「檔案名稱太長」錯誤的命令失敗
<a name="filenametoolong"></a>

當檔案名稱大小或其符號連結 (symlink) 太長時，將出現此錯誤。檔案名稱具有下列限制：
+ 名稱長度最多可達 255 個位元組。
+ 符號連結最多可達 4080 位元組。

**採取動作**  
如果您遭遇此問題，您可以透過縮短檔名或符號連結長度以符合支援的限制來解決問題。

## 命令失敗，出現「找不到檔案」錯誤
<a name="filenotfound"></a>

因為某些較舊的 32 位元版本 Oracle 電子商務套件使用 32 位元檔案 I/O 介面，而 EFS 使用 64 位元 inode 號碼，就會發生此錯誤。可能失敗的系統呼叫包括 `stat()` 和 `readdir()`。

**採取動作**  
如果遇到此錯誤，您可以使用 **nfs.enable\$1ino64=0 kernel** 開機選項來解決問題。此選項會將 64 位元 EFS inode 號碼壓縮為 32 位元。針對不同的 Linux 發行版，核心開機選項的處理方式不同。在 Amazon Linux 上，通過將 `nfs.enable_ino64=0 kernel` 新增到 `/etc/default/grub` 的 `GRUB_CMDLINE_LINUX_DEFAULT` 變數來開啟此選項。如需有關如何開啟核心開機選項的特定說明文件，請參閱您的發行版本。

## 出現「過多連結」錯誤的命令失敗
<a name="hardlinkerror"></a>

當檔案有太多硬連結時將發生此錯誤。一個檔案最多可以有 177 個硬連結。

**採取動作**  
如果您遭遇此問題，您可以透過減少硬連結數量以符合支援的限制來解決問題。

## 出現「檔案過大」 錯誤的命令失敗
<a name="filesizeerror"></a>

檔案太大時將發生此項錯誤。單一檔案大小最多可達 52,673,613,135,872 位元組 (47.9 TiB)。

**採取動作**  
如果您遭遇此問題，您可以透過降低檔案大小以符合支援的限制來解決問題。