横向扩容:添加节点,让集群包含更多的节点
纵向扩容:增加磁盘,添加更多的磁盘到集群中,增加存储容量
本次环境:
系统版本 | ceph版本 |
CentOS7.9 | nautilus-14.2.22 |
横向扩容:
一、前期准备:
更改主机名
hostnamectl set-hostname $hostname
添加hosts
cat > /etc/hosts << EOF
$ip $hostname
EOF
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
清空iptables规则
iptables -F
时钟同步
echo 'server $ip iburst' >>/etc/chrony.conf
systemctl restart chronyd.service && systemctl enable chronyd.service
master节点上配置ssh免密
ssh-copy-id $ip
二、联网环境下:
扩容节点安装ceph
yum install -y ceph ceph-deploy
回到master节点操作
cd /etc/ceph
$hostname为扩容节点的主机名
{b,c,d,e,f,g} 为盘符
#擦盘
for i in {b,c,d,e,f,g};do ceph-deploy disk zap $hostname /dev/sd${i};done
#推送配置文件
ceph-deploy --overwrite-conf config push $hostname
#创建osd
for i in {b,c,d,e,f,g};do ceph-deploy osd create $hostname --data /dev/sd${i};done
lsblk查看磁盘格式是否变化,如图则成功
![](https://i-blog.csdnimg.cn/blog_migrate/2d958923ee50673128a2f4e5a9f5eb01.png)
推送密钥
ceph-deploy admin $hostname
回到扩容节点赋给密钥文件读权限
chmod +r /etc/ceph/ceph.client.admin.keyring
回到主节点(master)操作:
cd /etc/ceph
如果扩容的是mgr节点:
ceph-deploy mgr create $hostname
如果扩容的是mds节点:
ceph-deploy mds create $hostname
ceph mds stat #查看mds状态
如果扩容的是mon节点:
ceph-deploy mon create $hostname
查看osd是否成功加入
ceph osd tree
![](https://i-blog.csdnimg.cn/blog_migrate/a109140fc007f7ddb84228d380e844ab.png)
纵向扩容:
由于纵向扩容只扩容osd,所以不需要那么多的步骤,只需要擦盘、创建osd,等待平衡即可
#擦盘
for i in {b,c,d,e,f,g};do ceph-deploy disk zap $hostname /dev/sd${i};done
#创建osd
for i in {b,c,d,e,f,g};do ceph-deploy osd create $hostname --data /dev/sd${i};done
离线环境:
在生产环境中可能没有联网环境(内网),所以需要下载ceph的安装包到离线环境中
找一台联网的同版本机器,添加ceph源,本次环境使用的是nautilus版
#添加ceph源
cat > /etc/yum.repos.d/ceph.repo <<EOF
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
gpgcheck=0
priority=1
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
gpgcheck=0
priority=1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS
gpgcheck=0
priority=1
EOF
下载离线包并制作源
#安装yum-utils、createrepo、epel-release
yum -y install yum-utils createrepo epel-release
#创建文件夹用于存放离线安装包
mkdir /root/ceph_offline ; cd /root/ceph_offline
#只下载不安装
yum -y install ceph-14.2.22 ceph-deploy-14.2.22 –downloadonly –createpo /root/ceph_offline
#制作源
createrepo /root/ceph_offline
#打包
tar -zcvf ceph.tar.gz /root/ceph_offline
#拷贝离线包至离线环境内解压并写个yum文件即可使用
tar zxvf ceph.tar.gz -C /
cat > /etc/yum.repos.d/ceph_offline.repo <<EOF
[ceph_offline]
name=ceph_offline
baseurl=file:///ceph_offline
enabled=1
gpgcheck=0
EOF
#清缓存并生成缓存
yum clean all && yum makecache
#安装
yum -y install ceph