filestore 配置参考

filestoredebugomapcheck
描述:打开对同步检查过程的调试。代价很高,仅用于调试。
类型:Boolean
是否必需:No
默认值:0

扩展属性

扩展属性( XATTR )是配置里的重要部分。一些文件系统对 XATTR 字节数有限制,另外在某些情况下文件系统存储 XATTR 的速度不如其他方法。下面的选项让你用独立于文件系统的存储方法,或许能提升性能。

Ceph 扩展属性用底层文件系统的 XATTR (如果没有尺寸限制)存储为 inlinexattr 。如果有限制,如 ext4 限制为 4KB ,达到 filestoremaxinlinexattrsizefilestoremaxinlinexattrs 阀值时一些 XATTR 将存储为键/值数据库(也叫 omap )。

filestorexattruseomap
描述:用 XATTR 存储对象图,采用 ext4 文件系统时要设置为 true
类型:Boolean
是否必需:No
默认值:false
filestoremaxinlinexattrsize
描述:每个对象在文件系统(如 XFS 、 btrfs 、 ext4 等)里存储的 XATTR 最大尺寸,应该小于文件系统支持的尺寸。
类型:Unsigned 32-bit Integer
是否必需:No
默认值:512
filestoremaxinlinexattrs
描述:每个对象存储在文件系统里的 XATTR 数量。
类型:32-bit Integer
是否必需:No
默认值:2

同步间隔

filestore 需要周期性地静默写入、同步文件系统,这创建了一个提交点,然后就能释放相应的日志条目了。较大的同步频率可减小执行同步的时间及保存在日志里的数据量;较小的频率使得后端的文件系统能优化归并较小的数据和元数据写入,因此可能使同步更有效。

filestoremaxsyncinterval
描述:同步 filestore 的最大间隔秒数。
类型:Double
是否必需:No
默认值:5
filestoreminsyncinterval
描述:同步 filestore 的最小间隔秒数。
类型:Double
是否必需:No
默认值:.01

回写器

filestore 回写器强制使用 syncfilerange 来写出大块数据,这样处理有望减小最终同步的代价。实践中,禁用“ filestore 回写器”有时候能提升性能。

filestoreflusher
描述:启用 filestore 回写器。
类型:Boolean
是否必需:No
默认值:false

Deprecated since version v.65.

filestoreflushermaxfds
描述:设置回写器的最大文件描述符数量。
类型:Integer
是否必需:No
默认值:512

Deprecated since version v.65.

filestoresyncflush
描述:启用同步回写器。
类型:Boolean
是否必需:No
默认值:false

Deprecated since version v.65.

filestorefsyncflushesjournaldata
描述:文件系统同步时也回写日志数据。
类型:Boolean
是否必需:No
默认值:false

队列

下面的选项能限制 filestore 队列的尺寸。

filestorequeuemaxops
描述:文件存储操作接受的最大并发数,超过此设置的请求会被阻塞。
类型:Integer
是否必需:无。对性能影响最小。
默认值:500
filestorequeuemaxbytes
描述:一个操作的最大字节数。
类型:Integer
是否必需:No
默认值:100<<20
filestorequeuecommittingmaxops
描述:filestore 能提交的最大操作数。
类型:Integer
是否必需:No
默认值:500
filestorequeuecommittingmaxbytes
描述:filestore 器能提交的最大字节数。
类型:Integer
是否必需:No
默认值:100<<20

超时选项

filestoreopthreads
描述:允许并行操作文件系统的最大线程数。
类型:Integer
是否必需:No
默认值:2
filestoreopthreadtimeout
描述:文件系统操作线程超时值,单位为秒。
类型:Integer
是否必需:No
默认值:60
filestoreopthreadsuicidetimeout
描述:提交操作超时值(秒),超时后会取消。
类型:Integer
是否必需:No
默认值:180

B-Tree 文件系统

filestorebtrfssnap
描述:btrfs filestore 启用快照功能。
类型:Boolean
是否必需:不。仅适用于 btrfs
默认值:true
filestorebtrfsclonerange
描述:允许 btrfs filestore 克隆操作排队。
类型:Boolean
是否必需:不。仅适用于 btrfs
默认值:true

日志

filestorejournalparallel
描述:允许并行记日志,对 btrfs 默认开。
类型:Boolean
是否必需:No
默认值:false
filestorejournalwriteahead
描述:允许预写日志,对 xfs 默认开。
类型:Boolean
是否必需:No
默认值:false
filestorejournaltrailing
描述:过时了,从没用过。
类型:Boolean
是否必需:No
默认值:false

杂项

filestoremergethreshold
描述:并入父目录前,子目录内的最小文件数。注:负值表示禁用子目录合并功能。
类型:Integer
是否必需:No
默认值:10
filestoresplitmultiple
描述:filestore_split_multipleabs(filestore_merge_threshold)16是分割为子目录前某目录内的最大文件数。
类型:Integer
是否必需:No
默认值:2
filestoreupdateto
描述:限制 filestore 自动更新到某个指定版本。
类型:Integer
是否必需:No
默认值:1000
filestoreblackhole
描述:丢弃任何讨论中的事务。
类型:Boolean
是否必需:No
默认值:false
filestoredumpfile
描述:存储事务转储目的文件。
类型:Boolean
是否必需:No
默认值:false
filestorekillat
描述:在第 N 次机会后注入一个失效。
类型:String
是否必需:No
默认值:false
filestorefaileio
描述:在 IO 错误的时候失败或崩溃。
类型:Boolean
是否必需:No
默认值:true