2026年6月12日 星期五

CubeCOS 虛擬機刪除網路介面,且主機內沒有 virtio 驅動程式成為孤島主機時,進行 virtio iso 掛載流程

 # 當 CubeCOS 虛擬機刪除網路介面,且主機內沒有 virtio 驅動程式成為孤島主機時,進行 virtio iso 掛載流程。


# 步驟一:確認目標虛擬機的底層名稱

# 在 Compute Node(計算節點)上列出運行中的 instance,並反查對應的 OpenStack 虛擬機名稱:

# 1. 列出所有運行中的 instance ID 與名稱

virsh list


# 2. 透過 XML 資訊確認哪一台是目標 Windows 主機(以 instance-000000xx 為例)

virsh dumpxml instance-000000xx | grep -i "nova:name"


# 3. 查看虛擬機磁碟掛載狀況

virsh domblklist instance-000000xx



# 步驟二:準備 ISO 檔案(調整存取權限與CubeCOS資料路徑存取權限問題)

# 將已上傳的 virtio iso 移至全域可讀的暫存區

# 1. 將已上傳的 ISO 從 CephFS/Glance 後端複製到 /tmp,或者直接 Client 電腦上傳 virtio iso 到 /tmp/

cp /mnt/cephfs/glance/virtio-win-0.1.285.iso /tmp/


# 2. 賦予全域可讀權限

chmod 644 /tmp/virtio-win-0.1.285.iso



# 步驟三:執行 SCSI 通道熱插拔掛載

# 利用 Q35 架構內建的 Virtio-SCSI 控制器將 ISO 掛載為光碟機。此通道支援免關機熱插拔,Windows 會直接識別為標準 CD-ROM。

# 使用絕對路徑掛載,指定未使用的目標代號(如 sdd)與 scsi 匯流排,避免 libvirtd / qemu 背景帳號因隔離政策顯示 Permission denied 或 No such file or directory。

virsh attach-disk instance-000000xx /tmp/virtio-win-0.1.285.iso sdd --type cdrom --mode readonly --targetbus scsi


# 預期結果:執行後 Windows 內部會立刻跳出一個唯讀的光碟機(如 D 槽或 E 槽),直接顯示驅動內容。



# 步驟四:Windows 內部安裝,進入 Windows VNC Console 後,強烈建議執行完整維運優化,不要只單獨更新網卡:

# 網卡驅動:裝置管理員 -> 乙太網路控制卡 -> 更新驅動程式 -> 指向光碟機中的 NetKVM\2k22\amd64(依 OS 版本選擇)。

# 安裝完整 Guest Tools:直接執行光碟根目錄的 virtio-win-guest-tools.exe。

# 效益:一併補齊 qemu-guest-agent 與 Balloon 驅動,確保未來可透過 CubeCOS 面板執行「正常關機(非強制斷電)」與「精準監控實時記憶體」。



步驟五:環境清理與安全卸載驅動確認無誤、網路連通後,將虛擬光碟機退出,並清理計算節點的暫存空間:

# 1. 在 Compute Node 即時卸載光碟設備

virsh detach-disk instance-000000xx sdd


# 2. 刪除暫存區的 ISO 檔案釋放硬碟空間

rm /tmp/virtio-win-0.1.285.iso


沒有留言:

張貼留言

CubeCOS 虛擬機刪除網路介面,且主機內沒有 virtio 驅動程式成為孤島主機時,進行 virtio iso 掛載流程

 # 當 CubeCOS 虛擬機刪除網路介面,且主機內沒有 virtio 驅動程式成為孤島主機時,進行 virtio iso 掛載流程。 # 步驟一:確認目標虛擬機的底層名稱 # 在 Compute Node(計算節點)上列出運行中的 instance,並反查對應的 OpenSt...