[TOC]
系统故障
集群始终处于remapped状态
同一osd的副本不允许数据放在同一hosts上,所以池副本数要小于实际的主机数
https://lihaijing.gitbooks.io/ceph-handbook/content/Troubleshooting/troubleshooting_pg.html
1 | osd crush chooseleaf type |
1 | 查看ceph 池副本数 |
No Module named openssl
只在麒麟上有过依赖不全的问题
openssl应该是不需要编译安装的,但解决问题时候先照着这个操作了才找到后边的解决方法。
https://tracker.ceph.com/issues/23992?tab=history
原因:在构建Ceph时不需要这些依赖,所以 install.sh
并不会安装。也就是说,install.sh
仅安装构建Ceph相关的依赖
1 | pip3 install pecan |
Module ‘restful’ has failed dependency: cannot import name dump_csp_header
应该是麒麟ceph依赖于python2.7,但实际安装在python3.7下,造成ceph无法识别依赖
1 | pip3 uninstall werkzeug && pip2 install werkzeug==0.16.1 |
clock skew detected on mon
使用ntp时间同步
https://vegetable-chicken.blog.csdn.net/article/details/104801809
https://help.aliyun.com/zh/ecs/user-guide/alibaba-cloud-ntp-server#cdf5592e6dal2
当前NTP官方已经停止维护,使用
ntpdate
进行手动时间同步有时钟跳变的风险,如必须使用,请在ntpdate命令后添加3个或3个以上的时钟源,尽可能规避风险
造成集群状态health_warn:clock skew detected on mon节点的原因有两个,
mon节点上ntp服务器未启动
ceph设置的mon的时间偏差阈值比较小。
原因排查从前到后进行。
确定时间同步服务器是否正常
1 | systemctl status ntpd |
1. 查看主机操作系统版本
1 | cat /etc/os-release |
2. 查看主机是否安装ntp
1 | [root@ceph02 ~]# rpm -qa | grep ntp |
若没有,则安装 ntp ntpdate
1
yum install ntp ntpdate -y
查看是否安装成功
1
rpm -qa | grep ntp
3. 配置ntp服务器
a. 查看ntp服务器状态
1
2
3
4
5[root@ceph02 ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Tue 2024-06-04 16:06:09 CST; 18min ago
Main PID: 10989 (code=exited, status=0/SUCCESS)b. 配置本地主机作为时间同步服务器
1
2
3
4
5vim /etc/ntp.conf
server 127.127.1.0 iburst
restrict 127.0.0.1
restrict ::1c. 启动ntp服务器
1
systemctl restart ntpd
确定ntp服务器状态
1
2
3
4
5
6
7
8
9
10[root@ceph01 ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2024-06-04 15:52:47 CST; 5min ago
Process: 2370 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 2388 (ntpd)
Tasks: 2
Memory: 4.1M
CGroup: /system.slice/ntpd.service
└─2388 /usr/sbin/ntpd -u ntp:ntp -g查看是否启动同步
1
2
3
4[root@ceph01 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
LOCAL(0) .LOCL. 5 l 6 64 17 0.000 +0.000 0.000
d. 设置开机启动
1
2
3
4systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd
service.e. 设置防火墙,打开udp123端口
1
2
3
4
5
6
7firewall-cmd --permanent --add-port=123/udp
success
firewall-cmd --reload
success
核对
iptables -L -n
4. ntp客户端配置
a. 修改配置文件,将ntp服务器作为客户端的上游ntp服务器
1
2
3
4
5
6vim /etc/ntp.conf
配置上游时间服务器为本地的ntpd Server服务器
server 10.168.5.210
配置允许上游时间服务器主动修改本机的时间
restrict 10.168.5.210
restrict ::1b. 与本地ntpd 服务器同步
1
ntpdate -u 10.168.5.210
c. 启动ntp服务
1
systemctl start ntpd
d. 设置开机启动
1
systemctl enable ntpd
e. 查看状态
1
2
3
4ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*192.168.0.163 LOCAL(0) 11 u 21 64 377 0.068 -0.824 0.367
修改Ceph配置中的时间偏差阈值
1 | ceph config set global mon_clock_drift_allowed 2 mon_clock_drift_warn_backoff 30 |
使用chrony时间同步见ceph安装
https://blog.csdn.net/weixin_46986342/article/details/127734511
存储集群错误
https://blog.csdn.net/nasooo/article/details/130237481
https://blog.csdn.net/a13568hki/article/details/118914679
https://blog.csdn.net/nanhai_happy/article/details/131934493
https://xie.infoq.cn/article/badcd3f7f07cd6d6404a9d494
https://www.cnblogs.com/x602/p/16562160.html
https://blog.51cto.com/arkling/6667360
OSD down
移除重新添加
查看osd
1 | ceph osd tree |
停止此osd进程
1 | systemctl stop ceph-osd@<osd-id> |
下线osd
1 | ceph osd out osd.<id> |
将osd踢出集群,执行完的结果是osd.0不在osd tree中
- osd up 数量已经变少,但是还是有osd总数并没有减少
1 | ceph osd crush remove osd.0 |
执行ceph auth del osd.0 和 ceph osd rm 0,但是原来的数据和日志目录还在,也就是数据还在
1 | ceph auth del osd.0 |
将/dev/sdc磁盘umount,然后将磁盘进行擦除那么数据就会被完全删除了,然后执行
1 | 可见osd 总数量已经由30减少为29了。 |
把新换的盘扩容,加入ceph集群
准备磁盘(新增节点操作)
1 | [root@node1 ~]# yum install ceph ceph-radosgw -y |
添加osd(主节点操作)
1 | [root@node1 ~]# ceph-deploy osd create --data /dev/sdb node1 |
1 | systemctl restart ceph-mon.target |