openstack虚拟机部署之后无法访问虚拟机的控制台

openstack虚拟机部署之后无法访问虚拟机的控制台,错误如下:

2023-07-17 17:48:22.115 7512 INFO nova.console.websocketproxy [-] In exit
2023-07-17 17:48:22.115 7512 INFO nova.console.websocketproxy [-] Terminating child 9332
2023-07-17 17:48:22.139 9332 INFO nova.console.websocketproxy [-] In exit
2023-07-17 17:48:23.892 10510 INFO nova.console.websocketproxy [-] WebSocket server settings:
2023-07-17 17:48:23.892 10510 INFO nova.console.websocketproxy [-] - Listen on 0.0.0.0:6080
2023-07-17 17:48:23.892 10510 INFO nova.console.websocketproxy [-] - Flash security policy server
2023-07-17 17:48:23.893 10510 INFO nova.console.websocketproxy [-] - Web server (no directory listings). Web root: /usr/share/novnc
2023-07-17 17:48:23.893 10510 INFO nova.console.websocketproxy [-] - No SSL/TLS support (no cert file)
2023-07-17 17:48:23.893 10510 INFO nova.console.websocketproxy [-] - proxying from 0.0.0.0:6080 to None:None
2023-07-17 17:48:46.269 10798 INFO nova.console.websocketproxy [-] 172.16.10.87 - - [17/Jul/2023 17:48:46] code 400, message Client must support ‘binary’ or ‘base64’ protocol
2023-07-17 17:49:04.609 10993 INFO nova.console.websocketproxy [-] 172.16.10.87 - - [17/Jul/2023 17:49:04] code 400, message Client must support ‘binary’ or ‘base64’ protocol
2023-07-17 17:55:35.506 12630 INFO nova.console.websocketproxy [-] 172.16.10.11 - - [17/Jul/2023 17:55:35] code 400, message Client must support ‘binary’ or ‘base64’ protocol
2023-07-17 17:56:01.033 12853 INFO nova.console.websocketproxy [-] 172.16.10.87 - - [17/Jul/2023 17:56:01] code 400, message Client must support ‘binary’ or ‘base64’ protocol

2023-07-18 10:35:03.345 11833 INFO nova.console.websocketproxy [-] 172.16.10.87 - - [18/Jul/2023 10:35:03] 172.16.10.87: Plain non-SSL (ws://) WebSocket connection
2023-07-18 10:35:03.345 11833 INFO nova.console.websocketproxy [-] 172.16.10.87 - - [18/Jul/2023 10:35:03] 172.16.10.87: Version hybi-13, base64: ‘False’
2023-07-18 10:35:03.346 11833 INFO nova.console.websocketproxy [-] 172.16.10.87 - - [18/Jul/2023 10:35:03] 172.16.10.87: Path: ‘/?token=232d99f1-97fd-4922-9e56-441bdace05af’
2023-07-18 10:35:03.553 11833 INFO nova.console.websocketproxy [req-cfafe07c-56f3-4146-8cc8-74d02f52601c - - - - -] 2: 连接信息:ConsoleAuthToken(access_url_base=‘http://172.16.10.12:6080/vnc_auto.html’,console_type=‘novnc’,created_at=2023-07-18T02:35:01Z,host=‘nova01.localdomain’,id=39,instance_uuid=7d7f62f9-71ae-4567-9403-2f3466a4e5ec,internal_access_path=None,port=5901,token=‘***’,updated_at=None)
2023-07-18 10:35:03.553 11833 INFO nova.console.websocketproxy [req-cfafe07c-56f3-4146-8cc8-74d02f52601c - - - - -] 2: 连接到:nova01.localdomain:5901
2023-07-18 10:35:08.605 11833 INFO nova.console.websocketproxy [req-cfafe07c-56f3-4146-8cc8-74d02f52601c - - - - -] handler exception: [Errno 111] ECONNREFUSE


解决方法:

vim /usr/share/novnc/core/websock.js

找到下面这行:

this.attach(new WebSocket(uri, protocols));

大概在231行左右,修改为下面内容:

this.attach(new WebSocket(uri, ['binary', 'base64']));

有些版本内容是下面这行:

this._websocket = new WebSocket(uri, protocols);

修改为下面内容:

this._websocket = new WebSocket(uri, ['binary', 'base64']); // protocols);

重启对应的服务:

systemctl restart openstack-nova-novncproxy

或者

systemctl restart openstack-nova-conductor.service openstack-nova-novncproxy.service openstack-nova-scheduler.service

很重要的一点注意 控制节点 和 计算节点 的hostname,以及hosts文件内容;比如上面的错误可以通过追加计算节点IP映射关系解决:

172.16.10.13 	nova01
172.16.10.13 	nova01.localdomain
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: PVE 虚拟机OpenStack 虚拟机是两种不同的虚拟化技术。 PVE 虚拟机是使用 Proxmox Virtual Environment (PVE) 所创建的虚拟机。PVE 是一个开源虚拟化平台,可以在 Linux 操作系统上运行,并提供基本的虚拟化功能,如虚拟机管理、存储管理和网络管理等。PVE 虚拟机主要用于企业内部部署虚拟化环境。 OpenStack 虚拟机是使用 OpenStack 云计算平台所创建的虚拟机OpenStack 是一个开源的云计算软件平台,支持计算、存储和网络资源的管理。OpenStack 虚拟机主要用于在云环境中部署虚拟机,支持多种虚拟化技术,如 KVM、Xen、Hyper-V 等。 总的来说,PVE 虚拟机OpenStack 虚拟机的主要区别在于,PVE 虚拟机是一种在本地部署的虚拟化技术,而 OpenStack 虚拟机是一种在云环境中部署的虚拟化技术。 ### 回答2: PVE虚拟机OpenStack虚拟机都是常见的虚拟化技术,但它们在一些关键方面存在着区别。 首先,PVE(Proxmox Virtual Environment)是一种简单易用的虚拟化平台,主要用于快速部署和管理虚拟机。它基于KVM(Kernel-based Virtual Machine)和容器化技术,支持多种操作系统。PVE虚拟机通过直接在物理服务器上运行,可以充分利用服务器的计算资源和性能,提供良好的性能和稳定性。 相比之下,OpenStack是一个开源的云计算平台,提供了一套完整的基础设施服务,包括计算、存储、网络等。OpenStack虚拟机通过虚拟化技术(如KVM、Xen等)在物理服务器上创建,可以在一个集群中自由分配和管理资源,实现弹性扩展和高可用性。 其次,PVE虚拟机注重简化部署和管理,提供了直观的Web界面和命令行工具,适用于小型和中型环境。而OpenStack虚拟机则适用于大规模的云计算环境,可以通过API进行自动化管理,并且具有丰富的扩展性和灵活性。 另外,PVE虚拟机对于虚拟机的迁移和备份支持较为简单,可以通过导入导出虚拟机的方式进行,适用于小规模环境。而OpenStack虚拟机则具有更强大的迁移和备份功能,可以通过迁移卷、镜像等方式实现虚拟机的迁移和备份,适用于大规模环境。 总的来说,PVE虚拟机注重简单易用,适用于小型和中型环境;而OpenStack虚拟机则适用于大规模的云计算环境,提供了更强大的自动化管理和扩展性。选择哪种虚拟化技术取决于具体的需求和环境规模。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码讲故事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值