

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

# 使用Lustre儲存配額
<a name="lustre-quotas"></a>

您可以在 FSx for Lustre 檔案系統上為使用者、群組和專案建立儲存配額。使用儲存配額，您可以限制磁碟空間的數量，以及使用者、群組或專案可以使用的檔案數量。儲存配額會自動追蹤使用者層級、群組層級和專案層級的用量，因此無論您是否選擇設定儲存限制，您都可以監控耗用。

Amazon FSx 會強制執行配額，並防止超過配額的使用者寫入儲存空間。當使用者超過配額時，他們必須刪除足夠的檔案，才能達到配額限制，以便再次寫入檔案系統。

**Topics**
+ [配額強制執行](#quotas-enforcement)
+ [配額類型](#quota-types)
+ [配額限制和寬限期](#quota-limits)
+ [設定和檢視配額](#setting-quotas)
+ [配額和 Amazon S3 連結儲存貯體](#quotas-s3)
+ [配額和還原備份](#quotas-backups)

## 配額強制執行
<a name="quotas-enforcement"></a>

使用者、群組和專案配額強制執行會自動在所有 FSx for Lustre 檔案系統上啟用。您無法停用配額強制執行。

## 配額類型
<a name="quota-types"></a>

具有 AWS 帳戶根使用者登入資料的系統管理員可以建立下列類型的配額：
+ *使用者配額*適用於個別使用者。特定使用者的使用者配額可以與其他使用者的配額不同。
+ *群組配額*適用於身為特定群組成員的所有使用者。
+ *專案配額*適用於與專案相關聯的所有檔案或目錄。專案可以包含多個目錄或位於檔案系統內不同目錄中的個別檔案。
**注意**  
專案配額僅支援 FSx for Lustre 檔案系統的 2.15 Lustre版。
+ *區塊配額*會限制使用者、群組或專案可耗用的磁碟空間量。您以 KB 為單位設定儲存體大小。
+ *索引配額*會限制使用者、群組或專案可建立的檔案或目錄數量。您可以將索引數目上限設定為整數。

**注意**  
不支援預設配額。

如果您為特定使用者和群組設定配額，且該使用者是該群組的成員，則使用者的資料用量會同時套用到這兩個配額。它也受到這兩個配額的限制。如果達到任一配額限制，則會封鎖使用者寫入檔案系統。

**注意**  
根使用者的配額設定不會強制執行。同樣地，使用 `sudo`命令以根使用者身分寫入資料會繞過配額的強制執行。

## 配額限制和寬限期
<a name="quota-limits"></a>

Amazon FSx 會強制執行使用者、群組和專案配額，做為硬性限制或具有可設定寬限期的軟性限制。

硬性限制是絕對限制。如果使用者超過硬性限制，區塊或節點配置會失敗，且磁碟配額超過訊息。已達到配額硬性限制的使用者必須先刪除足夠的檔案或目錄，才能再次寫入檔案系統，使其低於配額限制。設定寬限期時，如果低於硬性限制，使用者可以在寬限期內超過軟性限制。

對於軟性限制，您可以設定以秒為單位的寬限期。軟性限制必須小於硬性限制。

您可以設定不同的節點和區塊配額寬限期。您也可以為使用者配額、群組配額和專案配額設定不同的寬限期。當使用者、群組和專案配額具有不同的寬限期時，軟限制會在任何這些配額的寬限期經過之後轉換為硬性限制。

當使用者超過軟性限制時，Amazon FSx 會允許他們繼續超過配額，直到超過寬限期或達到硬性限制為止。寬限期結束後，軟限制會轉換為硬限制，使用者會遭到封鎖，不再進行任何進一步的寫入操作，直到其儲存用量低於定義的區塊配額或索引配額限制為止。寬限期開始時，使用者不會收到通知或警告。

## 設定和檢視配額
<a name="setting-quotas"></a>

您可以在 Linux 終端機中使用Lustre檔案系統`lfs`命令來設定儲存配額。`lfs setquota` 命令會設定配額限制，而`lfs quota`命令會顯示配額資訊。

如需Lustre配額命令的詳細資訊，請參閱 [Lustre 文件網站上的](http://lustre.org/documentation/) *Lustre 操作手冊*。

### 設定使用者、群組和專案配額
<a name="setting-user-quotas"></a>

用於設定使用者、群組或專案配額的 `setquota`命令語法如下所示。

```
lfs setquota {-u|--user|-g|--group|-p|--project} username|groupname|projectid
             [-b block_softlimit] [-B block_hardlimit]
             [-i inode_softlimit] [-I inode_hardlimit]
             /mount_point
```

其中：
+ `-u` 或 `--user`指定要設定配額的使用者。
+ `-g` 或 `--group`指定要設定配額的群組。
+ `-p` 或 `--project`指定要設定配額的專案。
+ `-b` 會設定具有軟限制的區塊配額。 `-B`會設定具有硬限制的區塊配額。*block\$1softlimit* 和 *block\$1hardlimit* 都以 KB 表示，最小值為 1024 KB。
+ `-i` 會設定具有軟限制的索引配額。 會`-I`設定具有硬限制的索引配額。*inode\$1softlimit* 和 *inode\$1hardlimit* 都以 inode 的數量表示，最小值為 1024 inode。
+ *mount\$1point* 是掛載檔案系統的目錄。

**使用者配額範例：**下列命令會針對掛載到 `user1`的檔案系統，設定 5，000 KB 的軟區塊限制、8，000 KB 的硬區塊限制、2，000 的軟式節點限制，以及 3，000 的硬式節點限制配額`/mnt/fsx`。

```
sudo lfs setquota -u user1 -b 5000 -B 8000 -i 2000 -I 3000 /mnt/fsx
```

**群組配額範例：**下列命令會針對掛載至 `group1`的檔案系統上名為 的群組，設定 100，000 KB 的硬區塊限制`/mnt/fsx`。

```
sudo lfs setquota -g group1 -B 100000 /mnt/fsx
```

**專案配額範例：**首先確認您已使用 `project`命令將所需的檔案和目錄與專案建立關聯。例如，下列命令會將`/mnt/fsxfs/dir1`目錄的所有檔案和子目錄與專案 ID 為 的專案建立關聯`100`。

```
sudo lfs project -p 100 -r -s /mnt/fsxfs/dir1
```

然後使用 `setquota`命令來設定專案配額。下列命令會針對掛載到 `250`的檔案系統上專案設定 307，200 KB 的軟區塊限制、309，200 KB 的硬區塊限制、10，000 個軟的節點限制，以及 11，000 個硬節點限制配額`/mnt/fsx`。

```
sudo lfs setquota -p 250 -b 307200 -B 309200 -i 10000 -I 11000 /mnt/fsx
```

### 設定寬限期
<a name="setting-grace"></a>

預設寬限期為一週。您可以使用下列語法來調整使用者、群組或專案的預設寬限期。

```
lfs setquota -t {-u|-g|-p}
             [-b block_grace]
             [-i inode_grace]
             /mount_point
```

其中：
+ `-t` 表示將設定寬限期。
+ `-u` 會為所有使用者設定寬限期。
+ `-g` 會為所有群組設定寬限期。
+ `-p` 會為所有專案設定寬限期。
+ `-b` 會設定區塊配額的寬限期。 `-i`會設定索引配額的寬限期。*block\$1grace* 和 *inode\$1grace* 都以整數秒或`XXwXXdXXhXXmXXs`格式表示。
+ *mount\$1point* 是掛載檔案系統的目錄。

下列命令設定 1，000 秒的寬限期，用於使用者區塊配額，以及 1 週 4 天用於使用者索引配額。

```
sudo lfs setquota -t -u -b 1000 -i 1w4d /mnt/fsx
```

### 檢視配額
<a name="viewing-quotas"></a>

`quota` 命令會顯示有關使用者配額、群組配額、專案配額和寬限期的資訊。


| 檢視配額命令 | 顯示的配額資訊 | 
| --- | --- | 
|  `lfs quota /mount_point`  |  執行 命令的使用者和使用者主要群組的一般配額資訊 （磁碟用量和限制）。  | 
|  `lfs quota -u username /mount_point`  |  特定使用者的一般配額資訊。具有 AWS 帳戶根使用者登入資料的使用者可為任何使用者執行此命令，但非根使用者無法執行此命令以取得其他使用者的配額資訊。  | 
|  `lfs quota -u username -v /mount_point`  |  特定使用者的一般配額資訊，以及每個物件儲存目標 (OST) 和中繼資料目標 (MDT) 的詳細配額統計資料。具有 AWS 帳戶根使用者登入資料的使用者可為任何使用者執行此命令，但非根使用者無法執行此命令以取得其他使用者的配額資訊。  | 
|  `lfs quota -g groupname /mount_point`  |  特定群組的一般配額資訊。  | 
|  `lfs quota -p projectid /mount_point`  |  特定專案的一般配額資訊。  | 
| `lfs quota -t -u /mount_point` | 封鎖和宣告使用者配額的寬限時間。 | 
| `lfs quota -t -g /mount_point` | 封鎖和宣告群組配額的寬限時間。 | 
| `lfs quota -t -p /mount_point` | 封鎖和宣告專案配額的寬限時間。 | 

## 配額和 Amazon S3 連結儲存貯體
<a name="quotas-s3"></a>



您可以將 FSx for Lustre 檔案系統連結至 Amazon S3 資料儲存庫。如需詳細資訊，請參閱[將您的檔案系統連結至 Amazon S3 儲存貯體](create-dra-linked-data-repo.md)。

您可以選擇連結 S3 儲存貯體中的特定資料夾或字首，做為檔案系統的匯入路徑。指定 Amazon S3 中的資料夾並從 S3 匯入至檔案系統時，只會將該資料夾的資料套用至配額。整個儲存貯體的資料不會計入配額限制。

連結 S3 儲存貯體中的檔案中繼資料會匯入至具有與 Amazon S3 匯入資料夾相符結構的資料夾。這些檔案會計入擁有檔案之使用者和群組的索引配額。

當使用者執行 `hsm_restore`或延遲載入檔案時，檔案的完整大小會計入與檔案擁有者相關聯的區塊配額。例如，如果使用者 A 延遲載入使用者 B 所擁有的檔案，儲存體和節點用量會計入使用者 B 的配額。同樣地，當使用者使用 Amazon FSx API 釋出檔案時，資料會從擁有該檔案的使用者或群組的區塊配額中釋出。

由於 HSM 還原和延遲載入是透過根存取執行，因此它們會繞過配額強制執行。匯入資料後，它會根據 S3 中的所有權集計入使用者或群組，這可能會導致使用者或群組超出其區塊限制。如果發生這種情況，他們將需要釋放檔案，才能再次寫入檔案系統。

同樣地，已啟用自動匯入的檔案系統會自動為新增至 S3 的物件建立新的索引。這些新節點是使用根存取建立的，並在建立時略過配額強制執行。這些新索引會根據 S3 中擁有物件的人員，計入使用者和群組。如果這些使用者和群組根據自動匯入活動超過其節點配額，則必須刪除檔案，以釋放額外的容量並低於其配額限制。

## 配額和還原備份
<a name="quotas-backups"></a>

當您還原備份時，原始檔案系統的配額設定會在還原的檔案系統中實作。例如，如果在檔案系統 A 中設定配額，且檔案系統 B 是從檔案系統 A 的備份建立的，檔案系統 A 的配額會在檔案系統 B 中強制執行。