第二课 ceph基础学习-OSD扩容换盘和集群运维
1.1 扩容背景
- 在企业生产环境中,随着时间的迁移数据会存在磁盘空间不足,或者机器节点故障等情况。OSD又是实际存储数据,所以扩容和缩容OSD就很有必要性
- 随着我们数据量的增长,后期可能我们需要对osd进行扩容。目前扩容分为两种,一种为横向扩容,另外一种为纵向扩容
- 横向扩容scale out增加节点,添加更多的节点进来,让集群包含更多的节点
- 纵向扩容scale up增加磁盘,添加更多的硬盘进行,来增加存储容量
1.2 横向扩容
- 横向扩容实际上就是把ceph osd节点安装一遍,增加节点。
yum install -y ntp
systemctl start ntpd
systemctl enable ntpd
timedatectl set-timezone Asia/Shanghai
timedatectl set-local-rtc 0
systemctl restart rsyslog
systemctl restart crond
ntpq -pn
vim /etc/ntp.conf
server 192.168.44.137 iburst
systemctl restart ntpd
systemctl enable ntpd
ntpq -pn
crontab -e
*/5 * * * * /usr/sbin/ntpdate 192.168.44.137
timedatectl set-timezone Asia/Shanghai
timedatectl set-local-rtc 0
systemctl restart rsyslog
systemctl restart crond
date
vim /etc/hosts
192.168.44.140 ceph-04
systemctl stop firewalld
systemctl disable firewalld
iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat
iptables -P FORWARD ACCEPT
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/ceph.repo http://down.i4t.com/ceph/ceph.repo
yum clean all
yum makecache
yum install -y ceph vim wget
cd /root/ceph-deploy/
ceph-deploy --overwrite-conf config push ceph-04
ceph-deploy osd create --data /dev/sdb ceph-04
ceph osd tree
ceph -s
- 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
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
1.3 纵向扩容
- 纵向扩容即添加一块新硬盘即可 (我这里只添加ceph-01服务器一块10G盘)
fdisk -l /dev/sdc
cd ceph-deploy
ceph-deploy disk zap ceph-01 /dev/sdc
ceph-deploy osd create ceph-01 --data /dev/sdc
ceph -s
ceph osd tree
1.4 数据重分步rebalancing
- 数据重分布原理。当Ceph OSD添加到Ceph存储集群时,集群映射会使用新的 OSD 进行更新。回到计算 PG ID中,这会更改集群映射。因此,它改变了对象的放置,因为它改变了计算的输入。
- 下图描述了重新平衡过程(尽管相当粗略,因为它对大型集群的影响要小得多),其中一些但不是所有 PG 从现有 OSD(OSD 1 和 OSD 2)迁移到新 OSD(OSD 3) )。即使在再平衡时,许多归置组保持原来的配置,每个OSD都获得了一些额外的容量,因此在重新平衡完成后新 OSD 上没有负载峰值。
- PG中存储的是subject,因为subject计算比较复杂,所以ceph会直接迁移pg保证集群平衡
ceph --admin-daemon /var/run/ceph/ceph-mon.ceph-01.asok config show | grep max_b
"bluestore_compression_max_blob_size"