10 使用合并文件存储trunk_file

一、配置参数

合并文件存储相关的配置都在tracker.conf中。配置完成后,重启tracker和storage server。

1、use_trunk_file :是否使用合并存储,缺省关闭。

2、slot_min_size:为一个小文件分配的最小空间,缺省256字节。即使你上传的文件只有0字节,也会分配这么多空间。

3、slot_max_size:使用合并存储的最大文件大小,缺省为16MB,超过这个size的文件,不会存储到trunk file中,而是作为一个单独的文件直接存储到文件系统中。

4、 trunk_file_size:trunk file大小,缺省为64MB。不要配置得过大或者过小,最好不要超过256MB。

5、trunk_create_file_advance:是否提前创建trunk file,缺省关闭。

6、trunk_create_file_time_base:提前创建trunk file的时间点,比如可以指定半夜02:00创建

7、trunk_create_file_interval:提前创建trunk file的时间间隔,单位为秒。如果一天创建一次,可以设置为86400。

8、trunk_create_file_space_threshold:创建trunk file需要达到的可用空间大小。如果空闲的trunk file空间大于本参数,则不会提前创建。

9、trunk_init_check_occupying:trunk server初始化加载空闲blocks时,是否检查对应trunk file,看这个block是否已被占用。缺省为false。启用了本参数,trunk server初始化时间将大大延长。除非必要,请不要打开本选项。

10、trunk_init_reload_from_binlog:忽略快照文件,只从trunk binlog中加载空闲block。缺省为false。只要当从v3.10以下版本升级到v3.10以上版本时,可能才需要打开本选项。


二、原理

1、storage server内置trunk manager的功能,在storage server上对trunk file可用区块进行管理。在一个时间点,一个group只有一台storage server提供管理和查询服务,简称trunk manager。该group的其余storage server作为备机,只接收binlog。
如何做到一个group只有一台storage server提供trunk管理服务,这个由tracker server统一协调完成。如果承担trunk manager那台storage server挂了,本组其余的一台storage server会自动升级为trunk manager,接替其工作。

2、trunk manager将trunk相关数据,全部存放到内存中管理。当storage server要存储一个小于阀值的文件(也就是小文件)时,先询问trunk manager,trunk manager返回存储到的trunk file文件名,以及存储起始的偏移量。当storage server成功完成文件存储后,向trunk manager报告。如果报告失败,则文件上传当失败处理。

3、trunk manager管理方案说明:
trunk manager将trunk相关数据,全部存放到内存中管理。对于trunk更新操作(包括增加和删除两种),会记录到单独的binlog文件中,有专门的线程(trunk_sync_thread_start创建该线程)将binlog文件同步给本组的其他storage server。为了节约内存空间,trunk file文件名,会单独存放。trunk file可用空间链表中,trunk filename采用指针方式指向。

当storage server向trunk manager请求分配文件空间时,trunk manager会先在内存中扫描有没有满足条件的可用trunk,如果有,那么直接返回。否则,一个创建trunk file,然后将新的trunk file记录到binlog和内存中,并完成分配

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值