首頁 > 軟體

KVM管理工具WebVirtMgr使用中遇到問題及解決

2020-06-16 17:21:51

1.KVM虛擬機器控制台問題

點選虛機範例,每台虛機最後的按鈕”控制台”,點選後發現報錯,如下圖所示


檢視django後台的錯誤為:
ERROR:django.request:Internal Server Error: /console/
Traceback (most recent call last):
File “/usr/lib/python2.6/site-packages/django/core/handlers/base.py”, line 113, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File “/data/apps/webvirtmgr/console/views.py”, line 58, in console
response.set_cookie(‘token’, token)
AttributeError: ‘str’ object has no attribute ‘set_cookie’
查詢其原始碼,發現可能的錯誤是由於虛機沒有安裝vnc等圖形管理工具,於是在虛機的xml組態檔新增如下設定:
virsh edit oss.webvirtmgr.001

<graphics type='vnc' port='5910' autoport='no' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
</graphics>

再重新啟動虛機,如果還是不行,就先undefine,然後重新根據xml設定create試試。下載個VNC-Viewer,輸入IP:5910,看能否存取,如下圖所示:說明設定VNC是成功

但是從網頁點選控制台按鈕,發現還是不行,報錯是server disconnected

存取時django後台只有如下資訊:
[26/Apr/2016 05:59:56] “GET /console/?token=4-bcc6ca3b-ca6d-6e51-505a-9c86cf58a6b2 HTTP/1.1” 200 7270

安裝了novnc,仍然報同樣的錯,百度谷歌也找不到相應的資訊。yum -y install novnc後,無意間在伺服器上發現了這個命令novnc-server

於是敲了如下命令:novnc_server –vnc IPADDR:5920,其中IPADDR為宿主機ip地址,5920是定義的虛擬機器的vnc埠號。

[root@oss-webvirtmgr-001 ~]# novnc_server –vnc 192.168.200.230:5920
Warning: could not find self.pem
Starting webserver and WebSockets proxy on port 6080
WebSocket server settings:
- Listen on :6080
- Flash security policy server
- Web server. Web root: /usr/share/novnc
- No SSL/TLS support (no cert file)
- proxying from :6080 to 192.168.200.230:5920

Navigate to this URL:

http://oss-webvirtmgr-001:6080/vnc.html?host=oss-webvirtmgr-001&port=6080

Press Ctrl-C to exit

1: 10.1.196.211: Plain non-SSL (ws://) WebSocket connection
1: 10.1.196.211: Version hybi-13, base64: ‘False’
1: connecting to: 192.168.200.230:5920

結果居然ok了,console控制台起來了

問題是:假如我有30台虛擬機器,每個虛擬機器都有一個vnc埠,我是不是得寫30條這樣的命令,監控每一個埠??

後來發現是由於有一個指令碼沒起,才會導致這種情況,起了這個指令碼後,所有控制台應該都能正常存取。pyhton指令碼為
webvirtmgr/console/webvirtmgr-console

隔天發現以上兩個方法都沒作用了,控制台死活連不上,後台也不報錯,網頁就只顯示server disconnected,無奈…
https://github.com/retspen/webvirtmgr/issues/215

2.儲存池新增映象

我新增的儲存池是目錄型別捲,新增成功後,可看到如下網頁:

然後在儲存池新增映象時,報錯了,網頁上和django後台顯示的資訊均為: libvirt: Storage Driver error : unsupported flags (0x1) in function storageVolumeCreateXML

谷歌找到答案:https://github.com/retspen/webvirtmgr/issues/400
原來在建立qcow2格式映象時,不能點選Metadata,這個Metadata不知道是做什麼用的。在新增虛擬機器時也是如此。

在後台可看到該目錄vmdisk下已經生成了一個磁碟檔案,
[root@localhost vmdisk]# qemu-img info a.michaelzeng.001.img
image: a.michaelzeng.001.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 136K
cluster_size: 65536

3.webvirtmgr克隆問題


點選克隆後,報錯如下:
Storage volume not found: no storage vol with matching path
原因為:我所要克隆的kvm,其磁碟檔案不在儲存池裡。

更改後再次克隆
又是報錯:unsupported flags (0x1) in function storageVolumeCreateXMLFrom
還是跟以前一樣,不能選中metadata選項,克隆後名字貌似不能自定義,這個比較不人性化

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-02/140379.htm


IT145.com E-mail:sddin#qq.com