计算节点宕机了怎么办?- 每天5分钟玩转 OpenStack(43)
Rebuild 可以恢復(fù)損壞的 instance。
那如果是宿主機(jī)壞了怎么辦呢? 比如硬件故障或者斷電造成整臺(tái)計(jì)算節(jié)點(diǎn)無(wú)法工作,該節(jié)點(diǎn)上運(yùn)行的 instance 如何恢復(fù)呢?
用 Shelve 或者 Migrate 可不可以? 很不幸,這兩個(gè)操作都要求 instance 所在計(jì)算節(jié)點(diǎn)的 nova-compute 服務(wù)正常運(yùn)行。 幸運(yùn)的是,還有 Evacuate 操作。
Evacuate 可在 nova-compute 無(wú)法工作的情況下將節(jié)點(diǎn)上的 instance 遷移到其他計(jì)算節(jié)點(diǎn)上。但有個(gè)前提: Instance 的鏡像文件必須放在共享存儲(chǔ)上。
下面是 Evacuate instance 的流程圖
向 nova-api 發(fā)送請(qǐng)求
nova-api 發(fā)送消息
nova-scheduler 執(zhí)行調(diào)度
nova-scheduler 發(fā)送消息
nova-compute 執(zhí)行操作
下面我們?cè)敿?xì)討論每一個(gè)步驟。
向 nova-api 發(fā)送請(qǐng)求
我們的實(shí)驗(yàn)場(chǎng)景如下: Instance c2 運(yùn)行在 devstack-compute1 上。
通過(guò)斷電模擬計(jì)算節(jié)點(diǎn)故障,然后執(zhí)行 Evacuate 操作恢復(fù) instance c2。 目前 Evacuate 只能通過(guò) CLI 執(zhí)行。
這里需要指定 --on-shared-storage 這個(gè)參數(shù)
查看日志 /opt/stack/logs/n-api.log
nova-api 發(fā)送消息
nova-api 向 Messaging(RabbitMQ)發(fā)送了一條消息:“Evacuate 這個(gè) Instance” 查看源代碼 /opt/stack/nova/nova/compute/api.py,方法是 evacuate。
大家注意到?jīng)]有,evacuate 實(shí)際上是通過(guò) rebuild 操作實(shí)現(xiàn)的。 這是可以理解的,因?yàn)?evacuate 是用共享存儲(chǔ)上 instance 的鏡像文件重新創(chuàng)建虛機(jī)
nova-scheduler 執(zhí)行調(diào)度
nova-scheduler 收到消息后,會(huì)為 instance 選擇合適的計(jì)算節(jié)點(diǎn)。 查看日志 /opt/stack/logs/n-sch.log。
nova-scheduler 最后選擇在 devstack-controller 計(jì)算節(jié)點(diǎn)上重建 instance。
nova-scheduler 發(fā)送消息
nova-scheduler 發(fā)送消息,通知計(jì)算節(jié)點(diǎn)可以創(chuàng)建 instance 了。 源代碼在 /opt/stack/nova/nova/scheduler/filter_scheduler.py 第 95 行,方法為 select_destinations。
nova-compute 執(zhí)行操作
計(jì)算節(jié)點(diǎn)上的工作是用共享存儲(chǔ)上的鏡像文件重建 instance。 日志在 devstack-controller:/opt/stack/logs/n-cpu.log。
為instance分配資源
使用共享存儲(chǔ)上的鏡像文件
啟動(dòng) instance
Evacuate 操作完成后,instance 在 devstack-controller 上運(yùn)行。
以上是 Evacuate 操作的詳細(xì)分析。
至此,我們已經(jīng)學(xué)習(xí)完 Nova 所有的操作,下一節(jié)將用一張圖總結(jié)這些操作的用途和使用場(chǎng)景。
?
轉(zhuǎn)載于:https://blog.51cto.com/cloudman/1786423
總結(jié)
以上是生活随笔為你收集整理的计算节点宕机了怎么办?- 每天5分钟玩转 OpenStack(43)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Node_MongoDB
- 下一篇: saltstack-gdlwolf自学总