文章目录
一、关于fastdfs 合并存储
• 合并存储是指将多个小文件存储到一个较大的文件(trunk file)中,这个trunk file的文件大小是固定的,比如64MB。
• 小于一定size的文件才合并存储到trunk file中,否则在文件系统创建一个独立的文件来存储
• 海量小文件带来的挑战:
—文件系统inode面临不够的风险
—文件系统定位文件的效率急剧下降
• 合并存储可以有效地解决上面的两个问题,解决海量小文件的存储和访问问题。
• 小文件合并存储是业界普遍采用的做法。
二、fastdfs 合并存储trunk配置
配置参数都在tracker.conf里
• 所有参数均在tracker.conf中配置,storage server启动的时候,从tracker server上获取
• 修改了合并存储相关参数后,需要先重启tracker server,然后再重启storage server
主要关注配置参数:
#默认false 这里改成true
use_trunk_file = true
#trunk文件最小分配单元 默认就是256KB
slot_min_size = 256
#trunk内部存储的最大文件,超过该值会被独立存储
slot_max_size = 16MB
#trunk文件大小
trunk_file_size = 64MB
use_trunk_file = false#是否启用trunk存储
slot_min_size = 256#trunk文件最小分配单元
slot_max_size = 16MB#trunk内部存储的最大文件,超过该值会被独立存储
trunk_file_size = 64MB#trunk文件大小
trunk_create_file_advance = false#是否预先创建trunk文件
trunk_create_file_time_base = 02:00#预先创建trunk文件的基准时间
trunk_create_file_interval = 86400#预先创建trunk文件的时间间隔
trunk_create_file_space_threshold = 20G#trunk创建文件的最大空闲空间
trunk_init_check_occupying = false#启动时是否检查每个空闲空间列表项已经被使用
trunk_init_reload_from_binlog = false#是否纯粹从trunk-binlog重建空闲空间列表
trunk_compress_binlog_min_interval = 0#对trunk-binlog进行压缩的时间间隔
合并存储的文件会在data/00/00/ 下从000001 文件开始,合并存储的文件不会产生新的文件,所以根据返回的文件ID,在存储目录下是找不到对应的文件的。合并存储并不影响fastdht排重效果。