初始化 Amazon EBS 磁碟區 - Amazon Elastic Compute Cloud

初始化 Amazon EBS 磁碟區

空的 EBS 磁碟區在建立時即可獲得最大效能,且不需要初始化 (先前稱為預先培養)。

對於從快照建立的磁碟區,儲存區塊必須從 Amazon S3 中下拉並寫入磁碟區,您才能存取該區塊。此初步動作需要時間,並且可能會導致初次存取每個區塊時出現 I/O 操作延遲。當所有區塊都下載並寫入磁碟區後,就能發揮磁碟區的效能。

重要

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

對於大多數應用程式而言,在磁碟區整個生命週期內攤銷初始化成本是可以接受的。若要避免在生產環境中發生此初始效能衝擊,您可以使用下列其中一個選項:

在 Windows 上初始化 Amazon EBS 磁碟區

新的 EBS 磁碟區在可用時即可獲得最大效能,且不需要初始化 (先前稱為預先培養)。對於已從快照建立的磁碟區,請使用 Windows 的 ddfio 來讀取磁碟區上所有區塊。磁碟上的所有現有資料都會保留。

如需有關在 Linux 上初始化 Amazon EBS 磁碟區的資訊,請參閱在 Linux 上初始化 Amazon EBS 磁碟區

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

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

  1. 使用 wmic 命令,列出系統上的可用磁碟機:

    wmic diskdrive get size,deviceid

    下列為範例輸出:

    DeviceID Size \\.\PHYSICALDRIVE2 80517265920 \\.\PHYSICALDRIVE1 80517265920 \\.\PHYSICALDRIVE0 128849011200 \\.\PHYSICALDRIVE3 107372805120
  2. 使用 ddfio 來識別要初始化的磁碟機。C: 磁碟機在 \\.\PHYSICALDRIVE0 上。如果您不確定要使用哪個磁碟機代號,則可以使用 diskmgmt.msc 公用程式將磁碟機代號與磁碟機號碼做比較。

使用 dd

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

重要考量

  • 初始化磁碟機可能需要幾分鐘至幾個小時,取決於您的 EC2 執行個體頻寬、為磁碟區佈建的 IOPS 以及磁碟區大小。

  • 錯誤使用 dd 可能會輕易破壞磁碟區的資料。請務必嚴格遵循此程序。

若要安裝 Windows 的 dd

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

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

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

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

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

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

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

    3. 針對 System Variables (系統變數),選取 Path (路徑) 變數,並選擇 Edit (編輯)

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

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

  5. 開啟新的命令提示視窗。上一步不會更新目前命令提示視窗中的環境變數。因您已完成上一步而開啟的命令提示字元視窗已更新。

若要使用 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

使用 fio

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

安裝 Windows 的 fio

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

  1. 下載 fio MSI 安裝程式 (選取最新的 x86 或 x64 建置,然後選取 Artifacts (成品))。

  2. 安裝 fio

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

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

    fio --filename=\\.\PHYSICALDRIVEn --rw=read --bs=128k --iodepth=32 --direct=1 --name=volume-initialize
  2. 操作完成後,您即可使用新磁碟區。如需詳細資訊,請參閱 使 Amazon EBS 磁碟區可在 Windows 上使用