本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
初始化 Amazon EBS 磁碟區
空的 EBS 磁碟區會在建立時收到其最大效能,且不需要初始化 (先前稱為預熱前)。
對於從快照建立且類型不限的磁碟區,儲存區塊必須從 Amazon S3 中下拉並寫入磁碟區,您才能存取該區塊。此初步動作需要時間,並且可能會導致初次存取每個區塊時出現 I/O 操作延遲。當所有區塊都下載並寫入磁碟區後,就能發揮磁碟區的效能。
重要
初始化從快照建立的佈建 SSDIOPS 磁碟區時,磁碟區的效能可能會低於其預期層級的 50%,這會導致磁碟區在 I/O 效能狀態檢查中顯示warning
狀態。這是預期的,您可以在初始化佈建的 IOPS SSD區時忽略其warning
狀態。如需詳細資訊,請參閱Amazon EBS 磁碟區狀態檢查。
對於大多數應用程式而言,在磁碟區整個生命週期內攤銷初始化成本是可以接受的。若要避免在生產環境中發生此初始效能衝擊,您可以使用下列其中一個選項:
-
強制立即初始化整個磁碟區。如需詳細資訊,請參閱 Linux 執行個體(Linux 執行個體) 或 Windows 執行個體(Windows 執行個體)。
-
在快照上啟用快速快照還原,以確保從快照建立的 EBS 磁碟區在建立時完全初始化,並立即交付其所有佈建的效能。如需詳細資訊,請參閱Amazon EBS 快速快照還原。
在 Linux 上初始化從快照建立的磁碟區
-
將新還原的磁碟區連接至您的 Linux 執行個體。
-
使用 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
欄下沒有列出路徑)。 -
請使用 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 status=progress[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 磁碟區可供使用。
在使用任一工具之前,請按照下列步驟來收集系統中磁碟機的資訊:
若要收集系統磁碟的相關資訊
-
使用 wmic 命令,列出系統上的可用磁碟機:
wmic diskdrive get size,deviceid
下列為範例輸出:
DeviceID Size \\.\PHYSICALDRIVE2 80517265920 \\.\PHYSICALDRIVE1 80517265920 \\.\PHYSICALDRIVE0 128849011200 \\.\PHYSICALDRIVE3 107372805120
-
使用 dd 或 fio 來識別要初始化的磁碟機。
C:
磁碟機在\\.\PHYSICALDRIVE0
上。如果您不確定要使用哪個磁碟機代號,則可以使用diskmgmt.msc
公用程式將磁碟機代號與磁碟機號碼做比較。