

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

# 匯出變更至資料儲存庫
<a name="export-changed-data-meta-dra"></a>

您可以將資料變更和 POSIX 中繼資料變更從 FSx for Lustre 檔案系統匯出至連結的資料儲存庫。關聯的 POSIX 中繼資料包括擁有權、許可和時間戳記。

若要從檔案系統匯出變更，請使用下列其中一種方法。
+ 設定您的檔案系統，以自動將新的、已變更或刪除的檔案匯出至連結的資料儲存庫。如需詳細資訊，請參閱[自動匯出更新到您的 S3 儲存貯體](autoexport-data-repo-dra.md)。
+ 使用隨需匯出資料儲存庫任務。如需詳細資訊，請參閱[使用資料儲存庫任務匯出變更](export-data-repo-task-dra.md)

自動匯出和匯出資料儲存庫任務無法同時執行。

**重要**  
如果對應的物件存放在 S3 Glacier Flexible Retrieval 中，則自動匯出不會同步檔案系統上的下列中繼資料操作與 S3：  
chmod
chown
重新命名

當您開啟資料儲存庫關聯的自動匯出時，檔案系統會在建立、修改或刪除檔案時自動匯出檔案資料和中繼資料變更。當您使用匯出資料儲存庫任務匯出檔案或目錄時，您的檔案系統只會匯出自上次匯出以來建立或修改的資料檔案和中繼資料。

自動匯出和匯出資料儲存庫任務都會匯出 POSIX 中繼資料。如需詳細資訊，請參閱[資料儲存庫的 POSIX 中繼資料支援](posix-metadata-support.md)。

**重要**  
為了確保 FSx for Lustre 可以將您的資料匯出至 S3 儲存貯體，資料必須以 UTF-8 相容格式存放。
S3 物件金鑰的長度上限為 1，024 個位元組。FSx for Lustre 不會匯出其對應 S3 物件金鑰長度超過 1，024 位元組的檔案。

**注意**  
自動匯出和匯出資料儲存庫任務建立的所有物件都會使用 S3 標準儲存類別寫入。

**Topics**
+ [自動匯出更新到您的 S3 儲存貯體](autoexport-data-repo-dra.md)
+ [使用資料儲存庫任務匯出變更](export-data-repo-task-dra.md)
+ [使用 HSM 命令匯出檔案](exporting-files-hsm.md)

# 自動匯出更新到您的 S3 儲存貯體
<a name="autoexport-data-repo-dra"></a>

您可以設定 FSx for Lustre 檔案系統，在檔案系統新增、變更或刪除檔案時自動更新連結 S3 儲存貯體的內容。FSx for Lustre 會在 S3 中建立、更新或刪除物件，對應於檔案系統中的變更。

**注意**  
FSx for Lustre 2.10 檔案系統或`Scratch 1`檔案系統不提供自動匯出。

您可以匯出至與 AWS 區域 檔案系統相同或不同 的資料儲存庫 AWS 區域。

您可以在建立資料儲存庫關聯時設定自動匯出，並使用 FSx 管理主控台 AWS CLI、 和 AWS API 隨時更新自動匯出設定。

**重要**  
如果在已啟用所有自動匯出政策且自動匯入已停用的情況下在檔案系統中修改檔案，則該檔案的內容一律會匯出至 S3 中的對應物件。如果物件已存在於目標位置，則會覆寫物件。
如果在檔案系統和 S3 中修改檔案，並啟用所有自動匯入和自動匯出政策，檔案系統中的檔案或 S3 中的物件可能會被另一個覆寫。不保證某個位置的稍後編輯會覆寫另一個位置的較早編輯。如果您在檔案系統和 S3 儲存貯體中修改相同的檔案，您應該確保應用程式層級協調，以防止此類衝突。FSx for Lustre 無法防止多個位置中的寫入衝突。

匯出政策指定您希望 FSx for Lustre 在檔案系統中變更內容時，如何更新連結的 S3 儲存貯體。資料儲存庫關聯可以有下列其中一個自動匯出政策：
+ **新增** – FSx for Lustre 只有在檔案系統上建立新的檔案、目錄或符號連結時，才會自動更新 S3 資料儲存庫。
+ **已變更** – FSx for Lustre 只有在變更檔案系統中的現有檔案時，才會自動更新 S3 資料儲存庫。對於檔案內容變更，檔案必須先關閉，才能傳播到 S3 儲存庫。中繼資料變更 （重新命名、所有權、許可和時間戳記） 會在操作完成時傳播。對於重新命名變更 （包括移動），會刪除現有 （預先重新命名） S3 物件，並使用新名稱建立新的 S3 物件。
+ **已刪除** – 只有在檔案系統中刪除檔案、目錄或符號連結時，FSx for Lustre 才會自動更新 S3 資料儲存庫。
+ **新增、變更和刪除的任意組合** – 當檔案系統中發生任何指定的動作時，FSx for Lustre 會自動更新 S3 資料儲存庫。例如，您可以指定在檔案新增至 檔案系統 (**新增**) 或從檔案系統移除 (**刪除**) 時更新 S3 儲存庫，而不是在檔案變更時更新。
+ **未設定政策** – 從檔案系統新增、變更或刪除檔案時，FSx for Lustre 不會自動更新 S3 資料儲存庫。如果您未設定匯出政策，則會停用自動匯出。您仍然可以使用匯出資料儲存庫任務手動匯出變更，如中所述[使用資料儲存庫任務匯出變更](export-data-repo-task-dra.md)。

對於大多數使用案例，我們建議您設定**新**、**已變更**和**已刪除**的匯出政策。此政策可確保在檔案系統上進行的所有更新都會自動匯出至連結的 S3 資料儲存庫。

我們建議您[開啟](cw-event-logging.md#manage-logging) CloudWatch Logs 的記錄功能，以記錄無法自動匯出的任何檔案或目錄的相關資訊。日誌中的警告和錯誤包含失敗原因的相關資訊。如需詳細資訊，請參閱[資料儲存庫事件日誌](data-repo-event-logs.md)。

**注意**  
當存取時間 (`atime`) 和修改時間 (`mtime`) 在匯出操作期間與 S3 同步時，單獨變更這些時間戳記不會觸發自動匯出。只有變更檔案內容或其他中繼資料 （例如擁有權或許可） 才會觸發自動匯出至 S3。

## 更新匯出設定
<a name="manage-autoexport-dra"></a>

您可以在建立資料儲存庫關聯時，將檔案系統的匯出設定設為連結的 S3 儲存貯體。如需詳細資訊，請參閱[建立 S3 儲存貯體的連結](create-linked-dra.md)。

您也可以隨時更新匯出設定，包括匯出政策。如需詳細資訊，請參閱[更新資料儲存庫關聯設定](update-dra-settings.md)。

## 監控自動匯出
<a name="monitoring-autoexport"></a>

您可以使用一組發佈至 Amazon CloudWatch 的指標來監控啟用自動匯出的資料儲存庫關聯。`AgeOfOldestQueuedMessage` 指標代表尚未匯出至 S3 的檔案系統最舊更新的存留期。如果 長時間`AgeOfOldestQueuedMessage`大於零，建議您暫時減少對檔案系統主動進行的變更數量 （特別是目錄重新命名），直到訊息佇列減少為止。如需詳細資訊，請參閱[FSx for Lustre S3 儲存庫指標](fs-metrics.md#auto-import-export-metrics)。

**重要**  
刪除已啟用自動匯出的資料儲存庫關聯或檔案系統時，您應該先確定 `AgeOfOldestQueuedMessage` 為零，這表示沒有尚未匯出的變更。當您刪除資料儲存庫關聯或檔案系統時，如果 `AgeOfOldestQueuedMessage` 大於零，則尚未匯出的變更將不會到達連結的 S3 儲存貯體。若要避免這種情況，請等待 `AgeOfOldestQueuedMessage` 達到零，再刪除資料儲存庫關聯或檔案系統。

# 使用資料儲存庫任務匯出變更
<a name="export-data-repo-task-dra"></a>

匯出資料儲存庫任務會匯出在您檔案系統中新增或變更的檔案。它會在 S3 中為檔案系統上的任何新檔案建立新的物件。對於在檔案系統上修改的任何檔案，或其中繼資料已修改的任何檔案，S3 中的對應物件會取代為具有新資料和中繼資料的新物件。對於已從檔案系統刪除的檔案，不會採取任何動作。

**注意**  
使用匯出資料儲存庫任務時，請記住下列事項：  
不支援使用萬用字元來包含或排除檔案以進行匯出。
執行`mv`操作時，即使沒有 UID、GID、許可或內容變更，移動後的目標檔案仍會匯出至 S3。

使用下列程序，透過 Amazon FSx 主控台和 CLI，將檔案系統上的資料和中繼資料變更匯出至連結的 S3 儲存貯體。請注意，您可以將一個資料儲存庫任務用於多個 DRAs。

## 匯出變更 （主控台）
<a name="create-dra-repo-task-console"></a>

1. 開啟位於 https：//[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/) 的 Amazon FSx 主控台。

1. 在導覽窗格中，選擇**檔案系統**，然後選擇您的Lustre檔案系統。

1. 選擇**資料儲存庫**索引標籤。

1. 在**資料儲存庫關聯**窗格中，選擇您要為其建立匯出任務的資料儲存庫關聯。

1. 針對**動作**，選擇**匯出任務**。如果檔案系統未連結至 S3 上的資料儲存庫，則無法使用此選項。**建立匯出資料儲存庫任務**對話方塊隨即出現。

1. （選用） 透過提供檔案系統路徑中要匯出的目錄或檔案路徑，指定最多 32 個要從 Amazon FSx **檔案系統匯出的**目錄或檔案。您提供的路徑必須相對於檔案系統的掛載點。如果掛載點是 `/mnt/fsx`，且 `/mnt/fsx/path1` 是您要匯出之檔案系統上的目錄或檔案，則提供的路徑為 `path1`。
**注意**  
如果您提供的路徑無效，任務會失敗。

1. （選用） 選擇**完成報告**下的**啟用**，以在任務完成後產生任務完成報告。*任務完成報告*提供任務處理之檔案的詳細資訊，這些檔案符合**報告範圍中提供的範圍**。若要指定 Amazon FSx 交付報告的位置，請在檔案系統連結的 S3 資料儲存庫中輸入報告路徑的**相對路徑**。

1. 選擇**建立**。

   **檔案系統**頁面頂端的通知會顯示您剛才建立的任務。

若要檢視任務狀態和詳細資訊，請向下捲動至檔案系統**之資料儲存庫索引標籤中的資料儲存庫任務**窗格。 ****預設排序順序會在清單頂端顯示最新的任務。

若要從此頁面檢視任務摘要，請為您剛建立的任務選擇**任務 ID**。任務的**摘要**頁面隨即出現。

## 匯出變更 (CLI)
<a name="create-data-repo-task-cli"></a>
+ 使用 [https://docs.aws.amazon.com/cli/latest/reference/fsx/create-data-repository-task.html](https://docs.aws.amazon.com/cli/latest/reference/fsx/create-data-repository-task.html) CLI 命令匯出 FSx for Lustre 檔案系統上的資料和中繼資料變更。對應的 API 操作為 [https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateDataRepositoryTask.html](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateDataRepositoryTask.html)。

  ```
  $ aws fsx create-data-repository-task \
      --file-system-id fs-0123456789abcdef0 \
      --type EXPORT_TO_REPOSITORY \
      --paths path1,path2/file1 \
      --report Enabled=true
  ```

  成功建立資料儲存庫任務後，Amazon FSx 會將任務描述傳回為 JSON，如下列範例所示。

  ```
  {
      "Task": {
          "TaskId": "task-123f8cd8e330c1321",
          "Type": "EXPORT_TO_REPOSITORY",
          "Lifecycle": "PENDING",
          "FileSystemId": "fs-0123456789abcdef0",
          "Paths": ["path1", "path2/file1"],
          "Report": {
              "Path":"s3://dataset-01/reports",
              "Format":"REPORT_CSV_20191124",
              "Enabled":true,
              "Scope":"FAILED_FILES_ONLY"
          },
          "CreationTime": "1545070680.120",
          "ClientRequestToken": "10192019-drt-12",
          "ResourceARN": "arn:aws:fsx:us-east-1:123456789012:task:task-123f8cd8e330c1321"
      }
  }
  ```

建立將資料匯出至連結資料儲存庫的任務之後，您可以檢查匯出資料儲存庫任務的狀態。如需檢視資料儲存庫任務的詳細資訊，請參閱 [存取資料儲存庫任務](view-data-repo-tasks.md)。

# 使用 HSM 命令匯出檔案
<a name="exporting-files-hsm"></a>

**注意**  
若要將 FSx for Lustre 檔案系統的資料和中繼資料中的變更匯出至 Amazon S3 上的耐用資料儲存庫，請使用中所述的自動匯出功能[自動匯出更新到您的 S3 儲存貯體](autoexport-data-repo-dra.md)。您也可以使用匯出資料儲存庫任務，如中所述[使用資料儲存庫任務匯出變更](export-data-repo-task-dra.md)。

若要將個別檔案匯出至資料儲存庫，並確認檔案已成功匯出至資料儲存庫，您可以執行下列命令。傳回值 `states: (0x00000009) exists archived`表示檔案已成功匯出。

```
sudo lfs hsm_archive path/to/export/file
sudo lfs hsm_state path/to/export/file
```

**注意**  
您必須以根使用者身分或使用 執行 HSM 命令 （例如 `hsm_archive`)`sudo`。

若要匯出整個檔案系統或檔案系統中的整個目錄，請執行下列命令。如果您同時匯出多個檔案，Amazon FSx for Lustre 會將您的檔案平行匯出至 Amazon S3 資料儲存庫。

```
nohup find local/directory -type f -print0 | xargs -0 -n 1 sudo lfs hsm_archive &
```

若要判斷匯出是否已完成，請執行下列命令。

```
find path/to/export/file -type f -print0 | xargs -0 -n 1 -P 8 sudo lfs hsm_state | awk '!/\<archived\>/ || /\<dirty\>/' | wc -l
```

如果命令傳回的檔案剩餘為零，則匯出完成。