OpenStack使用SPICE替换VNC——宿主机Ubuntu22.04
目录
0x00 协议比较
在进行SPICE操作之前,对目前常用的协议VNC/SPICE/RDP三种,进行简单的比较。
协议比较
SPICE | VNC | RDP | |
---|---|---|---|
BIOS屏幕显示 | 能 | 能 | 不能 |
全彩支持 | 能 | 能 | 能 |
更改分辨率 | 能 | 能 | 能 |
多显示器 | 多显示器支持(高达4画面) | 只有一个屏幕 | 多显示器支持 |
图像传输 | 图像和图形传输 | 图像传输 | 图像和图形传输 |
视频播放支持 | GPU加速支持 | 不能 | GPU加速支持 |
音频传输 | 双向语音可以控制 | 不能 | 双向语音可以控制 |
鼠标控制 | 客户端服务器都可以控制 | 服务器端控制 | 服务器端控制 |
USB传输 | USB可以通过网络传输 | 不能 | USB可以通过网络传输 |
一、VNC
适用系统:windows、linux
网络流量:较小,常用100k左右
适用场景:主要用于linux的服务器的管理,由于无声音和usb传输,不满足于虚拟桌面的使用
# 安装
yum install tigervnc-server
#vnc服务器启动
vncserver
#查看连接
vncserver -list
#修改访问密码
vncpasswd
#关闭vncserver
vncserver -kill :n
配置文件修改
#配置文件修改
vim /etc/sysconfig/vncservers
# VNCSERVERS="2:myusername" sessionnumber,用户名
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
VNCSERVERS="1:root" # display port and username
VNCSERVERARGS[]="-geometry 800x600 -nolisten tcp -nohttpd"
二、SPICE
适用系统:linux
网络流量:较大,正常使用10-20M
适用场景:由于在色彩、音频和usb方面,适用于虚拟桌面,主要用于虚拟机的虚拟桌面应用
使用:安装后,需要在虚拟机中配置,参考本人关于虚拟机的blog。
三、RDP
目前在windows上 rdp有两种,remote,remotefx
适用系统:windows、linux
网络流量:较小,正常使用100-200k左右
适用场景:由于在色彩、音频、usb及本地磁盘映射方面较好,非常适用于虚拟桌面
windows 使用:系统安装后即可使用。
#linux上安装rdesktop,用于linux访问windws远程桌面
#安装
yum install rdesktop
#如需要在界面上使用需要安装
yum install tsclient
#使用命令行访问,-f 全屏 -a颜色 -c L 连接类型
rdesktop -f -a 119.0.0.100:
#使用rdp协议访问linux
yum install xrdp
#启动xrdp服务
xrdp
0x01 环境说明
- 网络配置
主机名 | 管理网络 | 网卡1 | 供应商网络 | 网卡2 | 硬件配置 |
---|---|---|---|---|---|
controller | 10.0.0.11 | ens33 | 192.168.2.11 | ens34 | 4C8G64G |
compute1 | 10.0.0.31 | ens33 | 192.168.2.31 | ens34 | 4C8G64G |
compute2 | 10.0.0.32 | ens33 | 192.168.2.32 | ens34 | 4C8G64G |
0x02 OpenStack控制台SPICE协议安装配置
一、控制节点
1.安装软件
apt install -y nova-spiceproxy spice-html5 spice-vdagent
2.控制节点nova.conf
①
[default]
指定vnc_enabled=false,否则即使配置了spice,系统也仍然使用vnc
②一定要注释掉原vnc配置
[default]
[default]
vnc_enabled=false
- 注释掉原vnc相关配置
[vnc]
#enabled = true
#server_listen = $my_ip
#server_proxyclient_address = $my_ip
[spice]
[spice]
enabled=True
keymap=en-us
server_listen=0.0.0.0
server_proxyclient_address=$my_ip
html5proxy_host=0.0.0.0
html5proxy_port=6082
html5proxy_base_url=http://10.0.0.11:6082/spice_auto.html
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
环境中的防火墙相关配置详情
二、计算节点
1.安装软件
安装
apt -y install spice-vdagent
2.计算节点nova.conf
①[default]指定vnc_enabled=false,否则即使配置了spice,系统也仍然使用vnc
②一定要注释掉原vnc配置
[default]
[default]
vnc_enabled=false
- 注释掉原vnc相关配置
[vnc]
#enabled = true
#server_listen = 0.0.0.0
#server_proxyclient_address = $my_ip
#novncproxy_base_url = http://192.168.2.11:6080/vnc_auto.html
[spice]
[spice]
enabled=True
keymap=en-us
server_listen=0.0.0.0
server_proxyclient_address=$my_ip
html5proxy_base_url=http://10.0.0.11:6082/spice_auto.html
3.重启nova-compute服务
systemctl restart openstack-nova-compute.service
0x04 验证SPICE安装
ps aux | grep spic
进入OpenStack Dashboard将实例重启