fastdfs-合并存储trunk

本文详细介绍了FastDFS的合并存储(trunk)功能,包括trunk配置、实现原理、判断配置是否生效的方法以及开启关闭trunk模式对老数据的影响。重点探讨了trunk文件内部结构和数据存储流程,强调了TrunkServer在处理冲突中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、关于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排重效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值