初始化 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 磁碟區狀態檢查

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

在 Linux 上初始化 Amazon EBS 磁碟區

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

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

在 Linux 上初始化從快照建立的磁碟區
  1. 將新還原的磁碟區連接至您的 Linux 執行個體。

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

    [ec2-user ~]$ 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 欄下沒有列出路徑)。

  3. 請使用 ddfio 公用程式來讀取裝置上的所有區塊。dd 命令在 Linux 系統上為預設安裝,但是 fio 速度較快,因為允許多執行緒讀取。

    注意

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

    [dd] if (輸入檔案) 參數應設定為您希望初始化的磁碟機。of (輸出檔案) 參數應設定為 Linux null 虛擬裝置,/dev/nullbs 參數設定讀取操作的區塊大小;為獲得最佳效能,應將其設定為 1 MB。

    重要

    錯誤使用 dd 可能會輕易破壞磁碟區的資料。請務必嚴格遵循以下範例命令。只有 if=/dev/xvdf 參數取決於您正在讀取的裝置名稱。

    [ec2-user ~]$ sudo dd if=/dev/xvdf of=/dev/null bs=1M

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

    [ec2-user ~]$ 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 磁碟區可在 Linux 上使用