隔離損壞的本地盤
隔離損壞的本地盤后,ECS實例不會變更所宿物理機(jī)。本文僅適用于發(fā)生了本地盤實例系統(tǒng)事件的ECS實例,介紹如何在控制臺和使用CLI隔離損壞的本地盤。
背景信息
隔離損壞的本地盤僅支持大數(shù)據(jù)型實例,隔離損壞的本地盤系統(tǒng)事件包括以下事件:
本地磁盤出現(xiàn)損壞告警(
Disk:ErrorDetected
)因系統(tǒng)維護(hù)隔離壞盤(
SystemMaintenance.IsolateErrorDisk
)因系統(tǒng)維護(hù)重啟實例并隔離壞盤(
SystemMaintenance.RebootAndIsolateErrorDisk
)因系統(tǒng)維護(hù)重新初始化壞盤(
SystemMaintenance.ReInitErrorDisk
)因系統(tǒng)維護(hù)重啟實例并重新初始化壞盤(
SystemMaintenance.RebootAndReInitErrorDisk
)
更多本地盤事件信息,請參見本地盤實例運(yùn)維場景和系統(tǒng)事件。
操作步驟
通過控制臺隔離損壞的本地盤
登錄ECS管理控制臺。
在左側(cè)導(dǎo)航欄,單擊事件。
在事件頁面左側(cè)導(dǎo)航欄,單擊本地盤實例事件。
在本地盤實例事件頁面,單擊本地盤受損事件頁簽。
找到目標(biāo)實例,在操作列單擊修復(fù)磁盤。
在修改配置階段,修改ECS實例的配置文件,完成后單擊下一步。
部分Linux實例如果出現(xiàn)修改配置階段,請根據(jù)頁面提示完成以下操作。本章節(jié)壞盤的設(shè)備名以/dev/vdd為例。
遠(yuǎn)程連接ECS實例。
具體操作,請參見通過密碼或密鑰認(rèn)證登錄Linux實例。
(可選)對本地盤設(shè)置應(yīng)用層讀寫隔離。
在/etc/fstab配置文件中為對應(yīng)本地盤加入nofail參數(shù)。
/dev/vdd /mnt/vdd ext4 defaults,barrier=0,nofail 0 0
參數(shù)設(shè)置
說明
/dev/vdd
本地盤設(shè)備名,DescribeInstanceHistoryEvents返回的Device取值。
/mnt/vdd
本地盤掛載點,可通過
mount | grep "/dev/vdd"
命令查詢。ext4
文件系統(tǒng)類型,可通過
blkid /dev/vdd
命令查詢。barrier=0
掛載選項,在文件系統(tǒng)中禁用barrier。
nofail
本地盤出現(xiàn)在文件系統(tǒng)中但實際缺失時,不會中斷ECS實例的啟動流程。
取消掛載本地盤。
umount /dev/vdd
重要如果不進(jìn)行取消掛載操作,在壞盤維修完成并恢復(fù)隔離后,該本地盤的對應(yīng)設(shè)備名會發(fā)生變化,可能導(dǎo)致應(yīng)用讀寫錯誤的磁盤。
在隔離壞盤階段,單擊隔離。
如果幾分鐘后沒有進(jìn)入下一階段,請嘗試刷新頁面。
(可選)在重啟階段,單擊重啟。
如果您的引導(dǎo)頁面出現(xiàn)重啟階段,則需要進(jìn)行重啟。
說明 重啟實例后,為方便后續(xù)操作,被隔離的受損本地盤暫時變?yōu)? MiB的Dummy硬盤。您需要在應(yīng)用層持續(xù)隔離受損本地盤的讀寫操作和/etc/fstab文件中的nofail設(shè)置。重啟完成后,在新盤插入中階段,單擊確定。
確認(rèn)后請等待阿里云在所宿物理機(jī)上更換損壞的本地盤,維護(hù)操作通常在五個工作日內(nèi)完成,之后您會收到恢復(fù)磁盤的事件通知。
收到恢復(fù)磁盤的事件通知后,在恢復(fù)磁盤階段,單擊恢復(fù)磁盤。
如果幾分鐘后沒有進(jìn)入下一階段,請嘗試刷新頁面。
(可選)在重啟階段,單擊重啟。
如果您的引導(dǎo)頁面出現(xiàn)重啟階段,則需要進(jìn)行重啟。
重啟完成后,在完成階段,單擊完成。
使用CLI隔離損壞的本地盤
請確保您已經(jīng)為ECS實例安裝了阿里云CLI,在不同操作系統(tǒng)中安裝CLI的方式請參見:
調(diào)用DescribeInstanceHistoryEvents查詢指定地域下Inquiring狀態(tài)的系統(tǒng)事件,并記錄返回的EventId、DiskId和Device取值。
在阿里云CLI中執(zhí)行以下命令。
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實例,做隔離前的準(zhǔn)備。
遠(yuǎn)程連接ECS實例。
具體操作,請參見通過密碼或密鑰認(rèn)證登錄Linux實例。
(可選)對本地盤設(shè)置應(yīng)用層讀寫隔離。
如果是Linux系統(tǒng)ECS實例,在/etc/fstab配置文件中為對應(yīng)本地盤加入nofail參數(shù)。
/dev/vdd /mnt/vdd ext4 defaults,barrier=0,nofail 0 0
參數(shù)設(shè)置
說明
/dev/vdd
本地盤設(shè)備名,DescribeInstanceHistoryEvents返回的Device取值。
/mnt/vdd
本地盤掛載點,可通過
mount | grep "/dev/vdd"
命令查詢。ext4
文件系統(tǒng)類型,可通過
blkid /dev/vdd
命令查詢。barrier=0
掛載選項,在文件系統(tǒng)中禁用barrier。
nofail
本地盤出現(xiàn)在文件系統(tǒng)中但實際缺失時,不會中斷ECS實例的啟動流程。
取消掛載本地盤。
umount /dev/vdd
重要如果不進(jìn)行取消掛載操作,在壞盤維修完成并恢復(fù)隔離后,該本地盤的對應(yīng)設(shè)備名會發(fā)生變化,可能導(dǎo)致應(yīng)用讀寫錯誤的磁盤。
調(diào)用AcceptInquiredSystemEvent響應(yīng)系統(tǒng)事件。
在阿里云CLI中執(zhí)行以下命令。
aliyun ecs AcceptInquiredSystemEvent --RegionId <TheRegionId> --EventId <TheEventId>
決定是否重啟實例。
事件代碼為
SystemMaintenance.IsolateErrorDisk
時:只返回了RequestId,則無需重啟實例。
返回了
code=SwitchToOffline.OnlineIsolateFail
,則需要重啟實例。
事件代碼為
SystemMaintenance.RebootAndIsolateErrorDisk
時:調(diào)用AcceptInquiredSystemEvent后,您需要重啟實例。
如果需要重啟,在阿里云CLI中執(zhí)行以下命令。
aliyun ecs RebootInstance --InstanceId <TheInstanceId>
說明重啟實例后,為方便后續(xù)操作,被隔離的受損本地盤暫時變?yōu)? MiB的Dummy硬盤。您需要在應(yīng)用層持續(xù)隔離受損本地盤的讀寫操作和/etc/fstab文件中的nofail設(shè)置。
等待阿里云在所宿物理機(jī)上完成更換損壞的本地盤并發(fā)布
SystemMaintenance.ReInitErrorDisk
或SystemMaintenance.RebootAndReInitErrorDisk
事件,通常在五個工作日內(nèi)完成。再次調(diào)用AcceptInquiredSystemEvent響應(yīng)系統(tǒng)事件,本地盤會進(jìn)入重新初始化狀態(tài)。
在阿里云CLI中執(zhí)行以下命令。
aliyun ecs AcceptInquiredSystemEvent --RegionId <TheRegionId> --EventId <TheEventId>
決定是否重啟實例。
事件代碼為
SystemMaintenance.ReinitErrorDisk
時:只返回了RequestId,則無需重啟實例。
返回了
code=SwitchToOffline.OnlineReInitFail
,則需要重啟實例。
事件代碼為
SystemMaintenance.RebootAndReinitErrorDisk
時:調(diào)用AcceptInquiredSystemEvent后,您需要重啟實例。
如果需要重啟,在阿里云CLI中執(zhí)行以下命令。aliyun ecs RebootInstance --InstanceId <TheInstanceId>
執(zhí)行結(jié)果
壞盤更換完成后,本地盤受損事件將在幾分鐘后消失。
后續(xù)步驟
隔離壞盤后,請您檢查ECS實例和本地盤狀態(tài)。此時被更換的本地盤容量恢復(fù)為原始容量,您可以格式化數(shù)據(jù)盤。具體操作,請參見初始化小于等于2 TiB數(shù)據(jù)盤(Windows)或初始化小于等于2 TiB數(shù)據(jù)盤(Linux)。