前言:因為機房伺服器執行不穩定的原因導致計算節點掛掉,然後上面的centos7
虛擬機器在遷移之後開機報錯。這個解決方法同樣適用於其它作業系統的虛擬機器。基於映象建立的虛擬機器例項。
i/o error, can't read device /dev/vda 的報錯資訊
首先做疏散先把虛擬例項從宿主機上面疏散到其它主機,關閉雲主機。
1.找到虛擬機器的id可以通過dashboard介面或者使用openstack server list
命令,找到虛擬機器的id;然後檢視虛擬機器的詳細資訊。
比如:
nova show 8fa3d2eb-2401-48a9-850a-f800314c6950
# 與這個命令相同功能的命令還有
連線到所在的計算節點,例項名稱確定是哪台主機。
通過id可以確定該虛擬機器例項的資料目錄,如果openstack沒有對接儲存的話那麼在這個目錄下就會存在資料檔案,因為對接了ceph所以資訊在libvirt.xml
的檔案裡面。
cat /var/lib/nova/instances/8fa3d2eb-2401-48a9-850a-f800314c6950/libvirt.xml
裡面就是它的vda的id。
2.當找到這個磁碟的id之後,在ceph集群裡面去檢視這個裝置
3.取消它原來有的一些屬性
# 檢視卷
rbd info volumes/0859147d-27aa-49a5-8373-7c515c4f3a02_disk
#取消它原來有的一些屬性;根據ceph的提示操作,因為有的屬性linux不支援。
rbd feature disable exclusive-lock object-map fast-diff deep-flatten --image 8fa3d2eb-2401-48a9-850a-f800314c6950_disk -p volumes
4.把它對映到本地
rbd map 8fa3d2eb-2401-48a9-850a-f800314c6950_disk -p volumes
# 如果對映不了執行下這個命令。
rbd flatten volumes/8fa3d2eb-2401-48a9-850a-f800314c6950_disk
## 扁平化快照,意思就是江這個快照卷給獨立出來。
5.使用命令修復
# 有的可能修復不了就只能做好丟失資料的準備了
xfs_repair -l /dev/rbd0p1
可以ls /dev/rbd* 檢視一下,rbd0p1表示的事乙個啟動分割槽。
6.取消對映
rbd unmap 8fa3d2eb-2401-48a9-850a-f800314c6950_disk -p volumes
這個時候再重新啟動就正常了。
感謝網上上傳資料分享的部落格,我蒐集並處理了故障,終結了出來,希望更多的人看到早日跳出坑!
openstack 單個宿主機實現雙網域連通
openstack 單個宿主機實現雙網域連通 單個宿主機可以聯通多個網域 本身ovs做了雙網絡卡繫結,需要先解除繫結,新建網橋,兩個網口分別指向不同交換機。master節點建立 載入環境變數。儲存後載入環境變數,source adminrc 重啟neutron openvswtich agent s...
openstack 故障處理
系統磁碟損壞 前提 disk檔案為檔案儲存型別的雲主機。步驟 1 檢視損壞os雲主機所在宿主機 nova show 2 找到或建立一台與損壞雲主機os版本一致的雲主機 3 將損壞雲主機a的磁碟檔案disk拷貝乙份至用於修復雲主機b disk bak ls var lib nova instances...
為Hyper v宿主機和故障轉移群集做防病毒排除
適應平台 hyper v 2.0 hyper v 3.0 一 參考kb961804 在防病毒軟體中對以下hyper v相關目錄做排除 預設的虛擬機器配置目錄 c programdata microsoft windows hyper v 自定義虛擬機器配置目錄 預設虛擬硬碟的目錄 c users p...