配置计算节点之间的 SSH¶
待办事项
考虑将其合并到更大的“迁移”文档或安装指南中
如果在超visor之间调整实例大小或迁移实例,您可能会遇到 SSH(权限被拒绝)错误。 确保每个节点都配置了 SSH 密钥身份验证,以便计算服务可以使用 SSH 将磁盘移动到其他节点。
注意
并非所有计算节点都需要共享相同的密钥对。 但是,为了配置的简便性,本文档仅使用单个密钥对进行计算节点之间的通信。
要在计算节点之间共享密钥对,请完成以下步骤
在第一个节点上,获取一个密钥对(公钥和私钥)。 使用位于
/root/.ssh/id_rsa和/root/.ssh/id_rsa.pub目录中的 root 密钥,或生成一个新的密钥对。运行 setenforce 0 将 SELinux 置于宽松模式。
启用 nova 用户的登录权限
# usermod -s /bin/bash nova
确保您可以切换到 nova 帐户
# su - nova
以 root 身份,创建 SSH 所需的文件夹,并将步骤 1 中获得的私钥放入此文件夹中,并将公钥添加到 authorized_keys 文件中
mkdir -p /var/lib/nova/.ssh cp <private key> /var/lib/nova/.ssh/id_rsa echo 'StrictHostKeyChecking no' >> /var/lib/nova/.ssh/config chmod 600 /var/lib/nova/.ssh/id_rsa /var/lib/nova/.ssh/authorized_keys echo <pub key> >> /var/lib/nova/.ssh/authorized_keys
将步骤 4 中创建的整个文件夹复制到其余节点
# scp -r /var/lib/nova/.ssh remote-host:/var/lib/nova/
确保 nova 用户现在可以无需密码登录到每个节点
# su - nova $ ssh *computeNodeAddress* $ exit
在每个节点上以 root 身份,重新启动 libvirt 和计算服务
# systemctl restart libvirtd.service # systemctl restart openstack-nova-compute.service