Ceph离线部署

ceph-ansible集群搭建

  • 操作系统现在centos7版本

主机名 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)

  • 将提供的离线包导入到node1节点
  • 解压
tar xvf ceph-pkg.tar.gz -C /opt/
  • 配置本地ceph仓库
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
  • 安装vsftpd共享仓库目录
yum install -y vsftpd
  • 共享配置
echo "anon_root=/opt/" >> /etc/vsftpd/vsftpd.conf

systemctl enable --now vsftpd

3.配置ceph离线源(node1、node2)

  • 配置本地ceph仓库
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.配置时间同步

  • node1 节点配置时间服务端
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
  • node2、node3 节点配置同步时间服务端
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)

  • 初始化mon节点
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)

  • 传输ceph密钥
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

  • 存储数据
  • node1机器
# 查看可用的磁盘设备
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

  • 存储对象存储
  • node1机器
ceph orch apply rgw myorg cn-east-1 --placement="3 node1 node2 node3"
  • 检查
# 最后一个,需要等一会
ceph orch ls
posted @   A57  阅读(660)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示