Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1106488
  • 博文数量: 143
  • 博客积分: 969
  • 博客等级: 准尉
  • 技术积分: 1765
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-30 12:09
文章分类

全部博文(143)

文章存档

2023年(4)

2021年(2)

2020年(4)

2019年(4)

2018年(33)

2017年(6)

2016年(13)

2014年(7)

2013年(23)

2012年(33)

2011年(14)

我的朋友

分类: 服务器与存储

2020-06-05 23:35:04

  FastDFS 同一组内的storage server之间是对等的,文件上传、删除等操作可以在任意一台storage server上进行。文件同步只在同组内的storage server之间进行,采用push方式,即源服务器同步给目标服务器,源服务器读取binlog文件,将文件内容解析后,按操作命令发送给目标服务器,有目标服务按命令进行操作。
  以文件上传为例,假设一个组内有3台storage server A、B和C,文件F上传到服务器B,由B将文件F同步到其余的两台服务器A和C。我们不妨把文件F上传到服务器B的操作为源头操作,在服务器B上的F文件为源头数据;文件F被同步到服务器A和C的操作为备份操作,在A和C上的F文件为备份数据。
  服务器处理文件在操作的时候会写binlog文件,格式: 时间戳,操作类型,文件名
示例如下:
1490251373    C M02/52/CB/CtAqWVjTbm2AIqTkAAACd_nIZ7M797.jpg
1490251373 表示时间戳
C   表示操作类型
M02/52/CB/CtAqWVjTbm2AIqTkAAACd_nIZ7M797.jpg  文件名
binlog文件在 $basepath/data/sync 目录下:
binlog.index : 记录了当前写binlog的索引id。
binlog.001: binglog文件,文件大小最大1G,超过1G,会重新写下个文件,同时更新binlog.index  文件中索引值。
192.168.0.1_23000.mark  :记录了同步信息,文件名由同步源IP_端口组成。
binlog_index=1   //binlog索引id
binlog_offset=528253386  //当前时间binlog 大小
need_sync_old=1  //是否需要同步老数据
sync_old_done=1  //是否同步完成
until_timestamp=1480305224 //
scan_row_count=27620682 //扫描记录数
sync_row_count=14182877   //同步记录数
  同步规则总结:
   1. 只在本组内的storage server之间进行同步;
    2. 源头数据才需要同步,备份数据不需要再次同步,否则就构成环路了,源数据和备份数据区  分是用binlog的操作类型来区分,操作类型是大写字母,表示源数据,小写字母表示备份数据;
   3. 当先新增加一台storage server时,由已有的一台storage server将已有的所有数据(包括源头数据和备份数据)同步给该新增服务器。
该新增服务器
阅读(11003) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~