Rsync和FastDFS

在作分布式文件存储的时候,经常用到两个工具,Rsync和FastDFS;这二者本质的区别在于前者的实时性相面相对较差,须要手工编写脚本同步,而后在放到定时任务(cron)中;FastDFS自动实现同组内机器互备; 安全

Rsync架构

Rsync分为客户端和服务器端,客户端主要负责和服务器通讯,获取最新的文件;这里的机制和FastDFS有区别,由于没有实时性,因此Rsync在同步的时候,会将服务器端全部的文件都比对一遍,发现有变化才会将变化的文件同步过来,若是添加了—delete指令,还会将服务器端删除的文件在客户端也删除;FastDFS由于是实时同步的,因此只要有变化,便会通知各个组内的服务器进行同步,因此他的更新机制不是逐个比对,同步的效率会更高; 服务器

客户端只有一个配置文件:rsyncd.secrets(文件名和路径能够自定义,由于是须要客户端执行的时候做为参数传递的),这个配置文件配置了登陆的密码(只有密码),用户名是在指定的时候经过参数指定的; 架构

服务器端有三个配置文件: tcp

  1. Rsyncd.conf:核心的配置文件,这里面配置了监听的ip以及port,allow/deny host(客户端IP),log info,file block(提供同步的文件信息)以及ref files info(下面将要提到的security以及motd文件);
  2. Rsyncd.security:里面定义了user/pwd键值对,用于验证链接的客户端身份;能够定义多个;
  3. Rsync.motd:这个文件就是定义客户端链接服务器端的时候,显示的友好文字,能够清空或者自定义一些文字;

有一点须要注意,就是须要服务器点打开873端口(默认Rsync监听端口) 分布式

iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT 工具

FastDFS

FastDFS是我国的淘宝工程师开发的,是属于轻量级的分布式文件系统;实现物理存储的水平扩展,他和HDFS最大的差异在于并不会对文件进行切割(切片存储),因此比较适用于小文件的存储;FastDFS里面有两个核心组件:Tracker Server以及Storage Server,前者用于记录文件索引,后者用于存储文件;tracker server和storeage Server是松散耦合,若是是扩容物理存储,只要增长一台机器,配置称为storage Server,指向一台Tracker server,Tracker Server就会记录新增容的服务器;由于storage将会根据配置的tracker ip以及端口,向Tracker服务器发送通知,I'm in! spa

一个storage server里面能够包含N个Group,每一个Group里面能够包含N个Storage,每一个Storage都是一个存储空间,同一个组内的Storage是互相备份关系,上面也提到了,是那种增量式的备份;一个新的storage首次和tracker通讯: server

  1. tracker首先会将storage Server List同步给new storage,而后在给其余old storage发送最新的列表,这样完成了新列表全group内通知,并设置new storage状态为FDFS_STORAGE_STATUS_INIT
  2. 接着,tracker将会指定一个old Storage服务器与之同步,并同时这是new storage状态为FDFS_STORAGE_STATUS_WAIT_SYNC(若是没有文件须要更新,设置为FDFS_STORAGE_STATUS_ONLINE),一次性将全部的文件同步到new storage上面,同步完毕后,状态将会设置为FDFS_STORAGE_STATUS_ONLINE
  3. 同步数据完毕后,new storage首次发送心跳给tracker server的时候,tracker server会将其状态设置为FDFS_STORAGE_STATUS_ACTIVE;
  4. 一个Group的存储空间是这一组机器中存储容量最小的那台机器;访问流程是客户端配置为访问一台Tracker,有这台Tracker来负责跟进文件名来肯定分配那一台机器给客户单使用,客户端再向返回的storage server发送文件请求;可是安全性须要考虑;

当你须要获取/上传一个文件的时候,首先和tracker进行通讯(上传不须要参数,下载须要提供文件名称,这个文件名称是当初上传的时候有FastDFS生成的),tracker中选择一个可用的storage返回,而后你在和这个storage服务器通讯获取文件。blog

相关文章
相关标签/搜索