OpenStack配置串口显示虚机界面
OpenStack的horizon能够显示虚拟机的界面。horizon是web界面,在我们的电脑上,姑且称之为本地,虚拟机运行在远端服务器上,称之为远端。本地显示远端的界面,OpenStack提供了多种方式,noVNC 远程桌面协;RDP(Remote Desktop Protocol 远程桌面协议);SPICE (Simple Protocol for Independent Computing Environment独立计算环境简单协议)。这些都是图形显示界面,如果在生产环境中无法显示图形界面,例如虚拟交换机只能通过串口显示,该怎么办?其实OpenStack从J版本开始提供了串口的显示方式。
串口显示说明:
在nova.conf文档中有关于串口显示的描述:
根据描述我们能够知道想要串口显示,控制节点要安装nova-serialproxy,控制节点和计算节点需要配置[serial_console]中的选项。
一、配置项:
1.1 控制节点:
安装nova-serialproxy控件:
apt-get install nova-serialproxy
配置/etc/nova/nova.conf
默认连接是vnc,首先关闭vnc连接。
配置串口显示
重启服务:
关闭noVNC服务:
service nova-novncproxy stop
重启serialproxy服务:
service nova-serialproxy restart
1.2 计算节点:
配置/etc/nova/nova.conf
默认连接是vnc,首先关闭vnc连接。
配置串口显示
base_url中的ip是控制节点ip,端口号不能变。
proclient_addres是指本机IP。
重启nova-compute服务
service nova-compute restart
1.3 配置项解释
base_url的配置项解释:
proxyclient_address的配置项解释:
二、简单工作流程:
1.远程客户端(浏览器)请求串口输出信息,nova服务收到请求;
2.nova-api返回给客户端以base_url为前缀的websocket URL;
3.远程客户端尝试连接该URL,客户端连接到nova-serialproxy服务; 4.nova-serialproxy服务将查找计算节点注册过的proxyclient_address;
5.nova-serialproxy找到计算节点,连接虚拟机,串口信息传输到客户端;
具体工作流程参见noVNC工作流程:
https://www.cnblogs.com/popsuper1982/p/3800227.html
三、串口显示的控制台:
控制台:
完整的客户端URL是实例ID+serial组成
对比noVNC的URL,noVNC是ip+端口+VNC_auto.html+token组成
四、底层的差异:
显示方式的改变实质上是底层libvirt文件的改变。通过命令:
virsh dumpxml ID
可以查看创建的实例,对比出串口显示和VNC显示的差异。
串口显示的实例的xml文件中设备中serial和console的类型是tcp,是使用tcp的端口号通信。
noVNC显示的实例的xml文件中设备的serial和console是虚拟端口pty,是虚拟终端通信。
最后感受一波思科虚拟路由器的操作
学会配置串口显示,向OpenStack的高峰又迈进一步!