監控EBS磁碟區修改的進度 - Amazon EBS

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

監控EBS磁碟區修改的進度

當您修改體EBS積塊時,它會經歷一系列狀態。磁碟區會進入 modifying 狀態,再進入 optimizing 狀態,最終進入 completed 狀態。至此,磁碟區已準備好進行其他修改。

注意

暫時性 AWS 錯誤很少會導致狀failed態。這並非指磁碟區運作狀態,只是表示修改磁碟區失敗。如果發生此情況,請重新嘗試修改磁碟區。

磁碟區進入 optimizing 狀態時,磁碟區的效能介於來源和目標組態規格之間。轉換的磁碟區效能不會比來源磁碟區效能低。如果要降級IOPS,則轉移體積效能不會低於目標體積效能。

磁碟區修改變更即會生效,如下所示:

  • 大小變更通常需幾秒鐘才會完成,且需等磁碟區轉換為 Optimizing 狀態後生效。

  • 效能 (IOPS) 變更可能需要幾分鐘到幾小時才能完成,而且取決於正在進行的組態變更。

  • 某些情況下,新組態可能需要超過 24 小時才能生效,例如磁碟區未完全初始化時。一般來說,完整使用的 1 TiB 磁碟區需約 6 小時才能遷移到新效能組態。

若要監控磁碟區修改進度,請使用下列其中一種方法。

Console
使用 Amazon EC2 主控台監控修改進度
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格中,選擇 Volumes (磁碟區)。

  3. 選取磁碟區。

  4. [詳細資料] 索引標籤中的 [磁碟區狀態] 欄和 [磁碟區狀態] 欄位包含下列格式的資訊:Volume state - Modification state (Modification progress%)。 下圖顯示磁碟區和磁碟區修改狀態。

    磁碟區和磁碟區修改狀態

    可能的磁碟區狀態為 creatingavailablein-usedeletingdeletederror

    可能會出現的修改狀態為 modifyingoptimizing 和 completed

    修改完成後,畫面只會顯示磁碟區狀態。不會再顯示修改狀態和進度。

AWS CLI
若要使用 AWS CLI

使用指describe-volumes-modifications令檢視一個或多個體積塊修改的進度。以下範例說明兩個磁碟區的磁碟區修改狀態。

aws ec2 describe-volumes-modifications --volume-ids vol-11111111111111111 vol-22222222222222222

在以下範例輸出中,磁碟區修改仍處於 modifying 狀態中。進度會以百分比的形式回報。

{ "VolumesModifications": [ { "TargetSize": 200, "TargetVolumeType": "io1", "ModificationState": "modifying", "VolumeId": "vol-11111111111111111", "TargetIops": 10000, "StartTime": "2017-01-19T22:21:02.959Z", "Progress": 0, "OriginalVolumeType": "gp2", "OriginalIops": 300, "OriginalSize": 100 }, { "TargetSize": 2000, "TargetVolumeType": "sc1", "ModificationState": "modifying", "VolumeId": "vol-22222222222222222", "StartTime": "2017-01-19T22:23:22.158Z", "Progress": 0, "OriginalVolumeType": "gp2", "OriginalIops": 300, "OriginalSize": 1000 } ] }

下一個範例說明修改狀態為 optimizingcompleted 的所有磁碟區,然後篩選並格式化結果,僅顯示在 2017 年 2 月 1 日及之後啟動的修改:

aws ec2 describe-volumes-modifications --filters Name=modification-state,Values="optimizing","completed" --query "VolumesModifications[?StartTime>='2017-02-01'].{ID:VolumeId,STATE:ModificationState}"

以下範例輸出提供兩個磁碟區的相關資訊:

[ { "STATE": "optimizing", "ID": "vol-06397e7a0eEXAMPLE" }, { "STATE": "completed", "ID": "vol-ba74e18c2aEXAMPLE" } ]
CloudWatch Events console

使用 CloudWatch 事件,您可以建立磁碟區修改事件的通知規則。您可以使用規則來使用 Amazon 產生通知訊息,SNS或叫用 Lambda 函數來回應相符事件。盡可能發出事件。

若要使用 CloudWatch 事件監視修改的進度
  1. 在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 選擇 Events (事件)、Create rule (建立規則)。

  3. Build event pattern to match events by service (建構事件的模式,依服務來匹配事件) 中,選擇 Custom event pattern (自訂事件模式)。

  4. Build custom event pattern (建置自訂事件模式) 中,將內容取代為下列內容,並選擇 Save (儲存)

    { "source": [ "aws.ec2" ], "detail-type": [ "EBS Volume Notification" ], "detail": { "event": [ "modifyVolume" ] } }

    以下為事件資料的範例:

    { "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "EBS Volume Notification", "source": "aws.ec2", "account": "012345678901", "time": "2017-01-12T21:09:07Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:012345678901:volume/vol-03a55cf56513fa1b6" ], "detail": { "result": "optimizing", "cause": "", "event": "modifyVolume", "request-id": "01234567-0123-0123-0123-0123456789ab" } }