不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Ceph 节点、网络和 Ceph 存储集群。 Ceph 存储集群至少需要一个 Ceph Monitor 和两个 OSD 守护进程。而运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )。
Ceph 把客户端数据保存为存储池内的对象。通过使用 CRUSH 算法, Ceph 可以计算出哪个归置组(PG)应该持有指定的对象(Object),然后进一步计算出哪个 OSD 守护进程持有该归置组。 CRUSH 算法使得 Ceph 存储集群能够动态地伸缩、再均衡和修复。
节点 |
类型 |
ip |
CPU |
内存 |
硬盘 |
ceph-deploy |
管理平台 |
192.168.68.50 |
2 |
4G |
/dev/sdb /dev/sdc |
ceph1 |
Monitor osd |
192.168.68.51 |
2 |
4G |
/dev/sdb /dev/sdc |
ceph2 |
osd |
192.168.68.52 |
2 |
4G |
/dev/sdb /dev/sdc |
ceph3 |
osd |
192.168.68.53 |
2 |
4G |
/dev/sdb /dev/sdc |
ceph version: 14.2.22 nautilus
OS: CentO7.9
内核:5.4.161
每个服务器都要修改
192.168.68.50 ceph.local 192.168.68.51 ceph1.local ceph1 192.168.68.52 ceph2.local ceph2 192.168.68.53 ceph3.local ceph3
各ceph节点新增cephuser用户
useradd cephuser echo "123456" | passwd --stdin cephuser echo "cephuser ALL = (root) NOPASSWD:ALL" > /etc/sudoers.d/cephuser
ceph-deploy节点安装所需的包,root用户操作
yum install ceph-deploy python2-pip.noarch ceph-common -y
deploy管理节点新增manager用户
useradd manager echo "123456" | passwd --stdin manager
在ceph-deploy节点上生成并copy密钥,做免密登陆
su - manager ssh-keygen #一顿回车或者根据自己情况选择 ssh-copy-id cephuser@192.168.68.51 ssh-copy-id cephuser@192.168.68.52 ssh-copy-id cephuser@192.168.68.53
ceph-deply节点的manger用户家目录下,
修改config后deploy节点所建的用户名登录Ceph节点无需每次指定 --username cephuser ,简化了ssh和scp的用法
vim /home/manager/.ssh/config
Host ceph1 Hostname ceph1 User cephuser Host ceph2 Hostname ceph2 User cephuser Host ceph3 Hostname ceph3 User cephuserchmod 600 .ssh/config
mkdir ceph-cluster cd ceph-cluster
ceph-deploy new ceph1
或 指定网段,如果有多个网卡,可使用不同的网段
ceph-deploy new --cluster-network 192.168.68.0/24 --public-network 192.168.68.0/24 ceph1
ceph-deploy install ceph1 ceph2 ceph3 --stable --release nautilus --repo-url=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc
--stable 指名为稳定版
--release 指定版本 nautilus ,即就是14.2版本
可指定repo为国内源
--repo-url=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc
ceph-deploy mon create-initial #初始monitor、并收集所有密钥
ceph-deploy mgr create ceph1 ceph2 ceph3
ceph-deploy admin ceph1 ceph2 ceph3
给deploy本身也复制一份,需要用root操作,以方便用deploy管理ceph集群
cp /home/manager/ceph-cluster/ceph.client.admin.keyring /etc/ceph/ chmod 644 /etc/ceph/ceph.client.admin.keyring
ceph -s
1. Module 'restful' has failed dependency: No module named 'pecan' (这个在centos7上安装13版本不会出现)
yum install python36-devel
pip3 install werkzeug pecan
systemctl restart ceph-mon.target
systemctl restart ceph-mgr.target
2. mon is allowing insecure global_id reclaim
如果有警告,则禁用安全模式
ceph config set mon auth_allow_insecure_global_id_reclaim false
3.OSD count 0 < osd_pool_default_size 3
这个是因为还没有添加osd,等一会添加后就好了
ceph-deploy disk list ceph1 【ceph2 ceph3】
ceph-deploy osd create --data /dev/sdb ceph1 ceph-deploy osd create --data /dev/sdc ceph1 ceph-deploy osd create --data /dev/sdb ceph2 ceph-deploy osd create --data /dev/sdc ceph2 ceph-deploy osd create --data /dev/sdb ceph3 ceph-deploy osd create --data /dev/sdc ceph3
ceph-deploy mon add ceph2
提示:默认情况下,dashboard的所有HTTP连接均使用SSL/TLS进行保护。以上内置命令可快速生成并安装自签名证书。
yum install ceph-mgr-dashboard.noarch -y
ceph mgr module enable dashboard ceph dashboard create-self-signed-cert echo admin > pass.txt #设置管理员密码 ceph dashboard ac-user-create admin -i pass.txt #创建管理员
或者 ceph dashboard set-login-credentials admin -i pass.txt ceph mgr services #确认验证
ceph mgr module enable dashboard ceph config set mgr mgr/dashboard/ssl false echo admin > pass.txt #创建管理员 ceph dashboard set-login-credentials admin -i pass.txt
base.repo
aliyun-epel.repo
eple.repo
ceph.repo
octopus ,即就是15.2版本,在centos7上问题比较多,dashboard没法使用。
yum install ceph-mgr-dashboard
缺的这三个报在centos8上有,centos7上没有。