Ceph ansible现在可以收缩你的集群了

本文由Ceph中国社区-Leon 翻译、半天河校稿。 英文出处:Ceph ansible can now shrink your cluster 欢迎加入CCTG

Ceph ansible can now shrink your cluster

Ceph ansible正在快速赶上ceph-deploy的特性。上周,我讨论了对dm-crypt的支持。直到最近,才实现了收缩一个Ceph集群的特性,移除一个或多个监控节点/OSD节点。我们来看下这个新特性。

我最近合并了两个新的playbook,一个用来收缩监控节点,另一个则用来收缩OSD节点。我发现在同一个playbook中做这两件事会让人困惑。尽管这些playbook的大部分是相同的,由于以下几个原因,我还是觉得把两个分开更合理:

  • 同时移除mon和osd的情况很罕见,这种情况下你可能需要purge-cluster这个playbook(此处作者给的链接有误,去github上的ceph仓库找了有效的链接——译者注
  • 收缩本身就是一个复杂的进程,所以为了防止重叠我们让它分开处理

运行收缩集群的playbook之前:

收缩监控节点

比如我想移除ceph-mon-02监控节点,我需要运行以下命令:

显然,需要适当的主机名解析来连接到ceph-mon-02。playbook首先就会测试这个解析,如果我们没办法解析,我们就停止后续操作并报告该playbook执行失败。

收缩OSD节点

对象存储的守护进程有点难办,每个OSD节点需要有ceph的admin密钥来执行这个操作。众所周知的最佳实践是,admin不应该在OSD节点上,这也是出于安全考虑。这个playbook的目的不是要毁了你的环境,所以它会检查密钥是否存在于OSD节点,如果不存在,就执行失败,然后你需要将admin密钥复制到适当的节点上。

所以记住,在执行playbook之前,确保admin密钥在OSD节点上,还有,完成后不要忘了移除掉。

这是我的OSD树:

我想移除OSD 6,所以我像这样运行playbook:

我觉得,这个最新的补丁基本完成了ceph-ansible对ceph-deploy一系列的追赶。有了这个,完全达到了特性对等。

Leave a Comment

电子邮件地址不会被公开。