分布式儲存系統FastDFS系統伺服器端目錄結構

2021-07-10 03:42:54 字數 2140 閱讀 9098

伺服器端目錄結構

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 進行寫操作 ...