任务目标
- 完成使用cephadm方式部署ceph集群
任务平台
- 物理设备—
- 操作系统:openEuler 22.03 LTS SP2
部署指南
任务一:配置准备
- 重命名hostname
1 2 3 4 5 6 7 8
| # 将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
|
- 安装前的配置修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| # 关闭防火墙 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免密通信
1 2 3 4
| 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
的文件,并将以下内容复制到文件中:
1 2 3 4 5 6 7
| 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:
1 2 3 4 5 6 7
| yum -y install docker-ce docker-ce-cli containerd.io #启动docker并设置开机自启 systemctl start docker systemctl enable docker #查看版本 docker -v docker compose version
|
- Docker配置修改存储路径,配置修改为如下。
1 2 3 4 5 6 7 8 9
| #将配置写入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软件
1 2 3
| yum install -y cephadm ceph-common #查看版本 ceph -v
|
启用admin节点
在10.10.3.117上启用集群
1
| 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
添加节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #启用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节点(监控)
1 2 3
| ceph orch apply mon --placement="4 future-ceph-node0 future-ceph-node1 future-ceph-node2 future-ceph-node3" #查看mon的详细信息 ceph mon dump
|
设置mgr节点(管理)
1 2 3 4 5 6
| 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(存储数据)
1 2 3 4 5 6 7
| #查看要挂载的磁盘 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(元数据)
1 2 3 4 5 6 7 8
| #创建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(对象网关)
1 2 3 4 5 6 7 8 9 10 11
| #创建名为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
|
访问测试
1 2 3 4 5 6
| #ceph-Dashboard https://10.10.3.117:8443 #Prometheus http://10.10.3.117:9095/ #Grafana https://10.10.3.117:3000/
|