文章目录
- 1.Ceph集群各组件的配置文件
- 1.1.Ceph各组件配置方式
- 1.2.ceph临时查看、修改配置参数的方法
- 2.调整Monitor组件的配置参数删除Pool资源池
- 2.1.临时调整配置参数
- 2.2.永久修改配置参数
1.Ceph集群各组件的配置文件
1.1.Ceph各组件配置方式
Ceph集群中各个组件的默认配置参数并没有配置在配置文件中,因为Ceph部署方式很特别,ceph.conf文件是以ceph-deploy工具推送到各个服务器的,Ceph集群各个组件的配置文件以sock方式存放在/var/run/ceph这个路径中。
可以通过ceph --admin-daemon
命令指定组件的sock文件,去查询、修改某个组件的配置参数。
[root@ceph-node-1 ~]# ceph -h | grep admin
[--admin-daemon ADMIN_SOCKET] [-s] [-w] [--watch-debug]
Ceph administration tool
--admin-daemon ADMIN_SOCKET
submit admin-socket commands ("help" for help
Same as --admin-daemon, but auto-find admin socket
Get selected perf stats from daemon/admin socket
使用ceph --admin-daemon
命令修改的配置参数,只是作为临时修改,如果想要永久修改其中的参数,需要将参数写入到ceph.conf文件中,然后由ceph-deploy工具推送到各个节点中。
1.2.ceph临时查看、修改配置参数的方法
以mon组件为例演示查看和修改配置参数的方法。
查看配置的默认参数
ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-node-1.asok config show
调整配置的默认参数
ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-node-1.asok config set mon_clock_drift_allowed 1.0
查看key的默认值
[root@ceph-node-1 ~]# ceph config help mon_max_osd
mon_max_osd - max number of OSDs in a cluster
(int, advanced)
Default: 10000
Can update at runtime: true
Services: [mon]
2.调整Monitor组件的配置参数删除Pool资源池
在删除Pool资源池的时候会报下面的错误,这是指在Ceph集群中,默认不允许删除Pool资源池,删除Pool资源池就意味着数据会丢失。如果想要坚持删除Pool资源池,就需要去调整Monitor组件的配置参数了。
[root@ceph-node-1 ~]# ceph osd pool delete pool-rename pool-rename --yes-i-really-really-mean-it
Error EPERM: pool deletion is disabled; you must first set the mon_allow_pool_delete config option to true before you can destroy a pool
根据返回的报错信息,我们得知需要调整mon_allow_pool_delete
参数的值为true
。
2.1.临时调整配置参数
所有的节点可以都对mon_allow_pool_delete
参数进行调整,但是这种方式是临时调整,如果只是为了本次删除,可以只调整一个,然后删除Pool资源池,下次重启Monitor组件自动还原。
1.首先查看配置参数的值
[root@ceph-node-1 ~]# ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-node-1.asok config get mon_allow_pool_delete
{
"mon_allow_pool_delete": "false"
}
2.将mon_allow_pool_delete值设置为true
[root@ceph-node-1 ~]# ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-node-1.asok config set mon_allow_pool_delete true
{
"success": "mon_allow_pool_delete = 'true' "
}
3.其他节点也调整此参数
[root@ceph-node-2 ~]# ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-node-2.asok config set mon_allow_pool_delete true
[root@ceph-node-3 ~]# ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-node-3.asok config set mon_allow_pool_delete true
4.删除pool资源池
[root@ceph-node-1 ~]# ceph osd pool delete pool-rename pool-rename --yes-i-really-really-mean-it
pool 'pool-rename' removed
2.2.永久修改配置参数
有临时配置方式那么必然有永久配置方式。
永久修改配置参数,就是将要调整的配置参数写入到ceph.conf文件中,然后使用ceph-deploy工具推送到集群各个节点,最后重启所有节点的该组件即可。
1.将配置参数写入到ceph.conf文件中
[root@ceph-node-1 ~]# cd /data/ceph-deploy/
[root@ceph-node-1 ceph-deploy]# vim ceph.conf
[global]
fsid = a5ec192a-8d13-4624-b253-5b350a616041
public_network = 192.168.20.0/23
cluster_network = 192.168.30.0/23
mon_initial_members = ceph-node-1, ceph-node-2, ceph-node-3
mon_host = 192.168.20.20,192.168.20.21,192.168.20.22
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
mon allow pool delete = true
[client.rgw.ceph-node-1]
rgw_frontends = "civetweb port=80"
2.将配置文件推送到各个节点
[root@ceph-node-1 ceph-deploy]# ceph-deploy --overwrite-conf config push ceph-node-1 ceph-node-2 ceph-node-3
3.重启所有monitor组件
[root@ceph-node-1 ~]# for i in {1..3}; do ssh ceph-node-${i} "systemctl restart ceph-mon.target" ; done