Centos8下使用cephadm搭载ceph集群(pacific版本)

搭建背景

由于centos8不再使用ntp提供NTP服务,且pacific/el8不再支持ceph-deploy,因此再centos8下搭载pacific与以往的搭载方式有所不同。
我在mac与windows下分别使用Virtual Box与VMware分别各搭载了一套三节点的集群,除了第一部分虚拟机创建有略微不同,其余步骤完全相同。
Centos8镜像地址
yum源仓库地址

虚拟机部署

这里首先只处理一台虚拟机,ceph安装完成后可以再克隆出集群中其他的虚拟机。

  1. 使用vmware或者virtual box新建虚拟机,虚拟机配置两张网卡:
    对于vmware,一张网卡使用桥接模式,用于访问外网,一张网卡使用仅主机模式,作为集群局域网;
    对于virtualbox,一张网卡使用NAT模式访问外网,一张使用仅主机(only-host)模式(virtualbox仅主机模式需要先新建网络)

  2. 添加两块以上硬盘,/dev/sda作为系统盘,其余盘作为数据盘,后续做osd设备使用

  3. 选择centos8镜像,以上硬件信息配置完成后,启动虚拟机进行部署,可以选择不含GUI的server进行部署;网络配置页面,开启两张网卡,仅主机模式的网卡手动添加静态ip
    vmware配置如图所示:
    在这里插入图片描述

yum源配置

  1. 配置cep.repo
 [ceph]
name=ceph
baseurl=https://mirrors.aliyun.com/ceph/rpm-pacific/el8/x86_64/
gpgcheck=0
priority=1

[ceph-noarch]
name=cephnoarch
baseurl=https://mirrors.aliyun.com/ceph/rpm-pacific/el8/noarch/
gpgcheck=0
priority=1

[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-pacific/el8/SRPMS
enabled=0
gpgcheck=1
priority=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc

这里使用了阿里镜像仓库,每个baseurl取自对应ceph版本目录的地址,地址附在文章最上方,针对其他版本的ceph选择对应url即可:
在这里插入图片描述
在这里插入图片描述
2. 配置epel相关repo

1)安装 epel 配置包
sudo dnf install epel-release -y

2)将 repo 配置中的地址替换为阿里云镜像站地址
sed -i ‘s|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|’ /etc/yum.repos.d/epel*
sed -i ‘s|^metalink|#metalink|’ /etc/yum.repos.d/epel*

3.更新centos8对应repo
具体repo名称以环境中实际的文件名为准

wget -O /etc/yum.repos.d/CentOS-Linux-BaseOS.repo https://mirrors.aliyun.com/repo/Centos-8.repo

4.更新yum

yum makecache
yum update

TIPS:执行到这里建议给虚拟机打个快照

ceph安装

在yum配置完成,更新成功后,这里只需要正常安装ceph即可:

yum install ceph -y

NTP服务与防火墙等配置

  1. 开启NTP服务。由于centos8的NTP服务是通过chrony提供的,因为开启NTP方式和centos7不同:

#修改chrony.conf文件
vi /etc/chrony.conf
#注释 pool 2.centos.pool.ntp.org iburst,加入新的的时间服务器:
server 210.72.145.44 iburst
server ntp.aliyun.com iburst
#重启服务
systemctl restart chronyd.service
systemctl enable chronyd.service

在这里插入图片描述
2. 关闭防火墙等

systemctl stop firewalld.service
systemctl disable firewalld.service

sed -i ‘s/SELINUX=.*/SELINUX=disable/’ /etc/selinux/conf

setenforce 0

  1. 关闭当前虚拟机,执行克隆虚拟机操作,注意不要选择引用模式,要完整克隆
  2. 修改各虚拟机的主机名称以及网络配置(重启生效)

分别修改每一台虚拟机的主机名(如node1, node2, node3)
hostnamectl set-hostname node1

修改克隆出来的主机的网络配置(仅主机模式网卡的静态ip,因为是完全克隆,所以刚克隆出来每台主机ip相同

  1. 修改各主机的hosts文件

将集群中所有主机名 ip信息写入每台虚拟机的hosts文件
vi /etc/hosts

node1 192.168.94.128
node2 192.168.94.129
node3 192.168.94.130

部署ceph集群

这步操作仅在一个节点执行即可。
由于pacific的el8中不再有ceph-deploy包,因此不再支持使用ceph-deploy部署集群,需要使用cephadm:

1.安装cephadm
dnf install -y cephadm
2.指定一个主机部署bootstrap,这里选用第一个节点
cephadm bootstrap --mon-ip 192.168.94.128

部署完成提示如下:
请添加图片描述
可以通过以上信息访问ceph的web页面,注意https协议,进入页面提示不安全,在浏览器任意地方键入thisisunsafe即可访问。修改原始密码后可以进入dashborad:
请添加图片描述
至此ceph集群部署完毕。

其余(OSD创建等)

#该命令会启动docker,进入CLI页面,以下操作均在cephadm shell中执行
cephadm shell

  1. 添加其他主机
    这里可以看到我执行命令添加node2,提示错误。
    需要首先生成公钥写入ceph.pub文件,然后将该公钥文件复制给其他所有主机
    复制完成后再执行ceph orch host add命令即可。
[ceph: root@ceph1 ceph]# ceph orch host add node2 --labels=mon
Error EINVAL: Failed to connect to ceph2 (ceph2).
Please make sure that the host is reachable and accepts connections using the cephadm SSH key

To add the cephadm SSH key to the host:
> ceph cephadm get-pub-key > ~/ceph.pub
> ssh-copy-id -f -i ~/ceph.pub root@ceph2
  1. 增加osd
    前面部署虚拟机时说到,每台虚拟机挂载两块以上的盘,因为除了系统盘,其他盘要用作osd。这里我每个虚拟机多挂了一块sdb。后续关闭虚拟机后再添加硬盘也可以。

ceph orch daemon add osd node1:/dev/sdb
ceph orch daemon add osd node2:/dev/sdb
ceph orch daemon add osd node3:/dev/sdb
请添加图片描述

  1. 启动存储池请添加图片描述
    web页面可以创建存储池,创建完成后指定为rbd应用,就可以在这个存储池中创建rbd硬盘了。

启用存储池
ceph osd pool application enable pool2 rbd

删除存储池,首先开启删除权限
ceph daemon mon.node1 config set mon_allow_pool_delete true
ceph osd pool rm pool1 pool1 --yes-i-really-really-mean-it
请添加图片描述

进入cephadm shell后,可以通过ceph官方文档提供的命令执行相关操作:
cephadm相关操作指令

至此ceph集群搭建完成。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值