

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

# 使用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 會以硬性限制或具有可設定寬限期的軟性限制的形式強制執行使用者、群組和專案配額。

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

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

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

當使用者超過軟性限制時，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\_softlimit}} 和 {{block\_hardlimit}} 都以 KB 表示，最小值為 1024 KB。
+ `-i` 會設定具有軟性限制的 Inode 配額。 會`-I`設定具有硬性限制的 Inode 配額。{{inode\_softlimit}} 和 {{inode\_hardlimit}} 都以 inode 的數量表示，最小值為 1024 inode。
+ {{mount\_point}} 是掛載檔案系統的目錄。

**使用者配額範例：**下列命令會在掛載到 `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\_grace}} 和 {{inode\_grace}} 都以整數秒或`XXwXXdXXhXXmXXs`格式表示。
+ {{mount\_point}} 是掛載檔案系統的目錄。

下列命令針對使用者區塊配額設定 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 匯入資料夾相符結構的資料夾。這些檔案會計入擁有這些檔案之使用者和群組的 Inode 配額。

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

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

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

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

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