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

相關文章
相關標籤/搜索