隔離損壞的本地碟後,ECS執行個體不會變更所宿物理機。本文僅適用於發生了本地碟執行個體系統事件的ECS執行個體,介紹如何在控制台和使用CLI隔離損壞的本地碟。
背景資訊
隔離損壞的本地碟僅支援巨量資料型執行個體,隔離損壞的本地碟系統事件包括以下事件:
本地磁碟出現損壞警示(
Disk:ErrorDetected
)因系統維護隔離壞盤(
SystemMaintenance.IsolateErrorDisk
)因系統維護重啟執行個體並隔離壞盤(
SystemMaintenance.RebootAndIsolateErrorDisk
)因系統維護重新初始化壞盤(
SystemMaintenance.ReInitErrorDisk
)因系統維護重啟執行個體並重新初始化壞盤(
SystemMaintenance.RebootAndReInitErrorDisk
)
更多本地碟事件資訊,請參見本地碟執行個體營運情境和系統事件。
操作步驟
通過控制台隔離損壞的本地碟
登入ECS管理主控台。
在左側導覽列,單擊事件。
在事件頁面左側導覽列,單擊本地碟執行個體事件。
在本地碟執行個體事件頁面,單擊本地碟受損事件頁簽。
找到目標執行個體,在操作列單擊修複磁碟。
在修改配置階段,修改ECS執行個體的設定檔,完成後單擊下一步。
部分Linux執行個體如果出現修改配置階段,請根據頁面提示完成以下操作。本章節壞盤的裝置名稱以/dev/vdd為例。
遠端連線ECS執行個體。
具體操作,請參見通過密碼或密鑰認證登入Linux執行個體。
(可選)對本地碟設定應用程式層讀寫隔離。
在/etc/fstab設定檔中為對應本地碟加入nofail參數。
/dev/vdd /mnt/vdd ext4 defaults,barrier=0,nofail 0 0
參數設定
說明
/dev/vdd
本地碟裝置名稱,DescribeInstanceHistoryEvents返回的Device取值。
/mnt/vdd
本地碟掛載點,可通過
mount | grep "/dev/vdd"
命令查詢。ext4
檔案系統類型,可通過
blkid /dev/vdd
命令查詢。barrier=0
掛載選項,在檔案系統中禁用barrier。
nofail
本地碟出現在檔案系統中但實際缺失時,不會中斷ECS執行個體的啟動流程。
取消掛載本地碟。
umount /dev/vdd
重要如果不進行取消掛載操作,在壞盤維修完成並恢複隔離後,該本地碟的對應裝置名稱會發生變化,可能導致應用讀寫錯誤的磁碟。
在隔離壞盤階段,單擊隔離。
如果幾分鐘後沒有進入下一階段,請嘗試重新整理頁面。
(可選)在重啟階段,單擊重啟。
如果您的引導頁面出現重啟階段,則需要進行重啟。
說明 重啟執行個體後,為方便後續操作,被隔離的受損本地碟暫時變為1 MiB的Dummy硬碟。您需要在應用程式層持續隔離受損本地碟的讀寫操作和/etc/fstab檔案中的nofail設定。重啟完成後,在新盤插入中階段,單擊確定。
確認後請等待阿里雲在所宿物理機上更換損壞的本地碟,維護操作通常在五個工作日內完成,之後您會收到恢複磁碟的事件通知。
收到恢複磁碟的事件通知後,在恢複磁碟階段,單擊恢複磁碟。
如果幾分鐘後沒有進入下一階段,請嘗試重新整理頁面。
(可選)在重啟階段,單擊重啟。
如果您的引導頁面出現重啟階段,則需要進行重啟。
重啟完成後,在完成階段,單擊完成。
使用CLI隔離損壞的本地碟
請確保您已經為ECS執行個體安裝了阿里雲CLI,在不同作業系統中安裝CLI的方式請參見:
調用DescribeInstanceHistoryEvents查詢指定地區下Inquiring狀態的系統事件,並記錄返回的EventId、DiskId和Device取值。
在阿里雲CLI中執行以下命令。
aliyun ecs DescribeInstanceHistoryEvents \ --RegionId <TheRegionId> \ --InstanceEventCycleStatus.1 Inquiring
以下為JSON格式的返回樣本。
{ "InstanceSystemEventSet": { "InstanceSystemEventType": [ { "InstanceId": "i-2ze3tphuqvc93ci****3", "EventId": "e-2ze9y****wtqcvai68rl", "EventType": { "Code": 3, "Name": "SystemMaintenance.IsolateErrorDisk" }, "EventCycleStatus": { "Code": 28, "Name": "Inquiring" }, "EventPublishTime": "2017-11-30T06:32:31Z", "ExtendedAttribute" : { "DiskId": "d-disk1", "Device": "/dev/xvda" } } ] }, "PageSize": 10, "PageNumber": 1, "TotalCount": 1, "RequestId": "02EA76D3-5A2A-44EB-****-8901881D8707" }
登入ECS執行個體,做隔離前的準備。
遠端連線ECS執行個體。
具體操作,請參見通過密碼或密鑰認證登入Linux執行個體。
(可選)對本地碟設定應用程式層讀寫隔離。
如果是Linux系統ECS執行個體,在/etc/fstab設定檔中為對應本地碟加入nofail參數。
/dev/vdd /mnt/vdd ext4 defaults,barrier=0,nofail 0 0
參數設定
說明
/dev/vdd
本地碟裝置名稱,DescribeInstanceHistoryEvents返回的Device取值。
/mnt/vdd
本地碟掛載點,可通過
mount | grep "/dev/vdd"
命令查詢。ext4
檔案系統類型,可通過
blkid /dev/vdd
命令查詢。barrier=0
掛載選項,在檔案系統中禁用barrier。
nofail
本地碟出現在檔案系統中但實際缺失時,不會中斷ECS執行個體的啟動流程。
取消掛載本地碟。
umount /dev/vdd
重要如果不進行取消掛載操作,在壞盤維修完成並恢複隔離後,該本地碟的對應裝置名稱會發生變化,可能導致應用讀寫錯誤的磁碟。
調用AcceptInquiredSystemEvent響應系統事件。
在阿里雲CLI中執行以下命令。
aliyun ecs AcceptInquiredSystemEvent --RegionId <TheRegionId> --EventId <TheEventId>
決定是否重啟執行個體。
事件代碼為
SystemMaintenance.IsolateErrorDisk
時:只返回了RequestId,則無需重啟執行個體。
返回了
code=SwitchToOffline.OnlineIsolateFail
,則需要重啟執行個體。
事件代碼為
SystemMaintenance.RebootAndIsolateErrorDisk
時:調用AcceptInquiredSystemEvent後,您需要重啟執行個體。
如果需要重啟,在阿里雲CLI中執行以下命令。
aliyun ecs RebootInstance --InstanceId <TheInstanceId>
說明重啟執行個體後,為方便後續操作,被隔離的受損本地碟暫時變為1 MiB的Dummy硬碟。您需要在應用程式層持續隔離受損本地碟的讀寫操作和/etc/fstab檔案中的nofail設定。
等待阿里雲在所宿物理機上完成更換損壞的本地碟並發布
SystemMaintenance.ReInitErrorDisk
或SystemMaintenance.RebootAndReInitErrorDisk
事件,通常在五個工作日內完成。再次調用AcceptInquiredSystemEvent響應系統事件,本地碟會進入重新初始化狀態。
在阿里雲CLI中執行以下命令。
aliyun ecs AcceptInquiredSystemEvent --RegionId <TheRegionId> --EventId <TheEventId>
決定是否重啟執行個體。
事件代碼為
SystemMaintenance.ReinitErrorDisk
時:只返回了RequestId,則無需重啟執行個體。
返回了
code=SwitchToOffline.OnlineReInitFail
,則需要重啟執行個體。
事件代碼為
SystemMaintenance.RebootAndReinitErrorDisk
時:調用AcceptInquiredSystemEvent後,您需要重啟執行個體。
如果需要重啟,在阿里雲CLI中執行以下命令。aliyun ecs RebootInstance --InstanceId <TheInstanceId>
執行結果
壞盤更換完成後,本地碟受損事件將在幾分鐘後消失。
後續步驟
隔離壞盤後,請您檢查ECS執行個體和本地碟狀態。此時被更換的本地碟容量恢複為原始容量,您可以格式化資料盤。具體操作,請參見初始化小於等於2 TiB資料盤(Windows)或初始化小於等於2 TiB資料盤(Linux)。