1、openstack虛擬機task_state狀態異常處理
問題描述:
正常狀態:
異常狀態:
任務狀態應為 無,但該虛擬機為None。無法執行開機、關機等操作。
當前異常狀態下通過命令行關閉虛擬機會報錯,報錯信息如下:
[root@controller1 ~]# openstack server stop 9aeec572-9543-41ef-9386-d87825f09877
Cannot 'stop' instance 9aeec572-9543-41ef-9386-d87825f09877 while it is in task_state None (HTTP 409) (Request-ID: req-9f57f908-377e-439a-a542-9125d0335c22)
原因分析:
這個錯誤表明你嘗試停止(stop)一個 OpenStack 實例(VM),但操作被拒絕,原因是實例當前的 task_state 為 None,而 OpenStack 不允許在這種狀態下執行停止操作。
- task_state: None 表示實例當前沒有正在進行的任務(如啟動、停止、遷移等),但 OpenStack 可能由于某些原因拒絕停止操作。
- HTTP 409 Conflict 表示服務器狀態與請求沖突,通常是因為:
- 實例已經處于停止狀態(但 API 未正確識別)。
- 實例被鎖定(locked=True)。
- 計算節點(nova-compute)或 OpenStack 控制平面(如 nova-api)存在狀態不一致。
通過openstack管理控制臺查看正常虛擬機任務狀態(task_state)為無,但是zabbix-2該虛擬機任務狀態為None(異常狀態)無法對zabbix-2虛擬機執行操作(開機、關機、重啟)。
登錄openstack control節點,運行命令查看異常虛擬機狀態,執行
nova reset-state
命令后虛擬機狀態變為error,可以對該虛擬機執行關機操作
處理過程:
在 OpenStack 中,nova reset-state 命令用于 手動修正虛擬機(實例)的狀態,通常用于解決 OpenStack 數據庫中的實例狀態與實際 Hypervisor(如 KVM、Xen)狀態不一致的問題。
nova reset-state 9aeec572-9543-41ef-9386-d87825f09877
上面顯示虛擬機狀態恢復正常,可正常啟動虛擬機
啟動虛擬機:
[root@controller1 ~]# nova start 9aeec572-9543-41ef-9386-d87825f09877
Request to start server 9aeec572-9543-41ef-9386-d87825f09877 has been accepted.
可正常啟動。