修改十几个集群ip备忘录
写在前面
松鼠哥的ceph专业课程上线啦!
面向新手同学,从0实战,全面入门ceph安装部署与运维,有需要的同学赶紧扫码订购吧:
重大利好:中断近一个月后,我的博客目前可以正常访问了!喜大普奔~希望大家继续多多支持
本篇是总结近期修改集群ip后的经验,修改了十几个PB级集群的ip后,吐血分享
下面的问题是出现在系统ip更换后,集群mon刚修改完monmap起来时发生的
诡异现象之pool删除后pg仍存在
这简直就是无法直视
刚开始现象是所有pg都是unknow
1 | data: |
一怒之下,删掉所有的存储池(本来就要重建),查看集群状态,没有变化
1 | data: |
查了下pool,确实没有了,pg哪里来的?
1 | [twj@mon003 ~]$ sudo ceph osd pool ls |
原因及解决办法:
查了一圈,真没找到原因,36台节点,怎么找出哪个地方有问题?没办法,从第一台看一下,看到第一台节点的osd处于迷茫状态,要不用一下重启大法~
重启完这个节点的osd,集群正常了!我……
看起来,应该是某些osd异常,卡住了集群的map,导致集群状态没法更新,所以这种时候,重启一下osd试试看
诡异现象之osd仍使用旧ip
mon起来后,启动所有的osd,发现有一大票osd起不来,选其中一个节点看,发现这些osd仍使用修改前的旧ip,用ip a
查看,发现接口ip已经修改了的,为什么还会用到旧ip呢?
与同事讨论的结果是,修改系统ip后(不知道集成人员怎么改的),看起来接口ip是成功修改,但是系统底层某些地方没有生效成功,这种情况下还有啥好说的,reboot
就完事了^_^
诡异现象之osd不来
集群的mgr、mon都起来了,osd也通过ansible批量重启,但是仍有很多osd起不来,看了下日志,报错是:
1 | mgr deadlock: _check_auth_rotating possible clock skew, rotating keys expired way too early |
这个看起来是时间问题,赶紧看了下osd节点的时间,没问题,所有mgr节点的时间,没问题
又赶紧重启了所有的mgr,不行
又赶紧重启了所有的ceph进程,不行
查了一圈,发现社区有提到一个bug讲到这个问题,其中一位老铁指出:
1 | It seems that the mon started to desync for some reason (clockscrew maybe, we ran ntpd on all servers though). Some OSDs could not connect to the mon anymore, others stayed up. |
一试,好了!感谢老铁!
建议的打开方式
上述几个问题是在修改前面5个集群的时候发生的,经验不足,后面那批集群都熟练了,就没有遇到什么阻碍了
目前修改集群ip的流程是:
- 0、修改系统ip
- 1、修改并替换所有的ceph.conf
- 2、停止所有ceph进程
- 3、同步所有节点时间
- 4、修改monmap并注入
- 5、启动mon及mgr
- 6、启动osd
其中,进程启动前一定要先保证节点的时间都是同步的,不然出现什么奇奇怪怪的现象都有可能,这里再附个修改monmap的脚本供大家参考,注意修改后再使用
1 |
|
总结
顺利的话,一个集群修改ip大概1小时就能搞好,不顺利的话,答案搜不到问别人也不知道,只能一个个去试,希望大家换ip都顺顺利利地
- 本文作者: 奋斗的松鼠
- 本文链接: http://www.strugglesquirrel.com/2020/01/23/修改十几个集群ip备忘录/
- 版权声明: 本博客所有文章除特别声明外,创作版权均为作者个人所有,未经允许禁止转载!