OpenStack Liberty环境下冷迁移虚拟机报错的解决办法

类似于以下报错,通常都是nova用户ssh无密码登录设置不对。

Command: ssh 10.0.0.31 mkdir -p /var/lib/nova/instances/eac0e362-352f-45ad-b503-d28e588691be

Exit code: 255

Stdout: ''

Stderr: 'Host key verification failed.\r\n'. Setting instance vm_state to ERROR

解决方法:

(配置文件 /etc/passwd  /etc/group  /etc/shadow)

一、控制节点先修改系统用户nova,允许su成nova用户。

        vim /etc/passwd (这一块我不知道nova用户的密码是多少,通过passwd命令可以自己设置)

        nova:x:109:116::/var/lib/nova:/bin/flase  改成

        nova:x:109:116::/var/lib/nova:/bin/bash   (echo $SHELL 查看当前使用的shell环境)

二、通过nova系统用户来用ssh-keygen创建公钥

        su nova

        ssh-keygen -t rsa

输入后,会提示创建.ssh/id_rsa、id_rsa.pub的文件,其中第一个为密钥,第二个为公钥。过程中会要求输入密码,为了ssh访问过程无须密码,可以直接回车

三、查看钥匙

        ls /var/lib/nova/.ssh/

        ###可以发现 ssh目录下的两枚钥匙。id_rsa  id_rsa.pub

        ###修改authorized_keys权限为600

        cat id_rsa.pub  >  authorized_keys

        chmod 600 authorized_keys     (上面的操作全部是在nova用户下面操作)

把id_rsa,authorized_keys 拷贝到其它计算节点,我这里是:192.168.73.101(创建/var/lib/nova/.ssh/文件)

        scp id_rsa.pub authorized_keys 192.168.73.101:/var/lib/nova/.ssh/ (root用户下面操作)

        注意:记得修改权限

           //chown root.root /var/lib/nova/.ssh/

           chmod 600 /var/lib/nova/.ssh/authorized_keys(只需要修改权限)

           chmod 600 /var/lib/nova/.ssh/id_rsa

修改之后的权限应该是:

        -rw-------  1 nova nova  400 May  6 13:14 authorized_keys

        -rw-------  1 nova nova  1679 May  6 13:17 id_rsa

四、测试

        su  nova

        ssh 192.168.73.100 (openstack操作的时候是内部网络的IP)

但是我的机器内部网络是10.0.0.31,可以尝试ssh 内部网络,然后就会记住密钥。

可以登录且无密码的话,这个时候你再测试nova冷迁移,应该就没问题了。


如果两个节点间互相需要ssh和scp的话,上面的步骤在计算节点上运行一次即可。(注意权限的修改和ssh 10.0.0.11等内部网络)


迁移过程中源节点和目标节点之间需要ssh和scp,使得操作顺利进行,必须保证nova-compute进程的启动用户(通常是nova用户,可以通过ps命令确认)能够在计算节点之间无密码访问。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值