FastDFS HOWTO 檔案及目錄結構

2021-04-20 07:07:22 字數 3200 閱讀 2332

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/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)個目錄中分散儲存。

python 檔案指標及檔案覆蓋

1 檔案純淨模式延伸 r t 可讀 可寫 w t 可寫 可讀 with open b.txt w t encoding utf 8 as f print f.readable print f.writable a t 可追加寫 可讀 2 控制檔案指標移動 方法 f.seek offset,whenc...

SQL使用檔案及檔案組

功能說明 下面的 是在sql server 2000上建立名為 mydb 的資料庫 該資料庫包括1個主要資料檔案 3個使用者定義的檔案組和1個日誌檔案 alter database語句將使用者定義檔案組指定為預設檔案組。之後,通過指預設的檔案組來建立表,並且將影象資料和索引放到指定的檔案組中。最後,...

檔案及目錄結構

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