对于存储系统而言,性能与成本就像天平的两端,我们的存储系统目标就是在这两者之间取得平衡。
下面介绍3种需求场景:极低成本,极致性能以及成本和性能较为均衡。
极低成本
极低成本一般用在搭建冷存储集群环境中。
硬件设计
-
在单位机柜中放更多的硬盘,正常的4U48盘位的密度太低,需要引入JBOD设备,通常一个4U服务器满配下加带6个JBOD设备,每个JBOD设备最多可放置102块硬盘,如果机架可以支持8个高密度JBOD,则可以接近安装1000块磁盘。
-
在单位硬盘下提供更大的容量,采用PMR技术,单盘最大容量可以达到12TB,引入SMR技术,单盘最大容量可以达到18TB甚至更高
软件设计
-
纠删码是一种数据保护方法,它将数据分割成片段,把冗余的数据块扩展,编码,并将其存储到不同的位置。副本策略和纠删码是存储领域常见的两种数据冗余技术。对比如下:
冗余技术 磁盘利用率 计算开销 网络消耗 恢复效率 多副本(3副本) 1/3 几乎没有 较低 较高 纠删码 n/(n+m) 高 较高 较低
极致性能
Ceph 具备优良的可扩展性以及分布式的体系结构,Ceph 系统中的所有工作负载都会均匀地分布到,分配到整个集群的各个节点上,每个存储节点包含数个OSD,因此,Ceph性能是集群节点内所有OSD性能的叠加。
粗狂的集群扩展也伴随着成本的增加,以此在满足ceph存储集群高性能需求的同时,也要更多地关注存储集群单位存储容量可发挥地性能(IOPS/TB)以及单位成本可发挥地性能(IOPS/元)。ceph组件中,对存储性能影响最大地是OSD,为了推高单OSD性能,我们自然能想到地是利用SSD。对于SSD存储性能介质的发挥,业界较为常用的做法是对SSD存储介质做多分区策略(4分区),划分后的每个分区分别承载一个OSD进程。
成本和性能较为均衡
在当前阶段下,同样容量规格的SSD成本仍然显著高于HDD成本,如何有效组织SSD与HDD,实现存储成本与性能的均衡,仍然有重要的意义。实现这一目标,需要依赖于智能的数据分层存储方案,即缓存方案。
Bcache
Bcache 是Linux 内核块设备层Cache,从内核3.10开始,Bcache 进入主线。Bcache 支持 Write Back,Write Through,Write Around 三种策略,默认是Write Through 模式。
-
Write Back
-
Write Through
-
Write Around
缓存替换方式支持LRU,FIFO,Random 三种。
Bcache 中以 Cache set 来划分不同存储集合,一个Cache set 中包含一个或多个缓存设备(一般是SSD),一个或多个后端设备(一般是HDD)。Bcache 对外输出给用户使用的是/dev/bcache 这种设备,每个bcache设备都与一个后端物理盘一一对应。
image.png
网友评论