ceph之rados设计原理与实现第四章:存储的基石OSD

OSD本质上是凌驾于操作系统之上的进程,拥有cpu、内存、网络带宽等资源,用于实现对象存储,并兼容各种类型的文件系统。

OSD之间利用集群网络互相监督,出现故障及时上报Monitor,由Monitor修改OSDMap后,再由OSD之间互相点对点传播最新OSDMap。

1.集群管理

OSD需要和Monitor定期通讯,报告自身情况,来更新最新的OSDMap,向Monitor报告自身容量使用情况,密钥密钥等,所以OSD进程内部驻留封装了Monitor客户端组件,用于和Monitor通信

2.网络通信

网络通信组件Messenger,包含公共网络、集群网络。

3.OSD上电

磁盘上存储着Objectstore的引导数据,先读出后进行认证,然后再读出Objectstore的超级块于内存,也就是挂载Objectstore,一切正常(OSD有足够权限、符合集群UUID、版本号正确等检测通过)后,需要向Monitor同步OSDMap,由于OSD下电期间OSDMap仍在更新,所以OSD上电之后OSDMap的版本可能和Monitor最新版本差了若干版本号,所以除了OSD需要告知Monitor将OSDMap中自己状态改为UP(因为OSD已经上电),同时Monitor还需要将OSD下电期间缺失的若干版本的OSDMap的增量(最多40个)一起发给OSD,用于更新OSD本地的OSDMap。

4.OSD故障检测

四种状态:Up、Down、In、Out

三种检测方式:自主上报、心跳检测、看门狗(定期向Monitor发送消息保活)

检测到OSD处于Down后,600S后才会置为Out,收波及的PG开始迁移。

5.OSD空间统计

四个等级:NearFull、BackFull(阻止PG迁移写入OSD)、Full(阻止写入OSD)、Failsafefull(阻止写入,避免Full标记延迟导致OSD写满的最后屏障)

存储池总空间 = 存储池已用空间 + 存储池最大可用空间

存储池最大可用空间计算公式为:min{ OSD容量 - 预留空间(百分之五) / 该OSD在存储池总容量的占比 / 存储池副本数 }

其中OSD容量 / 该OSD比重 = 存储池所有OSD容量之和

存储池已用空间计算公式为:存储池所有OSD已用空间之和 / 副本数

事实上,上述存储池最大可用空间计算公式是以数据分布平衡为前提的,由于取的是min,所以假如两块同样容量的磁盘作为两个OSD,已经写入的数据分布并不均匀,那么min总是取占用空间最大的值来计算最大可用空间,造成计算出的最大可用空间偏小。

相关推荐
pt10431 分钟前
Cisco设备网络安全系列-17:AI驱动安全应用与量子计算安全影响
网络·人工智能·安全
mennekes7 分钟前
暗装插座箱 VS 明装插座箱,工地和车间怎么取舍
运维·网络·科技·安全·制造
HackTwoHub31 分钟前
红队低成本 IP 轮换方案 ProxyCat升级版,自动扩容代理池、负载分摊转发,一键部署,告别高价隧道代理
网络·人工智能·网络协议·tcp/ip·安全·web安全·网络安全
andxe44 分钟前
算力网络融合下的 5G 承载升级:高速光模块,构筑稳定光承载底座
网络·5g·光模块·光通信
lazy H1 小时前
【计算机网络】第 12 篇:IPv6 详解——地址格式、地址类型与双栈网络
网络·经验分享·后端·学习·计算机网络·408
2401_868534781 小时前
论纯IPv6(IPv6-Only)演进与地址规划设计与实施
服务器·网络
爱和冰阔落1 小时前
【Linux网络】UDP 服务器怎么写?从 socket、bind 到 recvfrom/sendto,手写完整回显服务器
linux·运维·服务器·网络
明王明王2 小时前
PVE 装 OpenWrt:不改现有网络,用单臂路由让指定虚拟机上网
网络·openwrt
2301_780789662 小时前
SSL 卸载 + WAF + 抗 D:高防 CDN 一站式解决 HTTPS 性能与安全
网络·云原生·ddos
moonsims2 小时前
AiBrainBox-UGV 通 · 感 · 算 · 控一体化地面机器人边缘智能平台 规格书
大数据·网络·人工智能·无人机