全局调教

Global Tuning

circle-exclamation

btrfs在PX架构里的功用和带来的限制

#

btrfs的功用

限制

1

底层Datastore

文件系统Overhead

2

多硬盘软RAID

不能移除盘

3

多硬盘并行读写

4

添加硬盘和数据再均衡(Rebalance)

必须离线完成

5

Copy On Write 保护

严重的写放大

6

校验码(Checksum)保护

写放大

7

快照功能

btrfs对kernel版本的依赖

btrfs的发展同Linux kernel紧密联合在一起, 最新的改进和补丁都在合并在最新的Linux kernel里。所以要升级BTFS必须升级Linux kernel。

btrfs在RHEL/CentOS里

RHEL/CentOS官方的kernel版本都非常保守。RHEL/CentOS 7.x 的kernel版本一直停留在3.10, 而且红帽官方已经宣布在7.4之后不再backport新的btrfs补丁。所以btrfs在RHEL/CentOS官方kernel里的稳定性和性能都不理想。

如果使用的是CentOS, 建议升级kernel到elrepo.org的4.4版本以上。

添加全局调教参数:rt_opts

PX目前提供两个全局调教参数,关闭部分btrfs功能,以提升其性能。方法是在PX的启动参数里添加rt_opts, 如下:

PX启动后/etc/pwx/config.json会有如下显示:

PX启动后查看btrfs的mount属性

copy_on_write=0

规格

细节

版本要求

1.7.2以上

操作

添加nodatacow和nodatasum到BTFS的mount属性

效果

禁用Copy On Write和校验码,减少overhead和延迟

代价

btrfs失去后端数据自纠错的能力

考量

常见的ext4/xfs文件系统也没有数据自纠错的能力。

如果客户接受ext4/xfs的安全性,那么也就能接受这个参数

nossd=1

规格

细节

版本要求

1.7.3以上 (1.7.7以上,2.0.3.3以上,默认开启)

操作

添加nossd到btrfs的mount属性

效果

禁用SSD优先写连续空间,避免文件系统碎片化

代价

理论上会减少SSD的寿命

考量

建议性能优先

Last updated