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配置串口显示虚机界面的更多相关文章

  1. Openstack之Nova创建虚机流程分析

    前言        Openstack作为一个虚拟机管理平台,核心功能自然是虚拟机的生命周期的管理,而负责虚机管理的模块就是Nova. 本文就是openstack中Nova模块的分析,所以本文重点是以 ...

  2. openstack数据库获取一个虚机的floating_ip, fix_ip, project_name, user_name, hostname, host

     转载请注明 http://www.cnblogs.com/juandx/p/5418204.html openstack有3个库,nova,neutron,keystone,我现在需要做的是跨库联表 ...

  3. openstack环境-解决windows虚机重启后比当前时间晚8小时问题

    背景: 生产环境下,发现windows虚机每次重启,时间都会倒退到虚机的格林威治时间(+8小时才是北京时间),也就是比当前时间晚8小时.测试发现,windows虚机所用的镜像,缺少了一个os_type ...

  4. Docker-machine创建虚机时停在虚机启动的提示上,并且创建的虚机显示Ip Not found

    Docker-machine创建虚机时停在虚机启动的提示上,并且创建的虚机用docker-machine ls 列出来的时候显示Ip Not found, 是什么原因那? [答案] 看这个帖子: ht ...

  5. Hyper-V 手动导入虚机配置实例(转载)

    原文转载:http://blog.51cto.com/bobzy/980241 Hyper-V提供了很方便的虚机导入和导出功能.平时假如我们想导出虚机,先选中虚机,然后鼠标右键在出现菜单列表中选中“导 ...

  6. 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设备直接分 ...

  7. KVM(六)Nova 通过 libvirt 管理 QEMU/KVM 虚机

    1. Libvirt 在 OpenStack 架构中的位置 在 Nova Compute 节点上运行的 nova-compute 服务调用 Hypervisor API 去管理运行在该 Hypervi ...

  8. Nova: 虚机的块设备总结 [Nova Instance Block Device]

    和物理机一样,虚拟机包括几个重要的部分:CPU.内存.磁盘设备.网络设备等.本文将简要总结虚机磁盘设备有关知识. 1. Nova boot CLI 中有关虚机块设备的几个参数 nova boot CL ...

  9. 转 Nova: 虚机的块设备总结 [Nova Instance Block Device]

    和物理机一样,虚拟机包括几个重要的部分:CPU.内存.磁盘设备.网络设备等.本文将简要总结虚机磁盘设备有关知识. 1. Nova boot CLI 中有关虚机块设备的几个参数 nova boot CL ...

随机推荐

  1. 自定义chromium浏览器

    自定义chromium浏览器 来源  https://chaopeng.me/blog/2018/08/17/how-to-develop-full-homebrew-browser.html 最近有 ...

  2. 【cf789C】Functions again(最大子序列和)

    C.Functions again 题意 给你一个数组a[1..n].有一个函数\(f(l,r)=\sum_{i=l}^{r-1}\left| a[i]-a[i+1]\right| (-1)^{l-i ...

  3. rt-thread中动态内存分配之小内存管理模块方法的一点理解

    @2019-01-18 [小记] rt-thread中动态内存分配之小内存管理模块方法的一点理解 > 内存初始化后的布局示意 lfree指向内存空闲区首地址 /** * @ingroup Sys ...

  4. 洛谷 P1272 重建道路 解题报告

    P1272 重建道路 题目描述 一场可怕的地震后,人们用\(N\)个牲口棚\((1≤N≤150\),编号\(1..N\))重建了农夫\(John\)的牧场.由于人们没有时间建设多余的道路,所以现在从一 ...

  5. urls 管理

    问题阐述:如何管理多个app下的路由分发,使得管理更加清晰? 1. 在app下创建urls.py文件 from django.conf.urls import url from django.urls ...

  6. CentOS装个NTP时间同步服务器

    服务端: driftfile /var/lib/ntp/drift restrict default nomodify notrap nopeer noquery restrict 127.0.0.1 ...

  7. 借助baidu的jsonp接口,做一个自己的候选词组件

    先观察 对接口进行提炼:https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=关键词&cb=回调函数 简单测试一下: <!DOC ...

  8. Java collection 容器

    http://www.codeceo.com/article/java-container-brief-introduction.html Java实用类库提供了一套相当完整的容器来帮助我们解决很多具 ...

  9. jquery 追加元素/jquery文档处理,插入、修改、移动、删除指定的DOM元素.

    jquery 追加元素 $("#content").append("..."); // 添加到元素内部最后面 $("#content").p ...

  10. 【洛谷P1164 小A点菜】

    题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家……餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:“随便点”. 题目描述 不过uim由于买了一些辅(e ...