openstack 计算节点 virsh console 无法 登陆问题

有时候虚拟机无法ssh,可以选择从页面,进入控制台登陆。但有时候控制台链接超时,这时候只能从该虚拟机所在宿主机计算节点登陆。但默认情况下,该xml是重定向到file,而不能登陆,所以我们需要修改该xml文件.

查找id

在页面,根据ip搜索云主机,获取在云主机的ID和所在计算节点,然后到 虚拟机管理器 里查找到搞计算节点,点进去,根据ID获取其云主机名称(instance-0000XXXXX)

计算节点操作

ssh到该虚拟机的计算节点

关闭虚拟机

1
virsh destroy instance-000007a2

导出xml

1
virsh dumpxml instance-000007a2 > test.xml

修改xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
vim test.xml
<serial type='file'>
<source path='/var/lib/nova/instances/1d9fa13c-ff0b-4afd-b3dc-e93b66f19a74/console.log'/>
<target port='0'/>
<alias name='serial0'/>
</serial>
<console type='file'>
<source path='/var/lib/nova/instances/1d9fa13c-ff0b-4afd-b3dc-e93b66f19a74/console.log'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
修改为:
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>

从xml文件定义虚拟机

1
virsh define test.xml

启动虚拟机

1
virsh start instance-000007a2

登陆虚拟机

1
virsh console instance-000007a2