檔案及目錄結構

2021-06-01 12:08:46 字數 3288 閱讀 9147

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埠號

1. group_name:所屬組名

3. status:狀態

4. sync_src_ip_addr:向該storage server同步已有資料檔案的源伺服器

5. sync_until_timestamp:同步已有資料檔案的截至

時間(unix時間戳)

6. stat.total_upload_count:上傳檔案次數

7. stat.success_upload_count:成功上傳檔案次數

8. stat.total_set_meta_count:更改meta data次數

9. stat.success_set_meta_count:成功更改meta data次數

10. stat.total_delete_count:刪除檔案次數

11. stat.success_delete_count:成功刪除檔案次數

14. stat.total_get_meta_count:獲取meta data次數

15. stat.success_get_meta_count:成功獲取meta data次數

16. stat.last_source_update:最近一次源頭更新時間(更新操作來自客戶端)

17. stat.last_sync_update:最近一次同步更新時間(更新操作來自其他storage server的同步)

二、storage server

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時間戳)

storage_stat.dat檔案格式為ini配置檔案方式,各個引數如下:

# total_upload_count:上傳檔案次數

# success_upload_count:成功上傳檔案次數

# total_set_meta_count:更改meta data次數

# success_set_meta_count:成功更改meta data次數

# total_delete_count:刪除檔案次數

# success_delete_count:成功刪除檔案次數

# total_get_meta_count:獲取meta data次數

# success_get_meta_count:成功獲取meta data次數

# last_source_update:最近一次源頭更新時間(更新操作來自客戶端)

# last_sync_update:最近一次同步更新時間(更新操作來自其他storage server)

binlog.index中只有乙個資料項:當前binlog的檔案索引號

binlog.###,###為索引號對應的3位十進位制字元,不足三位,前面補0。索引號基於0,最大為999。乙個binlog檔案最大為1gb。記錄之間以換行符(\n)分隔,字段之間以西文空格分隔。字段依次為:

1. timestamp:更新發生時間(unix時間戳)

2. op_type:操作型別,乙個字元

3. filename:操作(更新)的檔名,包括相對路徑,如:5a/3d/vkq-ckpwmo0aaaaaakqtjj0eiic6891.a

$_$.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記錄數

資料檔名由

系統自動生成,包括5部分:儲存伺服器ip位址、當前時間(unix時間戳)、檔案大小(位元組數)、隨機數和檔案字尾。檔名長度為33位元組。檔案可以按目錄順序存放,也可以按照pjw hash演算法hash到65536(256*256)個目錄中分散儲存,通過配置檔案控制。

FastDFS HOWTO 檔案及目錄結構

fastdfs伺服器端執行時目錄結構如下 data 存放資料檔案 logs 存放日誌檔案 其中,由配置檔案中的引數 base path 設定。一 tracker server tracker server目錄及檔案結構 data storage groups.dat 儲存分組資訊 storage s...

Linux 目錄結構及檔案

在 windows 平台下,開啟 計算機 我們看到的是乙個個的碟符 在 linux 下,我們是看不到這些碟符,我們看到的是資料夾 目錄 在早期的 unix 系統中,各個廠家各自定義了自己的 unix 系統檔案目錄,比較混亂。linux 面世不久後,對檔案目錄進行了標準化,於1994年對根檔案目錄做了...

檔案及Linux目錄結構

什麼是檔案 在linux系統上,所有的資源都是檔案,linux系統下的檔案型別包括 普通檔案 僅僅就是位元組序列,linux並沒有對其內容規定任何結構。普通檔案可以是任何檔案,linux不會區別對待這些檔案,只有處理這些檔案的應用程式才會根據檔案的內容為它們賦予相應的含義。在doc和windows環...