一. 配置文件
- 第一步需要生成一个uuid,命令uuidgen
uuidgen
4299abf0-4901-497a-9bb5-59325a1e757f
- 配置config文件
cat /etc/ceph/ceph.conf
fsid = 4299abf0-4901-497a-9bb5-59325a1e757f
mon_initial_members = node1
mon_host = 192.168.157.132
public_network = 192.168.157.1/24
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
filestore xattr use omap = true
osd pool default size = 2
osd pool default min size = 1
osd pool default pg num = 333
osd pool default pgp num = 333
osd crush chooseleaf type = 1
二. 创建一个mon监视器
为此集群创建密钥环、并生成监视器密钥
ceph-authtool --create-keyring /etc/ceph/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
生成管理员密钥环,生成 client.admin 用户创建管理集群的密钥并赋予访问权限
ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow'
把 client.admin 密钥加入 ceph.mon.keyring
ceph-authtool /etc/ceph/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
生成Monitor map
用规划好的主机名、对应 IP 地址、和 FSID 生成一个监视器图,并保存为
/etc/ceph/monmap
monmaptool --create --add node1 192.168.157.132 --fsid 4299abf0-4901-497a-9bb5-59325a1e757f /etc/ceph/monmap
在监视器主机上分别创建数据目录。
mkdir -p /var/lib/ceph/mon/ceph-node1
初始化Monitor的文件系统
ceph-mon --mkfs -i node1 --monmap /etc/ceph/monmap --keyring /etc/ceph/ceph.mon.keyring
检查Ceph 配置文件
建一个空文件 done ,表示监视器已创建、可以启动了
touch /var/lib/ceph/mon/ceph-node1/done
启动Monitor:
ceph-mon --id node1
三. 添加 OSD
ssh node1
sudo ceph-disk prepare --cluster ceph --cluster-uuid a7f64266-0894-4f1e-a635-d0aeaca0e993 --fs-type ext4 /dev/hdd1
三. 添加 OSD
uuidgen
4c0a02e2-e577-4778-b775-8b636926bb2d
创建OSD
ceph osd create 4c0a02e2-e577-4778-b775-8b636926bb2d
创建OSD目录
mkdir -p /var/lib/ceph/osd/ceph-0
改权限
chown ceph.ceph /var/lib/ceph/osd/ceph-1
格式化OSD磁盘
mkfs -t xfs /dev/vdb
挂载OSD磁盘
mount /dev/vdb /var/lib/ceph/osd/ceph-0/
初始化OSD
ceph-osd -i 0 --mkfs --mkkey --osd-uuid 4c0a02e2-e577-4778-b775-8b636926bb2d
注册OSD keyring
ceph auth add osd.0 osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/ceph-0/keyring
ceph-osd -i 0 --mkfs --mkkey
ceph auth add osd.1 osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/ceph-1/keyring
把此节点加入 CRUSH 图。
ceph osd crush add-bucket node1 host
把此 Ceph 节点放入 default 根下。
ceph osd crush move node1 root=default
把此 OSD 加入 CRUSH 图之后,它就能接收数据了。你也可以反编译 CRUSH 图、把此 OSD 加入设备列表、对应主机作为桶加入(如果它还不在 CRUSH 图里)、然后此设备作为主机的一个条目、分配权重、重新编译、注入集群
ceph osd crush add osd.0 1.0 host=node1
要让守护进程开机自启,必须创建一个空文件
sudo touch /var/lib/ceph/osd/ceph-0/sysvinit
启动osd
ceph-osd --id 0
网友评论