任务目标#
- 完成使用 cephadm 方式部署 ceph 集群
任务平台#
- 物理设备 --
- 操作系统:openEuler 22.03 LTS SP2
部署指南#
任务一:配置准备#
- 重命名 hostname
# 将10.10.3.117的主机名改为future-ceph-node0
hostnamectl set-hostname future-ceph-node0 && bash
# 将10.10.3.118的主机名改为future-ceph-node1
hostnamectl set-hostname future-ceph-node1 && bash
# 将10.10.3.119的主机名改为future-ceph-node2
hostnamectl set-hostname future-ceph-node2 && bash
# 将10.10.3.120的主机名改为future-ceph-node3
hostnamectl set-hostname future-ceph-node3 && bash
- 安装前的配置修改
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
firewall-cmd --state
# selinux永久关闭
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
cat /etc/selinux/config
# 添加hosts
cat >> /etc/hosts << EOF
10.10.3.117 future-ceph-node0
10.10.3.118 future-ceph-node1
10.10.3.119 future-ceph-node2
10.10.3.120 future-ceph-node3
EOF
#查看
cat /etc/hosts
#同步时间
yum install ntp -y
systemctl start ntpd
systemctl enable ntpd
yum install chrony -y
systemctl start chronyd
systemctl enable chronyd
#修改配置,添加内容
echo "
server 10.10.3.70 iburst
allow 10.10.3.0/24
" >> /etc/chrony.conf
timedatectl set-ntp true
systemctl restart chronyd
timedatectl status
date
- 添加 SSH 免密通信
ssh-keygen -t rsa
ssh-copy-id 10.10.3.118
ssh-copy-id 10.10.3.119
ssh-copy-id 10.10.3.120
任务二:安装 docker#
- 配置 Docker CE 的 yum 存储库。打开
docker-ce.repo
的文件,并将以下内容复制到文件中:
echo '
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg ' > /etc/yum.repos.d/docker-ce.repo
保存并退出文件。
- 安装 Docker CE。运行以下命令来安装 Docker CE:
yum -y install docker-ce docker-ce-cli containerd.io
#启动docker并设置开机自启
systemctl start docker
systemctl enable docker
#查看版本
docker -v
docker compose version
- Docker 配置修改存储路径,配置修改为如下。
#将配置写入daemon.json文件
echo '{
"data-root": "/data/docker"
} ' > /etc/docker/daemon.json
#查看
cat /etc/docker/daemon.json
systemctl daemon-reload
systemctl restart docker
docker info
任务三:使用 cephadm 建设集群#
-
安装 ceph 软件#
在所有主机上安装 ceph 软件
yum install -y cephadm ceph-common
#查看版本
ceph -v
-
启用 admin 节点#
在 10.10.3.117 上启用集群
cephadm bootstrap --mon-ip 10.10.3.117
访问 dashboard 修改默认密码
Fetching dashboard port number...
Ceph Dashboard is now available at:
URL: https://future-ceph-node0:8443/
User: admin
Password: p4csdavtmr
Enabling client.admin keyring and conf on hosts with "admin" label
You can access the Ceph CLI with:
sudo /usr/sbin/cephadm shell --fsid 5f344e64-85e4-11ee-9181-0050569a1378 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring
-
添加节点#
#启用ceph命令
cephadm shell
#添加ceph的免密访问
ceph cephadm get-pub-key > ~/ceph.pub
ssh-copy-id -f -i ~/ceph.pub root@future-ceph-node1
ssh-copy-id -f -i ~/ceph.pub root@future-ceph-node2
ssh-copy-id -f -i ~/ceph.pub root@future-ceph-node3
#添加ceph节点
ceph orch host add future-ceph-node1 10.10.3.118
ceph orch host add future-ceph-node2 10.10.3.119
ceph orch host add future-ceph-node3 10.10.3.120
#查看节点
ceph orch host ls
#添加_admin标签允许该节点运行ceph相关命令
ceph orch host label add future-ceph-node1 _admin
ceph orch host label add future-ceph-node2 _admin
ceph orch host label add future-ceph-node3 _admin
#将配置文件拷贝到其他节点
scp /etc/ceph/ceph.conf future-ceph-node1:/etc/ceph/
scp /etc/ceph/ceph.conf future-ceph-node2:/etc/ceph/
scp /etc/ceph/ceph.conf future-ceph-node3:/etc/ceph/
scp /etc/ceph/ceph.client.admin.keyring future-ceph-node1:/etc/ceph/
scp /etc/ceph/ceph.client.admin.keyring future-ceph-node2:/etc/ceph/
scp /etc/ceph/ceph.client.admin.keyring future-ceph-node3:/etc/ceph/
-
设置 mon 节点(监控)#
ceph orch apply mon --placement="4 future-ceph-node0 future-ceph-node1 future-ceph-node2 future-ceph-node3"
#查看mon的详细信息
ceph mon dump
-
设置 mgr 节点(管理)#
ceph orch apply mgr --placement="2 future-ceph-node0 future-ceph-node1 "
#查看详情
ceph orch ls
#打上标签
ceph orch host label add future-ceph-node0 master
ceph orch host label add future-ceph-node1 master
-
添加 osd(存储数据)#
#查看要挂载的磁盘
lsblk
#所有节点
ceph orch daemon add osd future-ceph-node0:/dev/sdb
ceph orch daemon add osd future-ceph-node1:/dev/sdb
ceph orch daemon add osd future-ceph-node2:/dev/sdb
ceph orch daemon add osd future-ceph-node3:/dev/sdb
-
创建 mds(元数据)#
#创建cephfs文件系统
ceph osd pool create cephfs_data
ceph osd pool create cephfs_metadata
ceph fs new cephfs cephfs_metadata cephfs_data
#设置mds组件
ceph orch apply mds cephfs --placement="4 future-ceph-node0 future-ceph-node1 future-ceph-node2 future-ceph-node3"
#查看mds状态
ceph orch ps --daemon-type mds
-
配置 rgw(对象网关)#
#创建名为myorg的realm
radosgw-admin realm create --rgw-realm=myorg
#创建名为default的区域组(设置为主区域组)
radosgw-admin zonegroup create --rgw-zonegroup=default --master
#创建名为cn-east-1的区域(设置为主区域)
radosgw-admin zone create --rgw-zonegroup=default --rgw-zone=cn-east-1 --master
#为realm与区域配置radosgw
ceph orch apply rgw myorg cn-east-1 --placement="4 future-ceph-node0 future-ceph-node1 future-ceph-node2 future-ceph-node3"
#验证
ceph orch ps --daemon-type rgw
ceph -s
-
访问测试#
#ceph-Dashboard
https://10.10.3.117:8443
#Prometheus
http://10.10.3.117:9095/
#Grafana
https://10.10.3.117:3000/