ceph-deploy出錯UnableToResolveError Unable to resolve host

背景

  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的對應關係,即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章