ceph-deploy出错UnableToResolveError Unable to resolve host

时间:2023-11-23 18:15:32

背景

  ps:在本文中,假设我系统的hostname为node1。

  使用ceph-deploy命令搭建Ceph集群,执行ceph new node1时,出现如下错误:

[node1][INFO  ] Running command: /bin/ip addr show
[node1][DEBUG ] IP addresses found: ['192.168.56.16', '172.17.0.1', '10.0.2.15']
[ceph_deploy.new][DEBUG ] Resolving host node1
[ceph_deploy][ERROR ] UnableToResolveError: Unable to resolve host: node1

  调用该命令之前,已经设置了ssh免密码登录,并且都可以ping通和免密码登录到node1的。

原因

  Ubuntu有一个让人头痛的特性,就是在/etc/hosts配置文件中,让hostname使用了它的回环loopback地址。这个特性使得很多服务无法检测到真正的地址,这里,ceph-deploy中,ceph_deploy.util.get_nonlocal_ip获取到的是127网段的地址,然后就报错不能解析hostname了。

解决方法

  在/etc/hosts中,把回环地址对应的hostname给删除掉。再添加一行真正的ip地址和hostname的对应关系,即可。