OpenStack配置串口显示虚机界面
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的高峰又迈进一步!

OpenStack配置串口显示虚机界面的更多相关文章
- Openstack之Nova创建虚机流程分析
前言 Openstack作为一个虚拟机管理平台,核心功能自然是虚拟机的生命周期的管理,而负责虚机管理的模块就是Nova. 本文就是openstack中Nova模块的分析,所以本文重点是以 ...
- openstack数据库获取一个虚机的floating_ip, fix_ip, project_name, user_name, hostname, host
转载请注明 http://www.cnblogs.com/juandx/p/5418204.html openstack有3个库,nova,neutron,keystone,我现在需要做的是跨库联表 ...
- openstack环境-解决windows虚机重启后比当前时间晚8小时问题
背景: 生产环境下,发现windows虚机每次重启,时间都会倒退到虚机的格林威治时间(+8小时才是北京时间),也就是比当前时间晚8小时.测试发现,windows虚机所用的镜像,缺少了一个os_type ...
- Docker-machine创建虚机时停在虚机启动的提示上,并且创建的虚机显示Ip Not found
Docker-machine创建虚机时停在虚机启动的提示上,并且创建的虚机用docker-machine ls 列出来的时候显示Ip Not found, 是什么原因那? [答案] 看这个帖子: ht ...
- Hyper-V 手动导入虚机配置实例(转载)
原文转载:http://blog.51cto.com/bobzy/980241 Hyper-V提供了很方便的虚机导入和导出功能.平时假如我们想导出虚机,先选中虚机,然后鼠标右键在出现菜单列表中选中“导 ...
- KVM 介绍(6):Nova 通过 libvirt 管理 QEMU/KVM 虚机 [Nova Libvirt QEMU/KVM Domain]
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...
- KVM(六)Nova 通过 libvirt 管理 QEMU/KVM 虚机
1. Libvirt 在 OpenStack 架构中的位置 在 Nova Compute 节点上运行的 nova-compute 服务调用 Hypervisor API 去管理运行在该 Hypervi ...
- Nova: 虚机的块设备总结 [Nova Instance Block Device]
和物理机一样,虚拟机包括几个重要的部分:CPU.内存.磁盘设备.网络设备等.本文将简要总结虚机磁盘设备有关知识. 1. Nova boot CLI 中有关虚机块设备的几个参数 nova boot CL ...
- 转 Nova: 虚机的块设备总结 [Nova Instance Block Device]
和物理机一样,虚拟机包括几个重要的部分:CPU.内存.磁盘设备.网络设备等.本文将简要总结虚机磁盘设备有关知识. 1. Nova boot CLI 中有关虚机块设备的几个参数 nova boot CL ...
随机推荐
- ans Single VIP LLB and SLB config
ans Single VIP LLB and SLB config 配置命令: # 配置设备工作模式和开启的功能 > enable ans mode FR MBF Edge USNIP L3 P ...
- Codeforces Bubble Cup 11 J. Moonwalk challenge加强版
题意 有一棵 \(n\) 个节点的树,每条边上有一个字符,有 \(m\) 次询问. 每次会选定两个点 \(u, v\) , \(u\) 到 \(v\) 的路径上的字符形成了一个字符串 \(T\) ,再 ...
- linux中,使用cat、head、tail命令显示文件指定行
小文件可以用cat(也可以用head.tail) 显示文件最后20行:cat err.log | tail -n 20 显示文件前面20行:cat err.log | head -n 20 从20行开 ...
- CF983A Finite or not?(数学)
题意:给出分母,分子和进制,要求判断该数是否为有限小数. Solution 表示并不知道怎么判断. 度娘:“一个分数在最简分数的情况下,如果它的分母只含有2和5两个质因数,这个分数就能化成有限小数.” ...
- codevs 2606 约数和(分块优化数学公式 )
题目背景 Smart最近沉迷于对约数的研究中. 题目描述 对于一个数X,函数f(X)表示X所有约数的和.例如:f(6)=1+2+3+6=12.对于一个X,Smart可以很快的算出f(X).现在的问题是 ...
- jQuery ajax读取本地json文件
jQuery ajax读取本地json文件 json文件 { "first":[ {"name":"张三","sex": ...
- A1094. The Largest Generation
A family hierarchy is usually presented by a pedigree tree where all the nodes on the same level bel ...
- 【SPOJ116】Intervals
题目大意:有 N 个区间,在区间 [a, b] 中至少取任意互不相同的 c 个整数.求在满足 N 个区间约束的情况下,至少要取多少个正整数. 题解:差分约束系统模板题. 差分约束系统是对于 N 个变量 ...
- fcntl F_GETFL
F_GETFL 我的理解是file get flag #include <stdio.h>#include <fcntl.h>#include <unistd.h> ...
- 第八节,配置分布式TensorFlow
由于随着神经网络层数的增多,需要训练的参数也会增多,随之而来需要的数据集就会很大,这样会造成需要更大的运算资源,而且还要消耗很长的运算时间.TensorFlow提供了一个可以分布式部署的模式,将一个训 ...