文章目录
[隐藏]

一、简介

今天在现场调整虚拟机大小时出现错误,查看了日志和网上的解决方案,问题是计算节点之间nova用户之间需要配置SSH,所以配置完成即可。

日志出错内容如下:

二、处理步骤

对nova用户进行配置。

1、取消禁止登录权限

所有计算节点上执行以下操作

检查修改,确保nova用户具备shell执行权限:

2、配置SSH

任意一个计算节点上,用nova用户登录,创建密钥

在该节点上,配置nova用户的SSH配置,不执行主机密钥验证,

拷贝id_rsa.pub为authorized_keys,并修改权限

3、将配置拷贝至其他所有计算节点

将上面节点的nova根目录下.ssh目录拷贝其他所有计算节点上,并修改文件所属权限。

在任意节点验证,到其他所有计算节点可否SSH登录

4、重试resize,即可完成,发现resize完成后,虚拟机迁移到目标计算节点上。

三、疑问

以上的操作需要配置计算点间无密码访问,但是那么多计算节点相互访问配置也比较麻烦啊,有提到通过修改nova配置文件,允许在同一台服务器上进行resize和migrate操作配置项,如下:

但在计算节点配置后,重启nova-compute服务,重试resize没有效果。后来才发现,这仅适用于计算节点只有一台的测试环境,多计算节点的生产环境并不适用,仍需要ssh到其他计算节点。

四、一键配置脚本

备注:脚本这里用到了个人封装的pssh-exe和scp-exe两个工具脚本,作用分别为在其他节点执行命令以及拷贝到其他节点上,具体封装参考《Openstack云平台脚本部署之基础环境配置(一)》博客。

五、参考文档

http://paste.openstack.org/show/220970/

http://cloudbps.com/2016/01/11/openstack-resize-ssh/

https://ask.openstack.org/en/question/63999/resize-instance-ssh-warning/

http://www.adminz.in/2015/04/enabling-instance-resizing-in-openstack.html