同步机制的问题
问下作者,同组存储之间的同步是文件级的还是块级的?
有没有同步机制的介绍?
我碰到过一种情况,网站会产生很多碎文件,几百万,而他们采用rsync来同步存储服务器和备份服务器上的数据,rsync每隔一段时间比较文件,如果文件数目很多,这个过程就会很长,有时会超过时间间隔(timeout),这样上次比较未完成,又产生新的文件比较,同步过程,CPU负载会出现居高不下的情况。我当时的建议是采用DRBD来进行远程数据同步。
不知道fastdfs是如何同步的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
回复 5# niko_zju
针对的是整个文件。FastDFS不支持文件分块存储和同步。
继续探讨 :)
增量是块级别的么?
比如说,如果一个文件有100G,我用dd 修改其中几个block的数据,同步时时同步整个文件还是这几个块?
回复 2# alohadc
Q1:
tracker_check_dirty这个函数里面 pClientInfo->pGroup->dirty的这个参数是指配置文件的指
1.conf文件里面的disabled吗?
A1:不是的。这个dirty表示pGroup已经是dirty状态,系统已经重新分配了group entry。
Q2:
pClientInfo->pStorage->ref_count
pClientInfo->pGroup->ref_count
2.这两个ref_count具体是指什么呢?
A2:ref_count是引用计数器。
Q3:
3. 1.1版本的 tracker_deal_service_query_storage在这个函数里,我没发现fastdfs是如何做均衡负载策略的(取存储空间最大的那一group来存储),没有比较每个group当前的剩余容量?
A3:在storage server向tracker server报告磁盘剩余空间时,在tracker对该命令的处理中,找出剩余空间最大的group。
FastDFS没有对文件进行分块存储,所以对文件同步是文件级别的。
FastDFS同步机制参见帖子:
http://linux.chinaunix.net/bbs/thread-1062527-1-1.html
FastDFS对所有更新操作都记录到binlog中,然后根据binlog进行同步。系统会记录已经同步到的文件位置,同步完全是增量方式的。
本帖最后由 alohadc 于 2010-04-30 17:37 编辑
搭车问
tracker_check_dirty这个函数里面 pClientInfo->pGroup->dirty的这个参数是指配置文件的指
1.conf文件里面的disabled吗?
pClientInfo->pStorage->ref_count
pClientInfo->pGroup->ref_count
2.这两个ref_count具体是指什么呢?
3. 1.1版本的 tracker_deal_service_query_storage在这个函数里,我没发现fastdfs是如何做均衡负载策略的(取存储空间最大的那一group来存储),没有比较每个group当前的剩余容量?
谢谢余老师