Oracle KVM:Storage Pool的狀態是locked

 

  • 記錄一下發現其中一個VM在關機後沒有辦法重啟,錯誤訊息是說Storage Pool目前是inactive
  • 按下activate的按鈕後,Activate的task一直在跑,無法成功或結束,只好以SSH登入KVM Manager主機,以指令取消Task:
  • Task取消後,Storage Pool的狀態變成locked,檢查log也沒有看到什麼特別的錯誤
  • 因為檢查不出來哪裡有問題,只能找高手幫忙,他的做法跟我在網上找到的討論相似,強制更新資料庫的值來改變狀態,當然執行前要先檢查系統的log。
  • 以SSH登入KVM管理主機,執行下列指令登入PostgreSQL(Oracle Linux KVM):sudo -u postgres psql engine
  • 檢查一下目前的狀態,SQL:select id,storage,storage_name,storage_pool_id,status from storage_domains;,結果目前status的值是5,也就是locked
  • 我在網上找到的文章是更改storage_domains,SQL如下:update storage_domains set status=1 where id= ;

    但是會出現無法更改的警告:To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule

  • 改用這個SQL檢查一下狀態:SELECT * FROM storage_pool_iso_map,status一樣是5
  • 強制更改狀態,SQL:UPDATE storage_pool_iso_map SET status = 1 WHERE storage_id =
  • 重新查詢Storage_pool_iso_map的status,發現已成功更改為3
  • 重啟一下服務:systemctl restart ovirt-engine,再到網頁版管理介面查看Storage Pool的status,現在變成active了,試著啟動vm也成功了。
  • 修改資料庫算是危險的動作,建議還是找專人來處理比較好,這裡僅記錄一下,也許以後自己建KVM測試區時可以試一試。