文章结构
一、 安装部署
- 准备集群基础配置
- ceph-mon配置
- 启动ceph-mon服务
当前在虚拟机monosd(192.168.10.42)上
1. 准备集基础配置
1-1. 准备集群的唯一ID
bash> uuidgen //611b25ed-0794-43a5-954c-26e2ba4191a3
1-2. 创建monitor的令牌环
bash> ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
1-3. 创建管理员令牌环
bash> ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
1-4. 创建bootstrap-osd令牌环
bash> ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
2. ceph-mon配置
2-1. 将创建的1-3,1-4创建的令牌环导入只monitor令牌环中
bash> ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
bash> ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
2-2. 更改monitor令牌环的拥有者
bash> chown ceph:ceph /tmp/ceph.mon.keyring
2-3. 创建monmap
bash> monmaptool --create --add monosd 192.168.10.42 --fsid 611b25ed-0794-43a5-954c-26e2ba4191a3 /tmp/monmap
2-4. 创建monitor数据目录
bash> sudo -u ceph mkdir /var/lib/ceph/mon/ceph-monosd
2-5. 使用monitor的令牌及map配置monitor服务节点如该步骤出错,则先将2.6执行完后再来执行此步骤
bash> sudo -u ceph ceph-mon --mkfs -i monosd --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
将以上所有命令整理后如下:
bash> uuidgen //611b25ed-0794-43a5-954c-26e2ba4191a3
bash> ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
bash> ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
bash> ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
bash> ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
bash> ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
bash> chown ceph:ceph /tmp/ceph.mon.keyring
bash> monmaptool --create --add monosd 192.168.10.42 --fsid 611b25ed-0794-43a5-954c-26e2ba4191a3 /tmp/monmap
bash> sudo -u ceph mkdir /var/lib/ceph/mon/ceph-monosd
bash> sudo -u ceph ceph-mon --mkfs -i monosd --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
总共创建文件:
1. /tmp/ceph.mon.keyring //1-2
2. /etc/ceph/ceph.client.admin.keyring //1-3
3. /var/lib/ceph/bootstrap-osd/ceph.keyring //1-4
4. /tmp/monmap //2-3
2-6. 创建配置文件,并根据信息完善
vim /etc/ceph/ceph.conf
[global]
fsid = 611b25ed-0794-43a5-954c-26e2ba4191a3
mon initial members = monosd
mon host = 192.168.10.42
public network = 192.168.10.0/24
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
osd pool default size = 3
osd pool default min size = 2
osd pool default pg num = 100
osd pool default pgp num = 100
osd crush chooseleaf type = 1
PG与PGP的计算方法:
PG和PGP数量一定要根据OSD的数量进行调整:
Total PGs = (Total_number_of_OSD * 100) / max_replication_count
PGs = (3*100)/3
3. 启动ceph-mon服务
3-1. 启动ceph-mon服务
bash> systemctl start ceph-mon@monosd
bash> ceph mon enable-msgr2
bash> systemctl status ceph-mon@monosd
日志文件:/var/log/ceph/ceph.log 、/var/log/ceph/ceph-mon.monosd.log
3-2. 查看ceph集群状态
bash> ceph -s
---
cluster:
id: 611b25ed-0794-43a5-954c-26e2ba4191a3
health: HEALTH_OK
services:
mon: 1 daemons, quorum monosd (age 5m)
mgr: no daemons active
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
启动无误以后,添加到开机启动:systemctl enable ceph-mon@monosd
Ceph Monitor中包含5大Map,统称为集群Map:
Monitor Map。
Monitor Map包括有关monitor节点端到端的信息,其中包括Ceph集群ID,监控主机名和IP地址和端口号,它还存储了当前版本信息以及最新更改信息,可以通过以下命令查看monitor map。->ceph mon dump
OSD Map。
OSD Map包括一些常用的信息,如集群ID,创建OSD Map的版本信息和最后修改信息,以及pool相关信息,pool的名字、pool的ID、类型,副本数目以及PGP,还包括OSD信息,如数量、状态、权重、最新的清洁间隔和OSD主机信息。可以通过执行以下命令查看集群的OSD Map。-> ceph osd dump
PG Map。
PG Map包括当前PG版本、时间戳、最新的OSD Map的版本信息、空间使用比例,以及接近占满比例信息,同时,也包括每个PG ID、对象数目、状态、OSD的状态以及深度清理的详细信息,可以通过以下命令来查看PG Map。->ceph pg dump
CRUSH Map。
CRUSH Map包括集群存储设备信息,故障域层次结构和存储数据时定义失败域规则信息;可以通过以下命令查看CRUSH Map。->ceph osd crush dump
MDS Map。
MDS Map包括存储当前MDS Map的版本信息、创建当前Map的信息、修改时间、数据和元数据POOL ID、集群MDS数目和MDS状态,可通过以下命令查看集群MDS Map信息。->ceph mds dump