伺服器端目錄結構
fastdfs伺服器端執行時目錄結構如下:
$|__data:存放資料檔案
|__logs:存放日誌檔案
其中,$由配置檔案中的引數「base_path」設定。
tracker server結構
tracker server目錄及檔案結構:
$|__data
| |__storage_groups.dat:儲存分組資訊
| |__storage_servers.dat:儲存伺服器列表
|__logs
|__trackerd.log:tracker server日誌檔案
資料檔案storage_groups.dat和storage_servers.dat中的記錄之間以換行符(\n)分隔,字段之間以西文逗號(,)分隔。
storage_groups.dat中的字段依次為:
(1) group_name:組名
(2) storage_port:storage server埠號
storage_servers.dat
storage server目錄及檔案結構:
$|__data
| |__.data_init_flag:當前storage server初始化資訊
| |__storage_stat.dat:當前storage server統計資訊
| | |__binlog.index:當前的binlog(更新操作日誌)檔案索引號
| | |__binlog.###:存放更新操作記錄(日誌)
| | |__$_$.mark:存放向目標伺服器同步的完成情況
| |
| |__一級目錄:256個存放資料檔案的目錄,目錄名為十六進製制字元,如:00, 1f
| |__二級目錄:256個存放資料檔案的目錄,目錄名為十六進製制字元,如:0a, cf
|__logs
|__storaged.log:storage server日誌檔案
.data_init_flag檔案格式為ini配置檔案方式,各個引數如下:
# storage_join_time:本storage server建立時間;
# sync_old_done:本storage server是否已完成同步的標誌(源伺服器向本伺服器同步已有資料);
# sync_until_timestamp:同步已有資料檔案截至時間(unix時間戳);
binlog.index中只有乙個資料項:當前binlog的檔案索引號
binlog.###,###為索引號對應的3位十進位制字元,不足三位,前面補0。索引號基於0,最大為999。乙個binlog檔案最大為1gb。記錄之間以換行符(\n)分隔,字段之間以西文空格分隔。字段依次為:
(1)timestamp:更新發生時間(unix時間戳)
(2)op_type:操作型別,乙個字元
(3)filename:操作(更新)的檔名,包括相對路徑,如:5a/3d/fe_93_sjz7paaao_bxyd.s
$_$.mark:ip_addr為同步的目標伺服器ip位址,port為本組storage server埠。例如:10.0.0.1_23000.mark。檔案格式為ini配置檔案方式,各個引數如下:
# binlog_index:已處理(同步)到的binlog索引號
# binlog_offset:已處理(同步)到的binlog檔案偏移量(位元組數)
# need_sync_old:同步已有資料檔案標記,0表示沒有資料檔案需要同步
# sync_old_done:同步已有資料檔案是否完成標記,0表示未完成,1表示已完成
# until_timestamp:同步已有資料截至時間點(unix時間戳)
# scan_row_count:已掃瞄的binlog記錄數
# sync_row_count:已同步的binlog記錄數
資料檔名由系統自動生成,包括三部分:當前時間(unix時間戳)、檔案大小(位元組數)和隨機數。檔名長度為16位元組。檔案按照pjw hash演算法hash到65536(256*256,預設配置下)個目錄中分散儲存。
FastDFS分布式檔案儲存系統
負載均衡和排程,通過tracker server 在文上傳的時候可以根據一些策略找到storage server提供檔案上傳服務,可以將tracker 稱為追蹤伺服器或排程伺服器 檔案儲存,客戶端上傳的檔案最終儲存在storage 伺服器,storage server沒有實現自己的檔案系統而是利用作...
FastDFS分布式儲存檔案系統
本次模擬單節點tracker伺服器以及兩台storage伺服器,建立之前必須確保伺服器之間都能相互ping通以及關閉防火牆 或者開放tracker伺服器與storage伺服器中配置檔案裡涉及的埠 安裝gcc環境 yum install y gcc c 建立存放目錄並進入該目錄 mkdir p opt...
分布式檔案儲存 FastDFS
7 fastdfs 和其他檔案儲存的簡單對比 寫操作 客戶端先是訪問tracker伺服器,由tracker伺服器幫我們尋找要寫入的卷 volume 一對主從備份為乙個卷,裡面可以有多台伺服器 然後返回可操作的storage server,這時客戶端訪問返回的storage server 進行寫操作 ...