你好,游客 登录 注册 搜索
背景:
阅读新闻

KVM管理工具WebVirtMgr使用中遇到问题及解决

[日期:2017-02-08] 来源:Linux社区  作者:Linux [字体: ]

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

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款