- 3
- 0
- 约4.72千字
- 约 13页
- 2017-08-20 发布于浙江
- 举报
SSD固态盘应用于Cep的h集群的典型使用场景
SSD固态盘应用于Ceph集群的典
型使用场景
wanghouming
2015-1-19 |暂无评论
作者:王后明,EasyStack,转载请注明中国社区出处
在虚拟化及云计算技术大规模应用于企业数据中心的科技潮流中,存储性能无疑是
业核心应用是否虚拟化、云化的关键指标之一。传统的做法是升级存储设备,但这没解决根
本问题,性能和容量不能兼顾,并且解决不好设备利旧问题。因此,企业迫切需要一种大规
模分布式存储管理软件,能充分利用已有硬件资源,在可控成本范围内提供最佳的存储性能,
并能根据业务需求变化,从容量和性能两方面同时快速横向扩展。这就是ServerSAN兴起
的现实基础。
Ceph作为ServerSAN的最典型代表,可对外提供块、对象、文件服务的分布式统一存
储系统,不可避免成为关注热点,越来越多的企业在生产环境部署和使用Ceph集群,截止
今年4月份为止,云计算提供商DreamHost、欧洲核子研究中心CERN等企业已有3PB规
模数据量的Ceph生产环境。
Ceph先进的架构,加上SSD固态盘,特别是高速PCIeSSD带来的高性能,无疑将成为
Ceph部署的典型场景。同时,由于SSD相对昂贵的价格及企业已有设备的利旧考虑,如何
控制成本,利用少量的SSD盘来达到关键业务(如电信计费系统的数据库业务等)对性能
的要求,做到性能和成本的最佳平衡点,是用好Ceph的关键。下面讨论Ceph集群中SSD
盘四种典型使用场景:
1. 作为OSD的日志盘
Ceph使用日志来提高性能及保证数据一致性。使用快速的SSD作为OSD的日志盘来提
高集群性能是SSD应用于Ceph环境中最常见的使用场景。由于OSD 日志读写的特点,在
选择SSD盘时,除了关注IOPS性能外,要重点注意以下 个方面:
1)写密集场景
OSD 日志是大量小数据块、随机IO写操作。选购SSD作为日志盘,需要重点关注随机、小
块数据、写操作的吞吐量及IOPS;当一块SSD作为多个OSD的日志盘时,因为涉及到多
个OSD同时往SSD盘写数据,要重点关注顺序写的带宽。
2)分区对齐
在对SSD分区时,使用Parted进行分区并保证4KB分区对齐,避免分区不当带来的性能下
降。
)O_DIRECT和O_DSYNC写模式及写缓存
由Ceph源码可知(ceph/src/os/FileJournal.cc),OSD在写日志文件时,使用的flags是:
flags |=O_DIRECT |O_DSYNC
O_DIRECT表示不使用Linux内核PageCache;O_DSYNC表示数据在写入到磁盘后才返回。
由于磁盘控制器也同样存在缓存,而Linux操作系统不负责管理设备缓存,O_DSYNC在到
达磁盘控制器缓存之后会立即返回给调用者,并无法保证数据真正写入到磁盘中,Ceph致
力于数据的安全性,对用来作为日志盘的设备,应禁用其写缓存。(#hdparm-W0/dev/hda
0)
使用工具测试SSD性能时,应添加对应的flag:dd…oflag=direct,dsync;fio …—direct=1,
—sync=1…
2. 与SATA、SAS硬盘混用,但独立组成全SSD的Pool
基本思路是编辑CRUSHMAP,先标示出散落在各存储服务器的SSDOSD 以及硬盘
OSD(host元素),再把这两种类型的OSD聚合起来形成两种不同的数据根(root元素),然后
针对两种不同的数据源分别编写数据存取规则(rule元素),最后,创建SSDPool,并指定其
数据存取操作都在SSDOSD上进行。
在该场景下,同一个Ceph集群里存在传统机械盘组成的存储池,以及SSD组成的快速
存储池,可把对读写性能要求高的数据存放在SSD池,而把备份数据存放在普通存储池。
对应于Ceph作为OpenStack里统一存储后端,各组件所使用的四个存储池:GlancePool
存放镜像及虚拟机快照、NovaPool存放虚拟机系统盘、CinderVolume Pool存放云硬盘及
云硬盘快照、CinderBackupPool存放云硬盘备份,可以判断出,Nova及CinderVolume
存储池对IO性能有相对较高的要求,并且大部分都是热数据,可存放在SSDPool;而Glance
和CinderBackup存储池作为备份冷数据池,对性能要求相对较低,可存放在普通存储池。
这种使用场景,SSDPool里的主备数据都是在SSD里,但正常情况下,Ceph客户端直
接读写的只有主数据,这对相对昂贵的SSD来说存在一定程度上的浪费。这就引出了下一
原创力文档

文档评论(0)