OpenStack使用SPICE实践
一、配置环境:
1、Windows 7 Pro(16G内存)+VMware Workstation 64位12.5.5.0
2、节点数:3(控制节点,网络节点、计算节点)
3、虚拟机操作系统:CentOS Linux release 7.4.1708 (Core)
4、Pike版OpenStack
5、spice版本:
openstack-nova-spicehtml5proxy.noarch 1:16.1.3-1.el7
spice-protocol.noarch 0:0.12.13-2.el7
spice-server.x86_64 0:0.14.0-2.el7_5.3
6、网络配置:
控制节点(10.20.6.11)
计算节点(10.20.6.31)
注意:配置过程只涉及控制节点(10.20.6.11)和计算节点(10.20.6.31),根据情况修改为实际环境的IP地址。
二、测试目标
时间:2018.6.11
通过连接外部网络安装pike版Openstack;
手工安装spice组件,手工配置spice
了解spice使用;
三、配置OpenStack,控制台使用SPICE显示
一)配置步骤
1、修改控制节点
(1)安装软件包
yum install spice-server spice-protocol openstack-nova-spicehtml5proxy spice-html5
spice-html5来自epel源,spice-server,spice-protocol来自CentOS官方源
如果找不到spice-html5,添加epel源
(# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -ivh epel-release-latest-7.noarch.rpm
# yum repolist ##检查是否已添加至源列表)
(2)修改配置文件,注释掉原vnc相关配置,添加以下配置信息。
vi /etc/nova/nova.conf
[default]
vnc_enabled=false
[spice]
html5proxy_host=10.20.6.11
html5proxy_port=6082
keymap=en-us
这里明确两点:
指定vnc_enabled=false,否则即使配置了spice,系统也仍然使用vnc
一定要注释掉原vnc配置
(3)停止novncproxy并取消自启动
systemctl stop openstack-nova-novncproxy.service
systemctl disable openstack-nova-novncproxy.service
(4)启用spicehtml5proxy开机自启动并启动它
systemctl enable openstack-nova-spicehtml5proxy.service
systemctl start openstack-nova-spicehtml5proxy.service
2、修改计算节点
(1)安装软件包
yum install spice-server spice-protocol spice-html5
### spice-html5来自epel源,spice-server,spice-protocol来自CentOS官方源
如果找不到spice-html5,添加epel源
(# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -ivh epel-release-latest-7.noarch.rpm
# yum repolist ##检查是否已添加至源列表)
(2)修改配置文件,注释掉原vnc相关配置,添加以下配置信息
vi /etc/nova/nova.conf
[default]
vnc_enabled=false
[spice]
html5proxy_base_url=http://10.20.6.11:6082/spice_auto.html
server_listen=0.0.0.0
server_proxyclient_address=10.20.6.31
enabled=true
keymap=en-us
取消掉[vnc]中的配置;
这里明确两点:
指定vnc_enabled=false,否则即使配置了spice,系统也仍然使用vnc
一定要注释掉原vnc配置
(3)重启启动nova-compute
systemctl restart openstack-nova-compute.service
若重启失败,检查配置是否有误
二)测试结果
1、问题:openstack-nova-spicehtml5proxy启动后自动关闭;
原因:spice-html5没有安装成功;
重启客户机,客户机需要重启之后等一段时间才能看到spice控制台(由于控制节点和计算节点之间有信息通信,所以需要等待几分钟)。
如果重启登陆后控制台还是能显示如下vnc界面内容,则上面的配置失败,检查排错或重新配置。
效果显示如下(spice客户端显示):
四、Windows上SPICE远程访问实例
在Openstack上配置SPICE,实现Windows远程访问实例。
一)配置实例xml文件
[root@computernode1 ~]# virsh list --all
Id Name State
----------------------------------------------------
- instance-00000002 shut off
[root@computernode1 ~]# virsh edit instance-00000002
(这里的vnc 是因为实例创建时使用的vnc,后又改为spice,遗留下来的,改为spice后,再创建的实例,不再有vnc)
将<graphics>节点编辑成如下:
注:以上参数中10.20.6.31为服务器ip,即计算机点的ip,port是为虚拟机分配的相应端口,用于spice客户端登录使用;
二)重启实例
登陆dashboard,启动实例;查看控制台。
三)Windows上的客户端安装
1、从www.spice-space.org/download.html中下载virt-viewer Windows installer并安装(最好用火狐浏览器,360或IE浏览器会出现无法加载网页下载的情况)
2. 从“开始”- “所有程序” – “VirtViewer”- “Remote viewer”打开客户端,输入参数spice://10.20.6.31:5900/,点击Connect即可登陆
如图:登陆后,dashboard控制台自动退出。
(实例关闭,spice客户端不能连接)
重新登陆dashboard控制台,VirtViewer自动退出
dashboard控制台的提示:
Connected to ws://10.20.6.11:6082/websockify
Unimplemented function 108(Inval All Palettes) [ further notices suppressed ]
Unimplemented function 102(Display Mark) [ further notices suppressed ]
keyboard channel is insecure
此时浮动ip地址是可以使用的。
附录
1、使用pike版openstack2017.11月,2018.6安装spice的安装情况;
2、计算节点安装nova时,spice_server已经安装完成。