直接运行ceph命令,可以进入交互模式,例如:
ceph
ceph> health
ceph> status
ceph> quorum_status
ceph> mon_status
在启动集群后、开始读写前,需要首先检查集群健康状态。可以通过以下命令检查集群健康状态:
ceph health
如果没有指定默认配置文件或者keyring的,需要手动指定:
ceph -c /path/to/conf -k /path/to/keyring health
HEALTH_WARN XXX num placement groups stale
”。这些情况下需要等待一段时间再进行检查。等集群状态正常了,该命令应该返回“HEALTH_OK“。此时可以正常使用集群。
为了观察集群不停刷新的日志,可以使用以下命令:
ceph -w
ceph会输出每个日志,例如:
cluster b370a29d-9287-4ca3-ab57-3d824f65e339
health HEALTH_OK
monmap e1: 1 mons at {ceph1=10.0.0.8:6789/0}, election epoch 2, quorum 0 ceph1
osdmap e63: 2 osds: 2 up, 2 in
pgmap v41338: 952 pgs, 20 pools, 17130 MB data, 2199 objects
115 GB used, 167 GB / 297 GB avail
952 active+clean
2014-06-02 15:45:21.655871 osd.0 [INF] 17.71 deep-scrub ok
2014-06-02 15:45:47.880608 osd.1 [INF] 1.0 scrub ok
2014-06-02 15:45:48.865375 osd.1 [INF] 1.3 scrub ok
2014-06-02 15:45:50.866479 osd.1 [INF] 1.4 scrub ok
2014-06-02 15:45:01.345821 mon.0 [INF] pgmap v41339: 952 pgs: 952 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail
2014-06-02 15:45:05.718640 mon.0 [INF] pgmap v41340: 952 pgs: 1 active+clean+scrubbing+deep, 951 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail
2014-06-02 15:45:53.997726 osd.1 [INF] 1.5 scrub ok
2014-06-02 15:45:06.734270 mon.0 [INF] pgmap v41341: 952 pgs: 1 active+clean+scrubbing+deep, 951 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail
2014-06-02 15:45:15.722456 mon.0 [INF] pgmap v41342: 952 pgs: 952 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail
2014-06-02 15:46:06.836430 osd.0 [INF] 17.75 deep-scrub ok
2014-06-02 15:45:55.720929 mon.0 [INF] pgmap v41343: 952 pgs: 1 active+clean+scrubbing+deep, 951 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail
Ceph如何统计空间
used值反映了实际使用的原生存储空间。xxx GB / xxx GB小的值反映了集群所有可用空间的值。概念数(notional number ,这里是17130 MB data)指的是数据没有被复制、克隆、快照的大小。此外,ceph存储数据实际使用空间远超过概念数空间,因为ceph会创建数据副本并且可能会进行克隆和快照。
可以使用df选项检查数据使用情况:ceph df
输出示范:
ceph df
为了检查集群状态,执行以下命令:
ceph status
或者:
ceph -s
在交互模式下,可以使用status:
ceph> status
Ceph会返回状态结果. 一个仅有1个monitor和2个OSDs的返回值是:
cluster b370a29d-9287-4ca3-ab57-3d824f65e339
health HEALTH_OK
monmap e1: 1 mons at {ceph1=10.0.0.8:6789/0}, election epoch 2, quorum 0 ceph1
osdmap e63: 2 osds: 2 up, 2 in
pgmap v41332: 952 pgs, 20 pools, 17130 MB data, 2199 objects
115 GB used, 167 GB / 297 GB avail
1 active+clean+scrubbing+deep
951 active+clean
可以通过以下命令监控OSD状态:
ceph osd stat
或者:
ceph osd dump
你可以根据OSD在CRUSH map中的位置检查他们:
ceph osd tree
Ceph会返回host中CRUSH树和OSDs的状态、权重:
# id weight type name up/down reweight
-1 3 pool default
-3 3 rack mainrack
-2 3 host osd-host
0 1 osd.0 up 1
1 1 osd.1 up 1
2 1 osd.2 up 1
更多信息,请参考 Monitoring OSDs and Placement Groups.
ceph mon stat
Or:
ceph mon dump
检查仲裁:
ceph quorum_status
Ceph会返回仲裁状态。例如,一个有三个monitors组成的集群可能会返回:
{ "election_epoch": 10,
"quorum": [
0,
1,
2],
"monmap": { "epoch": 1,
"fsid": "444b489c-4f16-4b75-83f0-cb8097468898",
"modified": "2011-12-12 13:28:27.505520",
"created": "2011-12-12 13:28:27.505520",
"mons": [
{ "rank": 0,
"name": "a",
"addr": "127.0.0.1:6789\/0"},
{ "rank": 1,
"name": "b",
"addr": "127.0.0.1:6790\/0"},
{ "rank": 2,
"name": "c",
"addr": "127.0.0.1:6791\/0"}
]
}
}
Metadata servers provide metadata services for Ceph FS. Metadata servers have two sets of states: up | down and active | inactive. To ensure your metadata servers are up and active, execute the following:
ceph mds stat
To display details of the metadata cluster, execute the following:
ceph mds dump
PG会将对象对应到OSDs。当你监控pgs,你会希望他们都处于active+clean状态。更多信息请参考: Monitoring OSDs and Placement Groups.
Ceph admin socket允许你通过socket接口查询一个进程。默认情况下,Ceph的sockets文件的路径是/var/run/ceph。为了通过socket获取进程信息,需要登录到运行进程的主机并且运行以下命令:
ceph daemon {daemon-name}
ceph daemon {path-to-socket-file}
例如,以下操作是相同的:
ceph daemon osd.0 foo
ceph daemon /var/run/ceph/ceph-osd.0.asok foo
使用以下命令查看可以使用的管理socket信息:
ceph daemon {daemon-name} help
管理socket允许你在进程运行的时候显示和配置它。查看Viewing a Configuration at Runtime获取更详细的信息。另外,你可以在进程运行的时候直接设置参数。