设备清单
host | ip | 组件 |
---|---|---|
c0 | 192.168.254.100 | mon |
c1 | 192.168.254.101 | mon |
c2 | 192.168.254.102 | mon |
c3 | 192.168.254.103 | osd |
c4 | 192.168.254.104 | osd |
c5 | 192.168.254.105 | osd |
在每个节点上设置hosts
192.168.254.100 c0
192.168.254.101 c1
192.168.254.102 c2
192.168.254.103 c3
192.168.254.104 c4
192.168.254.105 c5
下载cephadm,每一个节点上都要执行
注意不要使用yum从ceph的软件源安装,软件源中的cephadm不能正常使用,不能正常创建mon
curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm
chmod +x cephadm
mv cephadm /usr/local/bin
在每一个节点上安装lvm2和python3
yum install -y lvm2 python3
安装ceph-common
- 安装软件源
cat <<EOF>> /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph $basearch
#baseurl=https://download.ceph.com/rpm-octopus/el7/$basearch
baseurl=https://mirrors.aliyun.com/ceph/rpm-octopus/el7/$basearch
enabled=1
gpgcheck=1
gpgkey=https://download.ceph.com/keys/release.asc
[Ceph-noarch]
name=Ceph noarch
baseurl=https://download.ceph.com/rpm-octopus/el7/noarch
enabled=1
gpgcheck=1
gpgkey=https://download.ceph.com/keys/release.asc
[Ceph-source]
name=Ceph SRPMS
baseurl=https://download.ceph.com/rpm-octopus/el7/SRPMS
enabled=1
gpgcheck=1
gpgkey=https://download.ceph.com/keys/release.asc
EOF
- 安装ceph=common
yum install ceph-common
创建集群
cephadm pull
mkdir -p /etc/ceph
cephadm bootstrap --mon-ip 192.168.254.200
密钥注入
ssh-copy-id -f -i /etc/ceph/ceph.pub root@c1
ssh-copy-id -f -i /etc/ceph/ceph.pub root@c2
ssh-copy-id -f -i /etc/ceph/ceph.pub root@c3
ssh-copy-id -f -i /etc/ceph/ceph.pub root@c4
ssh-copy-id -f -i /etc/ceph/ceph.pub root@c5
设置mon的ip段
ceph config set mon public_network 192.168.254.0/24
设置mon数目为3,默认为5
ceph orch apply mon 3
添加主机
ceph orch host add c1
ceph orch host add c2
ceph orch host add c3
ceph orch host add c4
ceph orch host add c5
调整mon
添加完主机后会自动安装mon,有可能mon不是安装在n0,n1,n2这3台主机上
ceph orch apply mon n0,n1,n2
查看可用硬盘
ceph orch device ls c2
添加osd
ceph orch daemon add osd c3:/dev/sdb
ceph orch daemon add osd c4:/dev/sdb
ceph orch daemon add osd c5:/dev/sdb
到此rbd已经部署完成
cephfs
创建cephfs
这里在c0,c1,c2上创建一个名为mycephfs的cephfs,实际cephfs只会用到两个cephfs进程,多出来的一个进程会处于idle状态
ceph orch apply mds mycephfs c0,c1,c2
创建文件系统
自动创建
- 创建文件系统
ceph fs volume create mycephfs
- 删除文件系统
ceph fs volume rm mycephfs
ceph config set mon mon_allow_pool_delete true
手动创建
ceph osd pool create mycephfs.meta
ceph osd pool create mycephfs.data
ceph fs new mycephfs mycephfs.meta mycephfs.data
创建用户
user0:对整个文件系统都有读写权限
user1:对/data有读写权限,对其它路径有只读权限
ceph fs authorize mycephfs client.user0 / rw
ceph fs authorize mycephfs client.user1 / r /data rw
挂载
mount -t ceph c0,c1,c2:/ /mnt/ -o name=user0,secret=AQCKJWhfOD9SCRAAJHf7JMqm+Nqxv5Ae+llSbg==
参考文档
https://blog.csdn.net/DoloresOOO/article/details/106855093
https://phpor.net/blog/post/6350