ceph-ansible集群搭建
主机名
IP
node1
10.0.0.18
node2
10.0.0.19
node3
10.0.0.20
操作系统
虚拟化软件
centos7.9
VMware15
1.配置hosts解析(所有节点)
cat >> /etc/hosts <<EOF
10.0.0.10 node1
10.0.0.11 node2
10.0.0.12 node3
EOF
2.制作离线源(node1)
tar xvf ceph-pkg.tar.gz -C /opt/
mkdir /data/yumbak -p
mv /etc/yum.repos.d/* /data/yumbak/
cat >> /etc/yum.repos.d/ceph.repo << EOF
[ceph]
name=ceph
baseurl=file:///opt/ceph-pkg/
gpgcheck=0
enabled=1
EOF
yum clean all; yum makecache
yum install -y vsftpd
echo "anon_root=/opt/" >> /etc/vsftpd/vsftpd.conf
systemctl enable --now vsftpd
3.配置ceph离线源(node1、node2)
mkdir /data/yumbak -p
mv /etc/yum.repos.d/* /data/yumbak/
cat >> /etc/yum.repos.d/ceph.repo << EOF
[ceph]
name=ceph
baseurl=ftp://10.0.0.10/ceph-pkg/
gpgcheck=0
enabled=1
EOF
yum clean all; yum makecache
4.配置时间同步
yum install -y chrony
vim /etc/chrony.conf
server node1 iburst
3 server node1 iburst
23 allow all
26 local stratum 10
systemctl restart chronyd
clock -w
vim /etc/chrony.conf
3 server node1 iburst
systemctl restart chronyd
clock -w
5.安装docker(所有节点)
yum install -y yum-utils device-mapper-persistent-data lvm2
yum -y install docker-ce python3
systemctl enable --now docker
6.安装cephadm(node1)
yum install -y cephadm
7.导入ceph镜像(所有节点)
tar xvf ceph_images.tar.gz
cd /root/ceph_images
for i in `ls`;do docker load -i $i;done
8.引导集群(node1)
mkdir -p /etc/ceph
cephadm bootstrap --mon-ip 10.0.0.10 --skip-pull
9.安装ceph-common工具(node1)
yum install -y ceph-common
10.添加主机到集群(node1)
ssh-copy-id -f -i /etc/ceph/ceph.pub node2
ssh-copy-id -f -i /etc/ceph/ceph.pub node3
ceph orch host add node2
ceph orch host add node3
node2与node3可以发现正在拉取镜像,需要等一会
# node2与node3查看进程
ps -ef | grep docker
# node1如下结果
[root@node1 ~]# ceph orch device ls
Hostname Path Type Serial Size Health Ident Fault Available
node1 /dev/sdb hdd 53.6G Unknown N/A N/A Yes
node2 /dev/sdb hdd 53.6G Unknown N/A N/A Yes
node3 /dev/sdb hdd 53.6G Unknown N/A N/A Yes
11.部署OSD
# 查看可用的磁盘设备
ceph orch device ls
# 添加到ceph集群中,在未使用的设备上自动创建osd
ceph orch apply osd --all-available-devices
# 查看osd磁盘
ceph -s
ceph df
12.部署MDS
CephFS 需要两个 Pools,cephfs-data 和 cephfs-metadata,分别存储文件数据和文件元数据
ceph osd pool create cephfs-metadata 32 32
ceph osd pool create cephfs-data 64 64
ceph fs new cephfs cephfs-metadata cephfs-data
ceph orch apply mds cephfs --placement="3 node1 node2 node3"
# 查看mds有三个,两个预备状态
ceph -s
13.部署RGW
ceph orch apply rgw myorg cn-east-1 --placement="3 node1 node2 node3"
# 最后一个,需要等一会
ceph orch ls
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库