1.硬盘和文件系统
硬盘驱动器的PREP
Ceph的目的是为数据安全,这意味着Ceph的客户端,当收到数据写入存储驱动器的消息时,这些数据实际上是写入到存储驱动器。对于旧内核( 2.6.33 ) ,如果数据在内存缓冲区中,禁用写入缓存。(linux采用的是缓冲区高速缓存机制,当你把一个数据写入文件时,内核将把数据写入内存缓冲区,而不是直接写入磁盘)。较新的内核应该不会这样的。
使用hdparm的禁止在硬盘上的缓存:
命令: hdparm - W 0 /dev/hda 0
在生产环境中,我们建议运行一个单独的Ceph的OSD守护进程,它对操作系统和数据来说是独立的。。如果你运行的数据和操作系统在一个磁盘上,我们建议您为您的数据创建一个单独的分区。
文件系统
Ceph的OSD守护进程很大程度上依赖于底层的文件系统的稳定性和性能。
注意:我们目前推荐使用XFS用于生产部署,建议使用 btrfs用于测试,开发和任何非关键部署。我们相信, btrfs 具有正确的功能集和路线图,可以长期服务和支撑Ceph ,但XFS和ext4对于目前的部署,能提供必要的稳定性。 btrfs的开发进展迅速:用户安装最新发布的上游内核应该是舒适,并能够跟踪开发活动,对关键错误进行修复。
Ceph的OSD守护进程依赖于各种形式的内部对象的状态和元数据的底层文件系统的扩展属性( XATTRs ) 。底层的文件系统必须提供足够的容量XATTRs 。 btrfs不能绑定的全部的XATTR、存储文件的元数据。 XFS也有比较大的限制(64 KB) ,大多数部署不会遇到,但ext4的是太小,无法使用。
你应该在您的ceph.conf文件中添加以下行,可以选择使用它的btrfs和XFS 。
filestore xattr use omap=true
FILESYSTEM背景信息
XFS和btrfs文件系统,和ext3和ext4比较起来,在高度可扩展的数据存储方面提供了众多的优势 。 XFS和btrfs文件系统都是日志文件系统,这意味着,当死机、断电等时,他们能更彻底的恢复,他们在执行写操作之前,以日志形式记录了所有的操作变化。
XFS是Silicon Graphics公司开发的,是一个成熟和稳定的文件系统。相比之下, Btrfs是一个相对较新的文件系统,目的是解决长久以来的愿望,系统管理员的大规模的数据存储的工作。 BTRFS有一些独特的功能和优势,相比其他的Linux文件系统。
Btrfs是一个副本上写文件系统。它支持文件创建时间戳和验证元数据的完整性的校验和,因此它可以检测坏的数据拷贝和解决这些问题的良好副本。副本上写能力手段, btrfs支持可写的快照。 btrfs支持透明压缩等功能。
BTRFS还采用了多设备管理到文件系统,它使您能够支持异构磁盘存储基础设施,数据分配政策。该社区还旨在提供fsck的,重复数据删除和数据加密支持在未来。这个引人注目的功能列表,让btrfs的Ceph的集群的理想选择。