转载自:https://github.com/blueboay/ceph-study
状态获取
关于集群其它的一些操作参考《Ceph存储》系列其它相关文章。
整体运行状态
执行ceph -s命令可以查看ceph集群整体运行状态,如。
1 |
|
- id:集群ID
- health:集群运行状态,这里有一个警告,说明是有问题,意思是pg数大于pgp数,通常此数值相等。
- mon:Monitors运行状态。
- osd:OSDs运行状态。
- mgr:Managers运行状态。
- mds:Metadatas运行状态。
- pools:存储池与PGs的数量。
- objects:存储对象的数量。
- usage:存储的理论用量。
- pgs:PGs的运行状态
PG状态
查看pg状态查看通常使用下面两个命令即可,dump可以查看更详细信息,如。
1 |
|
Pool状态
查看整个pool状态。
1 |
|
查看指定pool状态。
1 |
|
OSD状态
以下3条命令查看,dump显示出更详细信息,tree可以让信息显示得更漂亮。
1 |
|
Monitor状态
基本状态查看,使用dump可以查看更详细信息。
1 |
|
查看仲裁状态。
1 |
|
集群空间用量
主要用到df子命令,后面跟detail可以显示更详细信息。
1 |
|
ceph.conf配置文件
该配置文件采用init文件语法,#和;为注释,ceph集群在启动的时候会按照顺序加载所有的conf配置文件。 配置文件分为以下几大块配置。
- global:全局配置。
- osd:osd专用配置,可以使用osd.N,来表示某一个OSD专用配置,N为osd的编号,如0、2、1等。
- mon:mon专用配置,也可以使用mon.A来为某一个monitor节点做专用配置,其中A为该节点的名称,ceph-monitor-2、ceph-monitor-1等。使用命令 ceph mon dump可以获取节点的名称。
- client:客户端专用配置。
配置文件可以从多个地方进行顺序加载,如果冲突将使用最新加载的配置,其加载顺序为。
- $CEPH_CONF环境变量
- -c 指定的位置
- /etc/ceph/ceph.conf
- ~/.ceph/ceph.conf
- ./ceph.conf
配置文件还可以使用一些元变量应用到配置文件,如。
- $cluster:当前集群名。
- $type:当前服务类型。
- $id:进程的标识符。
- $host:守护进程所在的主机名。
- $name:值为$type.$id。
套接字文件
所谓套接字相当于守护进程的socket文件,默认存储于/var/run/ceph/目录下面,后缀名为.asok。可以使用此套接字完成对此守护进程所对应用的配置。但只能在本地执行,无法远程执行,套接字通常用于查询类。 命令使用格式如。
1 |
|
获取指定套接字可使用的命令帮助。
1 |
|
使用可使用的命令,如status查询状态。
1 |
|
服务平滑重启
有时候需要更改服务的配置,但不想重启服务,或者是临时修改。这时候就可以使用tell和daemon子命令来完成此需求。
tell子命令
命令使用格式如下。
1 |
|
- daemon-type:为要操作的对象类型如osd、mon等。
- daemon id:该对象的名称,osd通常为0、1等,mon为ceph -s显示的名称,这里可以输入*表示全部。
- injectargs:表示参数注入,后面必须跟一个参数,也可以跟多个。
例。
1 |
|
mon_allow_pool_delete此选项的值默认为false,表示不允许删除pool,只有此选项打开后方可删除,记得改回去!!! 这里使用mon.ceph-monitor-1表示只对ceph-monitor-1设置,可以使用*
daemon子命令
命令格式如下。
1 |
|
例。
1 |
|