

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

# 初始化 Amazon EBS 磁碟區
<a name="initalize-volume"></a>

當您從 EBS 快照或另一個 EBS 磁碟區 （磁碟區複本） 建立 Amazon EBS 磁碟區時，必須先將資料區塊寫入磁碟區，才能存取它們。對於從快照建立的磁碟區，必須將資料區塊從 Amazon S3 下載到新磁碟區。對於磁碟區複本，必須將資料區塊從來源磁碟區複製到磁碟區複本。此程序稱為*磁碟區初始化*。在此期間，初始化的磁碟區可能會遇到 I/O 延遲增加和效能降低的情況。只有在所有儲存區塊都下載並寫入磁碟區後，才能達到完整磁碟區效能。

**注意**  
空的磁碟區會在建立後立即提供其最高效能，且不需要初始化。

預設磁碟區初始化速率會在整個初始化過程中波動，這可能會使完成時間無法預測。若要將與磁碟區初始化相關的效能影響降至最低，您可以使用下列選項：

**注意**  
磁碟區複本不支援磁碟區初始化速率和快速快照還原。如需詳細資訊，請參閱[磁碟區複製初始化](ebs-copying-volume.md#copy-volume-initialization)。

**Topics**
+ [

## 使用 Amazon EBS 佈建費率進行磁碟區初始化
](#volume-initialization-rate)
+ [

## 使用已啟用快速快照還原的快照
](#volume-initialization-fsr)
+ [手動初始化磁碟區](#ebs-initialize)
+ [監控磁碟區初始化](ebs-initialize-monitor.md)

## 使用 Amazon EBS 佈建費率進行磁碟區初始化
<a name="volume-initialization-rate"></a>

當您從快照建立 Amazon EBS 磁碟區時，您可以選擇指定磁碟區初始化的 Amazon EBS 佈建速率 （磁碟區初始化速率），範圍介於 100 到 300 MiB/s 之間。如果您指定磁碟區初始化速率，快照區塊會從 Amazon S3 下載，並在建立後以指定的速率寫入磁碟區。這可讓您建立在可預測的時間內完全初始化和完全執行的磁碟區。

當您同時建立多個磁碟區時，使用磁碟區初始化速率特別有用，而且您需要在可預測的時間內初始化所有磁碟區初始化。

**注意**  
所有 Amazon EBS 磁碟區類型和所有 Amazon EC2 執行個體類型，包括 Amazon EC2 Mac 執行個體，都支援 Amazon EBS 磁碟區初始化的佈建速率。

您可以指定磁碟區初始化速率：
+ 對於個別磁碟區建立請求
+ 對於執行個體啟動請求中的 EBS 磁碟區區塊型設備映射
+ 對於啟動範本中的 EBS 磁碟區區塊型設備映射
+ 對於根磁碟區替換任務建立的 EBS 磁碟區
+ 對於 Amazon EKS 叢集 （由 EBS CSI 驅動程式建立） 和 Amazon ECS 叢集上的 EBS 磁碟區

**Topics**
+ [

### 運作方式
](#consistent-rate-how)
+ [

### 考量事項
](#consistent-rate-considerations)
+ [

### 配額
](#consistent-rate-quota)
+ [

### 帳單
](#consistent-rate-billing)

### 運作方式
<a name="consistent-rate-how"></a>

當您建立具有磁碟區初始化速率的磁碟區時，快照區塊會以您指定的速率從 Amazon S3 下載到磁碟區。

初始化磁碟區所需的時間取決於下列項目：
+ 快照資料的大小，而不是要建立的磁碟區大小。
**提示**  
若要尋找快照的資料大小，請檢查 [ describe-snapshots](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) 命令輸出中的 `FullSnapshotSizeInBytes` 欄位，或主控台中的**完整快照大小**欄位。
+ 您指定的磁碟區初始化速率

例如，如果您使用具有 10 GiB 資料的快照建立 20 GiB 磁碟區，並指定 300 MiB/s 的磁碟區初始化速率，則磁碟區會在大約 34.1 秒內完全初始化 (10 GiB/300 MiB/s = 34.1 秒）。同樣地，如果您同時建立具有相同快照和磁碟區初始化速率的 10 個磁碟區，則所有 10 個磁碟區將在 34.1 秒內完全初始化。

### 考量事項
<a name="consistent-rate-considerations"></a>
+ 您可以指定介於 100 和 300 MiB/s 之間的磁碟區初始化速率。
+ 當您指定磁碟區初始化速率時，費用和完成時間取決於快照資料的大小 （而非磁碟區的大小） 以及您指定的速率。如需詳細資訊，請參閱[帳單](#consistent-rate-billing)。
+ Amazon EBS 會提供平均速率，該速率在您為 99% 的時間所指定的磁碟區初始化速率的 10% 內。
+ 如果您指定磁碟區初始化速率並使用已啟用快速快照還原的快照，Amazon EBS 會使用指定的速率，而不是快速快照還原。若要改用快速快照還原，請勿指定磁碟區初始化速率。
+ 如果由於容量限制或您已超過[配額](#consistent-rate-quota)，Amazon EBS 無法以指定的磁碟區初始化速率初始化磁碟區，請求會失敗。
+ 您無法為在本機區域 AWS Outposts或 Wavelength 區域中建立的磁碟區指定磁碟區初始化速率。

### 配額
<a name="consistent-rate-quota"></a>

您可以跨並行磁碟區建立請求的累積磁碟區初始化速率限制為 5，000 MiB/s。例如，您可以發出 50 個並行磁碟區建立請求，速率為 100 MiB/s (50 個同時請求 \$1 100 MiB/s 速率），或 25 個並行請求，速率為 200 MiB/s (25 個同時請求 \$1 200 MiB/s 速率）。此限制適用於每個區域。如果請求超過此限制，則會失敗。您可以等待一些進行中請求完成或請求提高配額。如需詳細資訊，請參閱[Amazon EBS 的配額](ebs-resource-quotas.md)。

### 帳單
<a name="consistent-rate-billing"></a>

當您建立具有磁碟區初始化速率的磁碟區時，會向您收取每個 GiB 的快照資料速率、每個 MiB 的指定初始化速率。費率因區域而異。如需詳細資訊，請參閱 [Amazon EBS 定價](https://aws.amazon.com/ebs/pricing/)。

您需要根據快照資料的大小付費，而非磁碟區的大小。例如，如果您建立大小為 100 GiB 但只有 50 GiB 資料的磁碟區快照，則快照的磁碟區大小為 100 GiB，但快照資料大小為 50 GiB。如果您使用該快照來建立磁碟區並指定磁碟區初始化速率，您的費用會根據快照資料的 50 GiB 計算。

**提示**  
若要尋找快照的資料大小，請檢查 [ describe-snapshots](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) 命令輸出中的 `FullSnapshotSizeInBytes` 欄位，或主控台中的**完整快照大小**欄位。

公式如下：

```
rate for Region x snapshot data size x volume initialization rate
```

一旦磁碟區進入 `active` 狀態，就會向您收取完整金額。失敗的請求不會計費。

如果您在磁碟區初始化完成之前刪除磁碟區，您仍需支付請求的磁碟區初始化費率。

## 使用已啟用快速快照還原的快照
<a name="volume-initialization-fsr"></a>

如果您從已啟用快速快照還原的快照建立磁碟區，則磁碟區會在建立時完全初始化，並立即提供其完整效能。如需使用快速快照還原的詳細資訊，請參閱 [Amazon EBS 快速快照還原](ebs-fast-snapshot-restore.md)。

## 建立後手動初始化磁碟區
<a name="ebs-initialize"></a>

您可以在建立之後手動初始化 Amazon EBS 磁碟區，以協助將磁碟區初始化的效能影響降至最低。

您可以使用下列程序，在建立之後手動初始化 Amazon EBS 磁碟區。

**重要**  
在初始化從快照建立的 Provisioned IOPS SSD 磁碟區時，磁碟區的效能可能會降到預期的 50% 以下，並導致磁碟區在 **I/O Performance (I/O 效能)** 狀態檢查中顯示 `warning` 狀態。這是預期的情況，因此在初始化 Provisioned IOPS SSD 磁碟區時，您可以忽略這些磁碟區的 `warning` 狀態。如需詳細資訊，請參閱[Amazon EBS 磁碟區狀態檢查](monitoring-volume-checks.md)。

### Linux 執行個體
<a name="ebs-initialize-linux"></a>

**在 Linux 上初始化從快照建立的磁碟區**

1. 將新還原的磁碟區連接至您的 Linux 執行個體。

1. 使用 **lsblk** 命令列出執行個體上的區塊型儲存設備。

   ```
   $ lsblk
   NAME  MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
   xvdf  202:80   0  30G  0 disk
   xvda1 202:1    0   8G  0 disk /
   ```

   在這裡，您可以看到新磁碟區 `/dev/xvdf` 已連接，但未掛載 (因為在 `MOUNTPOINT` 欄下沒有列出路徑)。

1. <a name="initialize-snapshot-step"></a>請使用 **dd** 或 **fio** 公用程式來讀取裝置上的所有區塊。**dd** 命令在 Linux 系統上為預設安裝，但是 **fio** 速度較快，因為允許多執行緒讀取。
**注意**  
此步驟可能需要幾分鐘至幾個小時，取決於您的 EC2 執行個體頻寬、為磁碟區佈建的 IOPS 以及磁碟區大小。

   [**dd**] `if` (輸入檔案) 參數應設定為您希望初始化的磁碟機。`of` (輸出檔案) 參數應設定為 Linux null 虛擬裝置，`/dev/null`。`bs` 參數設定讀取操作的區塊大小；為獲得最佳效能，應將其設定為 1 MB。
**重要**  
錯誤使用 **dd** 可能會輕易破壞磁碟區的資料。請務必嚴格遵循以下範例命令。只有 `if=/dev/xvdf` 參數取決於您正在讀取的裝置名稱。

   ```
   $ sudo dd if=/dev/xvdf of=/dev/null bs=1M
   ```

   [**fio**] 如果您的系統上安裝了 **fio**，請使用下列命令來初始化您的磁碟區。`--filename` (輸入檔案) 參數應設定為您希望初始化的磁碟機。

   ```
   $ sudo fio --filename=/dev/xvdf --rw=read --bs=1M --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize
   ```

   若要在 Amazon Linux 上安裝 **fio**，請使用下列命令：

   ```
   sudo yum install -y fio
   ```

   若要在 Ubuntu 上安裝 **fio**，請使用下列命令：

   ```
   sudo apt-get install -y fio
   ```

   操作完成後，您將看到讀取操作的報告。您的磁碟區現在已可使用。如需詳細資訊，請參閱[讓 Amazon EBS 磁碟區可供使用](ebs-using-volumes.md)。

### Windows 執行個體
<a name="ebs-initialize-windows"></a>

在使用任一工具之前，請按照下列步驟來收集系統中磁碟機的資訊：

**若要收集系統磁碟的相關資訊**

1. 使用 **wmic** 命令，列出系統上的可用磁碟機：

   ```
   wmic diskdrive get size,deviceid
   ```

   下列為範例輸出：

   ```
   DeviceID            Size
   \\.\PHYSICALDRIVE2  80517265920
   \\.\PHYSICALDRIVE1  80517265920
   \\.\PHYSICALDRIVE0  128849011200
   \\.\PHYSICALDRIVE3  107372805120
   ```

1. 使用 **dd** 或 **fio** 來識別要初始化的磁碟機。`C:` 磁碟機在 `\\.\PHYSICALDRIVE0` 上。如果您不確定要使用哪個磁碟機代號，則可以使用 `diskmgmt.msc` 公用程式將磁碟機代號與磁碟機號碼做比較。

------
#### [ Use the dd utility ]

完成下列程序以安裝並使用 **dd** 來初始化磁碟區。

**重要考量**
+ 初始化磁碟機可能需要幾分鐘至幾個小時，取決於您的 EC2 執行個體頻寬、為磁碟區佈建的 IOPS 以及磁碟區大小。
+ 錯誤使用 **dd** 可能會輕易破壞磁碟區的資料。請務必嚴格遵循此程序。

**若要安裝 Windows 的 dd**

用於 Windows 程式的 **dd** 提供與 Linux 和 Unix 系統一般可用的 **dd** 程式類似體驗，讓您能初始化從快照中建立的 Amazon EBS 磁碟區。最新的測試版本可支援 `/dev/null` 虛擬裝置。如果您安裝舊版，則可以改用 `nul` 虛擬裝置。完如需完整文件，請參閱 [http://www.chrysocome.net/dd](http://www.chrysocome.net/dd)。

1. 請從 [http://www.chrysocome.net/dd](http://www.chrysocome.net/dd) 下載 Windows 之 **dd** 的最新二進位版本。

1. (選用) 為命令列公用程式建立一個易於定位和記憶的資料夾，如 `C:\bin`。如果您已經有命令列公用程式的指定資料夾，則可以在下列步驟中使用該資料夾。

1. 解壓縮該二進位套件並將 `dd.exe` 檔案複製到命令列公用程式資料夾 (例如 `C:\bin`)。

1. 將命令列公用程式資料夾新增至 Path 環境變數中，以便您可以從任何位置執行該資料夾中的程式。

   1. 選擇 **Start (啟動)**，開啟內容功能表 (用滑鼠右鍵按一下) 的 **Computer (我的電腦)**，並選擇 **Properties (屬性)**。

   1. 選擇 **Advanced system settings (進階系統設定)**、**Environment Variables (環境變數)**。

   1. 針對 **System Variables (系統變數)**，選取 **Path (路徑)** 變數，並選取 **Edit (編輯)**。

   1. 針對**變數值**，將分號和命令列公用程式資料夾 (**;C:\$1bin\$1)**) 的位置附加到現有值的結尾。

   1. 選擇 **OK (確認)** 以關閉 **Edit System Variable (編輯系統變數)** 視窗。

1. 開啟新的命令提示視窗。上一步不會更新目前命令提示視窗中的環境變數。因您已完成上一步而開啟的命令提示字元視窗已更新。
<a name="prewarm_snapshot_command"></a>
**若要使用 Windows 的 dd 來初始化磁碟區**  
執行下列命令來讀取指定裝置上的所有區塊 (並將輸出傳送至 `/dev/null` 虛擬裝置)。該命令會安全地初始化您的現有資料。

```
dd if=\\.\PHYSICALDRIVEn of=/dev/null bs=1M --progress --size
```

如果 **dd** 嘗試讀取超過磁碟區的結尾，您可能會發生錯誤。您可以放心忽略此錯誤。

如果您使用舊版 **dd** 指令，則其不支援 `/dev/null` 裝置。反之，您可以使用以下所示的 `nul` 裝置。

```
dd if=\\.\PHYSICALDRIVEn of=nul bs=1M --progress --size
```

------
#### [ Use the fio utility ]

完成下列程序以安裝並使用 **fio** 來初始化磁碟區。

**安裝 Windows 的 **fio****

用於 Windows 程式的 **fio** 提供與 Linux 和 Unix 系統一般可用的 **fio** 程式類似體驗，允許您初始化從快照中建立的 Amazon EBS 磁碟區。如需詳細資訊，請參閱 [https://github.com/axboe/fio](https://github.com/axboe/fio)。

1. 展開最新版本的**資產**並選取 [**fio** MSI](https://github.com/axboe/fio/releases) 安裝程式，下載該 MSI 安裝程式。

1. 安裝 **fio**。

**使用 Windows 的 **fio** 來初始化磁碟區**

1. 質性類似於下列的命令來初始化磁碟區：

   ```
   fio --filename=\\.\PHYSICALDRIVEn  --rw=read --bs=1M --iodepth=32 --direct=1 --name=volume-initialize
   ```

1. 操作完成後，您即可使用新磁碟區。如需詳細資訊，請參閱[讓 Amazon EBS 磁碟區可供使用](ebs-using-volumes.md)。

------

# 監控 Amazon EBS 磁碟區初始化的狀態
<a name="ebs-initialize-monitor"></a>

當您從快照或另一個磁碟區 （磁碟區複製） 建立磁碟區時，您可以監控磁碟區初始化的狀態，以判斷初始化程序是否完成。您可以使用下列選項來監控磁碟區初始化：

**Topics**
+ [

## AWS CLI 和 Amazon EC2 主控台
](#ebs-initialize-monitor-ec2)
+ [

## Amazon EventBridge
](#ebs-initialize-monitor-ev)

## AWS CLI 和 Amazon EC2 主控台
<a name="ebs-initialize-monitor-ec2"></a>

建立磁碟區之後，您可以隨時使用 AWS CLI 和 Amazon EC2 主控台來檢查磁碟區初始化的狀態。提供下列資訊：
+ **初始化類型** (AWS CLI 僅限） — 指出使用的磁碟區初始化類型。 `default` 用於快速快照還原和預設磁碟區初始化、`provisioned-rate`Amazon EBS 磁碟區初始化佈建速率，以及 `volume-copy` 用於磁碟區複製初始化。
+ **預估完成時間 **(AWS CLI 僅限 ) — 僅適用於使用 Amazon EBS 佈建磁碟區初始化速率建立的磁碟區。磁碟區初始化完成的預估剩餘時間，以秒為單位。
+ **進度** — 磁碟區初始化程序的進度，以百分比 (0-100) 表示。對於使用快速快照還原初始化的磁碟區，進度會在建立後立即移至 100%。
+ **初始化狀態** — 磁碟區初始化的整體狀態 (`initializing` 或 `completed`)。對於使用快速快照還原初始化的磁碟區， 狀態會在建立`completed`後立即移至 。

**注意**  
最多可能需要 5 分鐘才能更新磁碟區初始化資訊。

------
#### [ Console ]

**監控磁碟區初始化的狀態**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Volumes** (磁碟區)。

1. 選取要檢查磁碟區初始化狀態的磁碟區。

1. 網格和**詳細資訊**索引標籤中的**初始化狀態**欄位會以下列格式提供進度資訊：*初始化狀態 （進度百分比）*。例如，*初始化 (75%)*。

   可能的初始化狀態包括：*初始化*和*已完成*。

------
#### [ AWS CLI ]

**監控磁碟區初始化的狀態**  
使用 [ describe-volume-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volume-status.html) AWS CLI 命令來檢視初始化狀態。 `EstimatedTimeToCompleteInSeconds` 只會針對使用 Amazon EBS 佈建的磁碟區初始化速率建立的磁碟區傳回 。

例如，下列命令會檢查磁碟區的初始化狀態`vol-11111111111111111`，這是使用 Amazon EBS 磁碟區初始化的佈建速率所建立。

```
aws ec2 describe-volume-status --volume-id vol-01111111111111111
```

以下為範例輸出。

```
{
    "VolumeStatuses": [
        {
            "Actions": [],
            "AvailabilityZone": "us-east-1a",
            "Events": [],
            "VolumeID": "vol-11111111111111111",
            "VolumeStatus": {
                "Details": [
                    {
                        "Name": "io-enabled",
                        "Status": "passed"
                    },
                    {
                        "Name": "io-performance",
                        "Status": "not-applicable"
                    },
                    {
                        "Name": "initialization-state",
                        "Status": "completed"
                    }
                ],
                "Status": "ok"
            },
            "InitializationStatusDetails": {
                "InitializationType": "provisioned-rate",
                "Progress": 75,
                "EstimatedTimeToCompleteInSeconds": 850
            }
        }
    ]
}
```

------

## Amazon EventBridge
<a name="ebs-initialize-monitor-ev"></a>

Amazon EventBridge 事件會在****磁碟區初始化完成後的五分鐘內傳送至您的帳戶。您可以建立規則來觸發程式設計動作以回應這些事件。

**注意**  
盡可能發出事件。
如果您在初始化完成之前或在初始化完成後 5 分鐘內刪除磁碟區，則可能不會收到事件。

如需事件的詳細資訊，請參閱 [EBS 磁碟區初始化事件](ebs-cloud-watch-events.md#volume-initialization-events)。

**使用 EventBridge 監控磁碟區初始化的狀態**

1. 前往 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 選擇**規則**、**建立規則**。

1. 針對**步驟 1**，執行下列動作：

   1. 指定規則的名稱和描述。

   1. 針對**事件匯流排**，選擇接收事件的匯流排。如果您尚未建立自訂事件匯流排，請保留**預設值**，或參閱[建立事件匯流排](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html)。

   1. 對於**規則類型**，請保留**具有事件模式的規則**。

   1. 選擇**下一步**。

1. 針對**步驟 2**，執行下列動作：

   1. 對於**事件來源**，保留**AWS 事件或 EventBridge 合作夥伴事件**。

   1. 對於**建立方法**，選擇**自訂模式 (JSON 編輯器)**。

   1. 針對**事件模式**，新增下列項目：

      ```
      {
          "detail-type": ["EBS Volume Notification"],
          "source": ["aws.ec2"],
          "detail": {
              "event": ["initializeVolume"],
              "result": ["succeeded"]
          }
      }
      ```

      如需範例事件，請參閱[EBS 磁碟區初始化事件](ebs-cloud-watch-events.md#volume-initialization-events)。

   1. 選擇**下一步**。

1. 針對**步驟 3**，執行下列動作：

   1. 在**目標類型**欄位中，選擇 **AWS 服務**。

   1. 對於**選取目標**，選擇 **SNS 主題**，對於**主題**，選擇所需的主題。如果您尚未建立任何主題，請參閱[建立主題](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)。

   1. 對於**許可**，保持選取**使用執行角色 （建議）**。

   1. 對於**執行角色**，請保持選取**為此特定資源建立新角色**，並保留預設角色名稱。

   1. 選擇**下一步**。

1. 針對**步驟 4**，視需要指定規則的標籤，然後選擇**下一步**。

1. 針對**步驟 5**，檢閱規則，然後選擇**建立規則**。