代码改变世界

openstack vm resize faild solution

2014-05-21 10:39  陈尚华  阅读(1372)  评论(0编辑  收藏  举报

Log:

# tail -f /var/log/nova/compute.log

……………………………………

2014-05-18 17:47:10.433 2409 TRACE nova.openstack.common.rpc.amqp ProcessExecutionError: Unexpected error while running command.

2014-05-18 17:47:10.433 2409 TRACE nova.openstack.common.rpc.amqp Command: ssh 192.168.0.67 mkdir -p /openstack/nova/instances/cca76d9c-c5eb-476c-b125-a6b9b93a0c17

2014-05-18 17:47:10.433 2409 TRACE nova.openstack.common.rpc.amqp Exit code: 255

2014-05-18 17:47:10.433 2409 TRACE nova.openstack.common.rpc.amqp Stdout: ''

2014-05-18 17:47:10.433 2409 TRACE nova.openstack.common.rpc.amqp Stderr: 'Host key verification failed.\r\n'

2014-05-18 17:47:10.433 2409 TRACE nova.openstack.common.rpc.amqp 

2014-05-18 17:47:55.835 2409 AUDIT nova.compute.resource_tracker [-] Auditing locally available compute resources

2014-05-18 17:47:56.444 2409 WARNING nova.compute.resource_tracker [-] [instance: cca76d9c-c5eb-476c-b125-a6b9b93a0c17] Instance not resizing, skipping migration.

……………………………………

Analysis:

该命令以nova用户执行,nova用户没有配置ssh双向无秘钥认证,所以在执行"ssh 192.168.0.67 mkdir -p /openstack/nova/instances/cca76d9c-c5eb-476c-b125-a6b9b93a0c17"提示 'Host key verification failed.\r\n',解决办法是在计算节点的nova用户下配置无秘钥双向认证。

Solution:

(1).在一台计算节点上执行如下(如:192.168.0.67):

# usermod -d /var/lib/nova -s /bin/bash nova                  //nova用户可执行bash

# su - nova

$ ssh-keygen                                      //生成秘钥

$ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

$ echo "Host *" >> ~/.ssh/config                                                  //允许任何主机连接

$ echo "StrictHostKeyChecking no" >> ~/.ssh/config                   //不提示(yes/no)连接

$ echo 'UserKnownHostsFile /dev/null' >> ~/.ssh/config               //knownhosts输出到/dev/null

$ chown -R nova:nova ~/.ssh                                  //设置目录所属用户

$ chmod 600 ~/.ssh/authorized_keys                      //设置authorized_keys权限

$ chmod 600 ~/.ssh/id_rsa.pub                               //设置id_rsa.pub权限

**********************************************************************************************************************

(2).在其他计算节点执行如下:

# usermod -d /var/lib/nova -s /bin/bash nova                  //nova用户可执行bash

# scp -r root@192.168.0.67:/var/lib/nova/.ssh /var/lib/nova/            //拷贝秘钥到各个计算节点

chown -R nova:nova /var/lib/nova/.ssh                                  //设置目录所属用户

chmod 600 /var/lib/nova/.ssh/authorized_keys                      //设置authorized_keys权限

# chmod 600 /var/lib/nova/.ssh/id_rsa.pub                               //设置id_rsa.pub权限

**********************************************************************************************************************

(3).测试:

$ hostname

node07

$ ssh node08

Warning: Permanently added 'node08,192.168.0.68' (RSA) to the list of known hosts.

hostname

node08

**********************************************************************************************************************