runsisi AT hust
http://www.shnenglu.com/runsisi
該錯誤在執行命令:ceph-deploy mon create-initial 時出現,說明該 monitor 節點曾經部署過 ceph 環境,該問題的解決方法很簡單,在執行該命令之前刪除該 monitor 節點 /etc/ceph/ 下的{cluster}.client.admin.keyring 文件(cluster名默認配置情況下是ceph)。
該錯誤的具體原因待會解釋,先簡單介紹一下該命令執行過程中發生的事情:
1. 啟動 monitor 節點的 ceph monitor 守護進程;
2. monitor 節點執行 ceph-create-keys 命令;
3. ceph-create-keys創建 {cluster}.client.admin.keyring;
4. ceph-create-keys創建 bootstrap-{osd, mds}/{cluster}.keyring;
5. ceph-deploy 所在運行節點從 monitor 節點取 {cluster}.client.admin.keyring, {cluster}.mon.keyring, bootstrap-{osd, mds}/{cluster}.keyring 到當前路徑;
6. 以上任何一步如果文件已存在,則不會新建(或去 monitor 節點取)文件。
回到我們遇到的錯誤,由于 monitor 節點之前可能使用 ceph-deploy 工具進行過部署,再次部署時沒有將 {cluster}.client.admin.keyring 原有的配置文件進行清理,因此第3步不會創建新的 keyring 文件,仍然使用上次部署使用的keyring,從而導致第4步操作會失敗,最終出錯。
從上面的介紹,可以知道,如果要使用 ceph-deploy 工具再次對 ceph 集群進行部署,最好將各節點(包括 ceph-deploy 工具所在節點)上原有的配置文件清理之后再進行部署。
/Files/runsisi/ceph_bootstrap_key_fail.pdf