

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

# 在彙總之間移動磁碟區
<a name="moving-fg-volumes"></a>

當您將高可用性 (HA) 對新增至檔案系統時，您需要將磁碟區移至新的彙總來重新平衡現有資料。若要在彙總之間移動磁碟區，您可以在 ONTAP CLI 中使用 `volume move`命令。

使用 `volume move`命令之前，請考慮下列事項：
+ 使用 `volume move`命令可能會影響效能，因為它會在您的檔案系統上耗用網路和磁碟資源。因此，我們建議在低活動期間在彙總之間移動磁碟區。或者，您可以在移動磁碟區時，將檔案系統的網路輸送量使用率和磁碟輸送量使用率降低至不超過 50%。
+ 為了降低對檔案系統的效能影響，建議您一次在兩個 HA 對和彙總之間移動單一磁碟區。例如，如果您的檔案系統有四個 HA 對，我們建議您一次移動兩個磁碟區 （假設磁碟區移動不是來自或朝向相同的 HA 對）。ONTAP 支援一次在每個 HA 對上移動最多八個磁碟區，但更多同時的磁碟區移動會降低用戶端 I/O 和任何進行中磁碟區移動的效能。
+ 存放在受影響磁碟區 SSD 層上的任何資料都會實際移至不同檔案伺服器上的不同磁碟集。此操作會在背景中進行，且需要時間。傳輸所需的時間速率取決於檔案系統的輸送量容量，以及檔案系統上的活動量。不過，可以調節磁碟區移動。如需詳細資訊，請參閱[調節磁碟區移動](#throttle-volume-moves)。
+ 儲存在容量集區中的資料不會實際移動，因為 HA 對共用相同的容量集區儲存。反之， ONTAP會移動完全描述容量集區中每個區塊的中繼資料 （邏輯移動）。請記住，檔案中繼資料一律存放在 SSD 層。如需詳細資訊，請參閱[磁碟區資料分層](volume-storage-capacity.md#volume-data-tiering)。

## 移動磁碟區的階段
<a name="vol-move-phases"></a>

磁碟區移動操作有兩個階段：複寫階段和切換階段。在複寫階段，現有資料會複寫到磁碟區的新彙總。在切換階段，ONTAP 會嘗試最終快速傳輸到磁碟區的新彙總。這包括傳輸在傳輸階段寫入的任何資料，並將新流量重新導向至磁碟區的新彙總。根據預設，切換時段為 30 秒，並停止磁碟區的所有 I/O。如果 ONTAP 無法在切換時段執行所有這些步驟，將會失敗。根據預設，ONTAP 會嘗試連續切換三次。如果所有三個連續嘗試都失敗，則 ONTAP 將每小時重試一次，直到成功為止。您可以減少檔案系統的負載，在切換階段開始之前減少或暫停磁碟區的 I/O 流量，以確保切換階段成功。

## 啟動磁碟區移動
<a name="start-volume-move"></a>

**啟動磁碟區移動**

1. 若要存取 NetApp ONTAP CLI，請執行下列命令，在 Amazon FSx for NetApp ONTAP 檔案系統的管理連接埠上建立 SSH 工作階段。`management_endpoint_ip` 將 取代為檔案系統管理連接埠的 IP 地址。

   ```
   [~]$ ssh fsxadmin@management_endpoint_ip
   ```

   如需詳細資訊，請參閱[使用 CLI ONTAP 管理檔案系統](managing-resources-ontap-apps.md#fsxadmin-ontap-cli)。

1. 執行[磁碟區移動啟動](https://docs.netapp.com/us-en/ontap-cli-9131/volume-move-start.html#description) ONTAP CLI 命令。取代以下的值：
   + `vserver_name` 使用託管您正在移動之磁碟區的 SVM 名稱。
   + `volume_name` 具有磁碟區元件的名稱 （例如 `vol1__0001`)。
   + `aggregate_name` 具有磁碟區的目的地彙總名稱。
   + `-enforce-network-throttling` 調節磁碟區移動的總輸送量。這是選用的。

   ```
   ::> volume move start -vserver svm_name -volume volume_name --destination-aggregate aggregate_name -foreground false
   [Job 1] Job is queued: Move "vol1__0001" in Vserver "svm01" to aggregate "aggr1". Use the "volume move show -vserver svm01 -volume vol1__0001" command to view the status of this operation.
   ```

**重要**  
移動磁碟區會耗用來源和目的地檔案伺服器的網路和磁碟資源。因此，工作負載的效能可能會受到正在進行的任何磁碟區移動的影響。此外，您在磁碟區的 I/O 流量將在磁碟區移動的切換階段中暫時暫停。

## 監控磁碟區移動
<a name="monitor-volume-move"></a>

**監控磁碟區移動**
+ 若要檢查磁碟區移動操作的狀態，請使用 `volume move show` ONTAP CLI 命令。

  ```
  ::> volume move show -vserver svm_name -volume volume_name 
  
  Vserver Name: svm01
  Volume Name: vol1__0001
  Actual Completion Time: -
  Bytes Remaining: 1.00TB
  Specified Action For Cutover: retry_on_failure
  Specified Cutover Time Window: 30
  Destination Aggregate: aggr2
  Destination Node: FsxId01234567890abcdef-03
  Detailed Status: Transferring data: 12.23GB sent.
  Percentage Complete: 1%
  Move Phase: replicating
  Prior Issues Encountered: -
  Estimated Remaining Duration: 00:40:25
  Replication Throughput: 434.3MB/s
  Duration of Move: 00:00:27
  Source Aggregate: aggr1
  Source Node: FsxId01234567890abcdef-01
  Move State: healthy
  ```

  命令輸出會顯示完成移動的預估時間。完成後， `Move phase`會顯示 `completed` 狀態。

## 維護平衡的FlexGroup磁碟區
<a name="balanced-flexgroups"></a>

為了讓您的工作負載以最佳方式執行，您的FlexGroup磁碟區應跨越所有彙總，且每個彙總的組分磁碟區數量平均。我們建議每個彙總有八個元件。重新平衡FlexGroup磁碟區時，請考慮下列案例：
+ 在**現有彙總之間移動組FlexGroup分：**如果您將FlexGroup's組分磁碟區移至其他平衡 的另一個彙總FlexGroup，則您應該移動另一個較不用於原始彙總的組分。這可確保您的 每個彙總FlexGroup都有偶數的元件。

  **新增 HA 對之後將FlexGroup元件移至新的彙總：**如果您在新增 HA 對之後將FlexGroup's元件磁碟區移至新的彙總，則您應該在失去元件的彙總上FlexGroup，使用其他元件展開 。這可確保您的 每個彙總FlexGroup都有偶數的元件。如需詳細資訊，請參閱[擴展磁碟FlexGroup區](expanding-fg-volumes.md)。

## 調節磁碟區移動
<a name="throttle-volume-moves"></a>

如果您想要限制檔案系統上磁碟區移動的頻寬，您可以在操作開始時新增 `-enforce-network-throttling`選項。

**注意**  
使用此選項會影響檔案系統的傳入SnapMirror複寫資料傳輸。追蹤如何設定檔案系統的複寫選項，因為您在設定後無法檢視它們。

**調節磁碟區移動**

1. 調節會使用全域複寫調節。若要設定全域複寫節流，請在 CLI ONTAP 中使用下列命令。

   ```
   ::> options -option-name replication.throttle.enable on
   ```

1. 指定複寫可以使用的最大總頻寬，取代下列選項：
   + `kbs_throttle` 具有用於任何複寫 （包括 SnapMirror和 磁碟區移動） 所需的最大輸送量，以每秒 KB 為單位。

   ```
   ::> options -option-name replication.throttle.incoming.max_kbs kbs_throttle 
   ::> options -option-name replication.throttle.outgoing.max_kbs kbs_throttle
   ```