tracker.conf 和 storage.conf 詳解

首先是 tracker.conf

# is this config file disabled

# false for enabled

# true for disabled

disabled=false

# 這個(gè)配置文件是否不生效,呵呵(改成是否生效是不是會(huì)讓人感覺好點(diǎn)呢?) false 為生效(否則不生效) true反之

# bind an address of this host

# empty for bind all addresses of this host

bind_addr=

# 是否綁定IP,

# bind_addr= 后面為綁定的IP地址 (常用于服務(wù)器有多個(gè)IP但只希望一個(gè)IP提供服務(wù))。如果不填則表示所有的(一般不填就OK),相信較熟練的SA都常用到類似功能,很多系統(tǒng)和應(yīng)用都有

# the tracker server port

port=22122

# 提供服務(wù)的端口,不作過多解釋了

# connect timeout in seconds

# default value is 30s

connect_timeout=30

#連接超時(shí)時(shí)間,針對(duì)socket套接字函數(shù)connect

# network timeout in seconds

network_timeout=60

#??tracker server的網(wǎng)絡(luò)超時(shí),單位為秒。發(fā)送或接收數(shù)據(jù)時(shí),如果在超時(shí)時(shí)間后還不能發(fā)送或接收數(shù)據(jù),則本次網(wǎng)絡(luò)通信失敗。?

# the base path to store data and log files

base_path=/home/yuqing/fastdfs

# base_path 目錄地址(根目錄必須存在,子目錄會(huì)自動(dòng)創(chuàng)建)

# 附目錄說明:?

??tracker server目錄及文件結(jié)構(gòu):

??${base_path}

? ? |__data

? ? |? ???|__storage_groups.dat:存儲(chǔ)分組信息

? ? |? ???|__storage_servers.dat:存儲(chǔ)服務(wù)器列表

? ? |__logs

? ?? ?? ? |__trackerd.log:tracker server日志文件

數(shù)據(jù)文件storage_groups.dat和storage_servers.dat中的記錄之間以換行符(\n)分隔,字段之間以西文逗號(hào)(,)分隔。

storage_groups.dat中的字段依次為:

??1. group_name:組名

??2. storage_port:storage server端口號(hào)

storage_servers.dat中記錄storage server相關(guān)信息,字段依次為:

??1. group_name:所屬組名

??2. ip_addr:ip地址

??3. status:狀態(tài)

??4. sync_src_ip_addr:向該storage server同步已有數(shù)據(jù)文件的源服務(wù)器

??5. sync_until_timestamp:同步已有數(shù)據(jù)文件的截至?xí)r間(UNIX時(shí)間戳)

??6. stat.total_upload_count:上傳文件次數(shù)

??7. stat.success_upload_count:成功上傳文件次數(shù)

??8. stat.total_set_meta_count:更改meta data次數(shù)

??9. stat.success_set_meta_count:成功更改meta data次數(shù)

??10. stat.total_delete_count:刪除文件次數(shù)

??11. stat.success_delete_count:成功刪除文件次數(shù)

??12. stat.total_download_count:下載文件次數(shù)

??13. stat.success_download_count:成功下載文件次數(shù)

??14. stat.total_get_meta_count:獲取meta data次數(shù)

??15. stat.success_get_meta_count:成功獲取meta data次數(shù)

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

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

# max concurrent connections this server supported

# max_connections worker threads start when this service startup

max_connections=256

# 系統(tǒng)提供服務(wù)時(shí)的最大連接數(shù)。對(duì)于V1.x,因一個(gè)連接由一個(gè)線程服務(wù),也就是工作線程數(shù)。

# 對(duì)于V2.x,最大連接數(shù)和工作線程數(shù)沒有任何關(guān)系

# work thread count, should <= max_connections

# default value is 4

# since V2.00

# V2.0引入的這個(gè)參數(shù),工作線程數(shù),通常設(shè)置為CPU數(shù)

work_threads=4

# the method of selecting group to upload files

# 0: round robin

# 1: specify group

# 2: load balance, select the max free space group to upload file

store_lookup=2

# 上傳組(卷) 的方式 0:輪詢方式 1: 指定組 2: 平衡負(fù)載(選擇最大剩余空間的組(卷)上傳)

# 這里如果在應(yīng)用層指定了上傳到一個(gè)固定組,那么這個(gè)參數(shù)被繞過

# which group to upload file

# when store_lookup set to 1, must set store_group to the group name

store_group=group2

# 當(dāng)上一個(gè)參數(shù)設(shè)定為1 時(shí) (store_lookup=1,即指定組名時(shí)),必須設(shè)置本參數(shù)為系統(tǒng)中存在的一個(gè)組名。如果選擇其他的上傳方式,這個(gè)參數(shù)就沒有效了。

# which storage server to upload file

# 0: round robin (default)

# 1: the first server order by ip address

# 2: the first server order by priority (the minimal)

store_server=0

# 選擇哪個(gè)storage server 進(jìn)行上傳操作(一個(gè)文件被上傳后,這個(gè)storage server就相當(dāng)于這個(gè)文件的storage server源,會(huì)對(duì)同組的storage server推送這個(gè)文件達(dá)到同步效果)

# 0: 輪詢方式?

# 1: 根據(jù)ip 地址進(jìn)行排序選擇第一個(gè)服務(wù)器(IP地址最小者)

# 2: 根據(jù)優(yōu)先級(jí)進(jìn)行排序(上傳優(yōu)先級(jí)由storage server來設(shè)置,參數(shù)名為upload_priority)?

# which path(means disk or mount point) of the storage server to upload file

# 0: round robin

# 2: load balance, select the max free space path to upload file

store_path=0

# 選擇storage server 中的哪個(gè)目錄進(jìn)行上傳。storage server可以有多個(gè)存放文件的base path(可以理解為多個(gè)磁盤)。

# 0: 輪流方式,多個(gè)目錄依次存放文件

# 2: 選擇剩余空間最大的目錄存放文件(注意:剩余磁盤空間是動(dòng)態(tài)的,因此存儲(chǔ)到的目錄或磁盤可能也是變化的)

# which storage server to download file

# 0: round robin (default)

# 1: the source storage server which the current file uploaded to

download_server=0

# 選擇哪個(gè) storage server 作為下載服務(wù)器?

# 0: 輪詢方式,可以下載當(dāng)前文件的任一storage server

# 1: 哪個(gè)為源storage server 就用哪一個(gè) (前面說過了這個(gè)storage server源 是怎樣產(chǎn)生的) 就是之前上傳到哪個(gè)storage server服務(wù)器就是哪個(gè)了

# reserved storage space for system or other applications.

# if the free(available) space of any stoarge server in

# a group <= reserved_storage_space,

# no file can be uploaded to this group.

# bytes unit can be one of follows:

### G or g for gigabyte(GB)

### M or m for megabyte(MB)

### K or k for kilobyte(KB)

### no unit for byte(B)

### XX.XX% as ratio such as reserved_storage_space = 10%

reserved_storage_space = 10%

# storage server 上保留的空間,保證系統(tǒng)或其他應(yīng)用需求空間??梢杂媒^對(duì)值或者百分比(V4開始支持百分比方式)。

#(指出 如果同組的服務(wù)器的硬盤大小一樣,以最小的為準(zhǔn),也就是只要同組中有一臺(tái)服務(wù)器達(dá)到這個(gè)標(biāo)準(zhǔn)了,這個(gè)標(biāo)準(zhǔn)就生效,原因就是因?yàn)樗麄冞M(jìn)行備份)

#standard log level as syslog, case insensitive, value list:

### emerg for emergency

### alert

### crit for critical

### error

### warn for warning

### notice

### info

### debug

log_level=info

# 選擇日志級(jí)別(日志寫在哪?看前面的說明了,有目錄介紹哦 呵呵)

#unix group name to run this program,?

#not set (empty) means run by the group of current user

run_by_group=

# 操作系統(tǒng)運(yùn)行FastDFS的用戶組 (不填 就是當(dāng)前用戶組,哪個(gè)啟動(dòng)進(jìn)程就是哪個(gè))

#unix username to run this program,

#not set (empty) means run by current user

run_by_user=

# 操作系統(tǒng)運(yùn)行FastDFS的用戶 (不填 就是當(dāng)前用戶,哪個(gè)啟動(dòng)進(jìn)程就是哪個(gè))

# allow_hosts can ocur more than once, host can be hostname or ip address,

# "*" means match all ip addresses, can use range like this: 10.0.1.[1-15,20] or

# host[01-08,20-25].domain.com, for example:

# allow_hosts=10.0.1.[1-15,20]

# allow_hosts=host[01-08,20-25].domain.com

allow_hosts=*

# 可以連接到此 tracker server 的ip范圍(對(duì)所有類型的連接都有影響,包括客戶端,storage server)

# sync log buff to disk every interval seconds

# default value is 10 seconds

sync_log_buff_interval = 10

# 同步或刷新日志信息到硬盤的時(shí)間間隔,單位為秒

# 注意:tracker server 的日志不是時(shí)時(shí)寫硬盤的,而是先寫內(nèi)存。

# check storage server alive interval

check_active_interval = 120

# 檢測 storage server 存活的時(shí)間隔,單位為秒。

#

storage server定期向tracker server 發(fā)心跳,如果tracker

server在一個(gè)check_active_interval內(nèi)還沒有收到storage server的一次心跳,那邊將認(rèn)為該storage

server已經(jīng)下線。所以本參數(shù)值必須大于storage server配置的心跳時(shí)間間隔。通常配置為storage

server心跳時(shí)間間隔的2倍或3倍。

# thread stack size, should > 512KB

# default value is 1MB

thread_stack_size=1MB

# 線程棧的大小。FastDFS server端采用了線程方式。更正一下,tracker server線程棧不應(yīng)小于64KB,不是512KB。

# 線程棧越大,一個(gè)線程占用的系統(tǒng)資源就越多。如果要啟動(dòng)更多的線程(V1.x對(duì)應(yīng)的參數(shù)為max_connections,

V2.0為work_threads),可以適當(dāng)降低本參數(shù)值。

# auto adjust when the ip address of the storage server changed

# default value is true

storage_ip_changed_auto_adjust=true

# 這個(gè)參數(shù)控制當(dāng)storage server IP地址改變時(shí),集群是否自動(dòng)調(diào)整。注:只有在storage server進(jìn)程重啟時(shí)才完成自動(dòng)調(diào)整。

# storage sync file max delay seconds

# default value is 86400 seconds (one day)

# since V2.00

storage_sync_file_max_delay = 86400

# V2.0引入的參數(shù)。存儲(chǔ)服務(wù)器之間同步文件的最大延遲時(shí)間,缺省為1天。根據(jù)實(shí)際情況進(jìn)行調(diào)整

# 注:本參數(shù)并不影響文件同步過程。本參數(shù)僅在下載文件時(shí),判斷文件是否已經(jīng)被同步完成的一個(gè)閥值(經(jīng)驗(yàn)值)

# the max time of storage sync a file

# default value is 300 seconds

# since V2.00

storage_sync_file_max_time = 300

# V2.0引入的參數(shù)。存儲(chǔ)服務(wù)器同步一個(gè)文件需要消耗的最大時(shí)間,缺省為300s,即5分鐘。

# 注:本參數(shù)并不影響文件同步過程。本參數(shù)僅在下載文件時(shí),作為判斷當(dāng)前文件是否被同步完成的一個(gè)閥值(經(jīng)驗(yàn)值)

# if use a trunk file to store several small files

# default value is false

# since V3.00

use_trunk_file = false

# V3.0引入的參數(shù)。是否使用小文件合并存儲(chǔ)特性,缺省是關(guān)閉的。

# the min slot size, should <= 4KB

# default value is 256 bytes

# since V3.00

slot_min_size = 256

# V3.0引入的參數(shù)。

# trunk file分配的最小字節(jié)數(shù)。比如文件只有16個(gè)字節(jié),系統(tǒng)也會(huì)分配slot_min_size個(gè)字節(jié)。

# the max slot size, should > slot_min_size

# store the upload file to trunk file when it's size <=??this value

# default value is 16MB

# since V3.00

slot_max_size = 16MB

# V3.0引入的參數(shù)。

# 只有文件大小<=這個(gè)參數(shù)值的文件,才會(huì)合并存儲(chǔ)。如果一個(gè)文件的大小大于這個(gè)參數(shù)值,將直接保存到一個(gè)文件中(即不采用合并存儲(chǔ)方式)。

# the trunk file size, should >= 4MB

# default value is 64MB

# since V3.00

trunk_file_size = 64MB

# V3.0引入的參數(shù)。

# 合并存儲(chǔ)的trunk file大小,至少4MB,缺省值是64MB。不建議設(shè)置得過大。

# if create trunk file advancely

# default value is false

trunk_create_file_advance = false

# 是否提前創(chuàng)建trunk file。只有當(dāng)這個(gè)參數(shù)為true,下面3個(gè)以trunk_create_file_打頭的參數(shù)才有效。

# the time base to create trunk file

# the time format: HH:MM

# default value is 02:00

trunk_create_file_time_base = 02:00

# 提前創(chuàng)建trunk file的起始時(shí)間點(diǎn)(基準(zhǔn)時(shí)間),02:00表示第一次創(chuàng)建的時(shí)間點(diǎn)是凌晨2點(diǎn)。

# the interval of create trunk file, unit: second

# default value is 38400 (one day)

trunk_create_file_interval = 86400

# 創(chuàng)建trunk file的時(shí)間間隔,單位為秒。如果每天只提前創(chuàng)建一次,則設(shè)置為86400

# the threshold to create trunk file

# when the free trunk file size less than the threshold, will create?

# the trunk files

# default value is 0

trunk_create_file_space_threshold = 20G

# 提前創(chuàng)建trunk file時(shí),需要達(dá)到的空閑trunk大小

# 比如本參數(shù)為20G,而當(dāng)前空閑trunk為4GB,那么只需要?jiǎng)?chuàng)建16GB的trunk file即可。

# if check trunk space occupying when loading trunk free spaces

# the occupied spaces will be ignored

# default value is false

# since V3.09

# NOTICE: set this parameter to true will slow the loading of trunk spaces

# when startup. you should set this parameter to true when neccessary.

trunk_init_check_occupying = false

#trunk初始化時(shí),是否檢查可用空間是否被占用

# if ignore storage_trunk.dat, reload from trunk binlog

# default value is false

# since V3.10

# set to true once for version upgrade when your version less than V3.10

trunk_init_reload_from_binlog = false

# 是否無條件從trunk binlog中加載trunk可用空間信息

# FastDFS缺省是從快照文件storage_trunk.dat中加載trunk可用空間,

# 該文件的第一行記錄的是trunk binlog的offset,然后從binlog的offset開始加載

# if use storage ID instead of IP address

# default value is false

# since V4.00

use_storage_id = false

# 是否使用server ID作為storage server標(biāo)識(shí)

# specify storage ids filename, can use relative or absolute path

# since V4.00

storage_ids_filename = storage_ids.conf

# use_storage_id 設(shè)置為true,才需要設(shè)置本參數(shù)

# 在文件中設(shè)置組名、server ID和對(duì)應(yīng)的IP地址,參見源碼目錄下的配置示例:conf/storage_ids.conf

# if store slave file use symbol link

# default value is false

# since V4.01

store_slave_file_use_link = false

# 存儲(chǔ)從文件是否采用symbol link(符號(hào)鏈接)方式

# 如果設(shè)置為true,一個(gè)從文件將占用兩個(gè)文件:原始文件及指向它的符號(hào)鏈接。

# if rotate the error log every day

# default value is false

# since V4.02

rotate_error_log = false

# 是否定期輪轉(zhuǎn)error log,目前僅支持一天輪轉(zhuǎn)一次

# rotate error log time base, time format: Hour:Minute

# Hour from 0 to 23, Minute from 0 to 59

# default value is 00:00

# since V4.02

error_log_rotate_time=00:00

# error log定期輪轉(zhuǎn)的時(shí)間點(diǎn),只有當(dāng)rotate_error_log設(shè)置為true時(shí)有效

# rotate error log when the log file exceeds this size

# 0 means never rotates log file by log file size

# default value is 0

# since V4.02

rotate_error_log_size = 0

# error log按大小輪轉(zhuǎn)

# 設(shè)置為0表示不按文件大小輪轉(zhuǎn),否則當(dāng)error log達(dá)到該大小,就會(huì)輪轉(zhuǎn)到新文件中

# 以下是關(guān)于http的設(shè)置了 默認(rèn)編譯是不生效的 要求更改 #WITH_HTTPD=1 將 注釋#去掉 再編譯

# 關(guān)于http的應(yīng)用 說實(shí)話 不是很了解 沒有見到 相關(guān)說明 ,望 版主可以完善一下 以下是字面解釋了

#HTTP settings

http.disabled=false? ?# HTTP服務(wù)是否不生效?

http.server_port=8080??# HTTP服務(wù)端口

#use "#include" directive to include http other settiongs

##include http.conf??# 如果加載http.conf的配置文件 去掉第一個(gè)#

哈哈 完成了一個(gè) 下面是 storage.conf

# is this config file disabled

# false for enabled

# true for disabled

disabled=false??

#同上文了 就不多說了

# the name of the group this storage server belongs to

group_name=group1

# 指定 此 storage server 所在 組(卷)

# bind an address of this host

# empty for bind all addresses of this host

bind_addr=

# 同上文

# if bind an address of this host when connect to other servers?

# (this storage server as a client)

# true for binding the address configed by above parameter: "bind_addr"

# false for binding any address of this host

client_bind=true

# bind_addr通常是針對(duì)server的。當(dāng)指定bind_addr時(shí),本參數(shù)才有效。

# 本storage server作為client連接其他服務(wù)器(如tracker server、其他storage server),是否綁定bind_addr。

# the storage server port

port=23000

#??storage server服務(wù)端口

# connect timeout in seconds

# default value is 30s

connect_timeout=30

#連接超時(shí)時(shí)間,針對(duì)socket套接字函數(shù)connect

# network timeout in seconds

network_timeout=60

#??storage server 網(wǎng)絡(luò)超時(shí)時(shí)間,單位為秒。發(fā)送或接收數(shù)據(jù)時(shí),如果在超時(shí)時(shí)間后還不能發(fā)送或接收數(shù)據(jù),則本次網(wǎng)絡(luò)通信失敗。

# heart beat interval in seconds

heart_beat_interval=30

# 心跳間隔時(shí)間,單位為秒 (這里是指主動(dòng)向tracker server?發(fā)送心跳)

# disk usage report interval in seconds

stat_report_interval=60

# storage server向tracker server報(bào)告磁盤剩余空間的時(shí)間間隔,單位為秒。

# the base path to store data and log files

base_path=/home/yuqing/fastdfs

# base_path 目錄地址,根目錄必須存在??子目錄會(huì)自動(dòng)生成 (注 :這里不是上傳的文件存放的地址,之前是的,在某個(gè)版本后更改了)

# 目錄結(jié)構(gòu) 因?yàn)?版主沒有更新到 論談上 這里就不發(fā)了 大家可以看一下置頂貼:

# max concurrent connections server supported

# max_connections worker threads start when this service startup

max_connections=256

# 同上文

# work thread count, should <= max_connections

# default value is 4

# since V2.00

# V2.0引入的這個(gè)參數(shù),工作線程數(shù),通常設(shè)置為CPU數(shù)

work_threads=4

# the buff size to recv / send data

# default value is 64KB

# since V2.00

buff_size = 256KB

# V2.0引入本參數(shù)。設(shè)置隊(duì)列結(jié)點(diǎn)的buffer大小。工作隊(duì)列消耗的內(nèi)存大小 = buff_size * max_connections

# 設(shè)置得大一些,系統(tǒng)整體性能會(huì)有所提升。

# 消耗的內(nèi)存請(qǐng)不要超過系統(tǒng)物理內(nèi)存大小。另外,對(duì)于32位系統(tǒng),請(qǐng)注意使用到的內(nèi)存不要超過3GB

# if read / write file directly

# if set to true, open file will add the O_DIRECT flag to avoid file caching

# by the file system. be careful to set this parameter.

# default value is false

disk_rw_direct = false

# V2.09引入本參數(shù)。設(shè)置為true,表示不使用操作系統(tǒng)的文件內(nèi)容緩沖特性。

# 如果文件數(shù)量很多,且訪問很分散,可以考慮將本參數(shù)設(shè)置為true

# if disk read / write separated

##??false for mixed read and write

##??true for separated read and write

# default value is true

# since V2.00

disk_rw_separated = true

# V2.0引入本參數(shù)。磁盤IO讀寫是否分離,缺省是分離的。

# disk reader thread count per store base path

# for mixed read / write, this parameter can be 0

# default value is 1

# since V2.00

disk_reader_threads = 1

# V2.0引入本參數(shù)。針對(duì)單個(gè)存儲(chǔ)路徑的讀線程數(shù),缺省值為1。

# 讀寫分離時(shí),系統(tǒng)中的讀線程數(shù) = disk_reader_threads * store_path_count

# 讀寫混合時(shí),系統(tǒng)中的讀寫線程數(shù) = (disk_reader_threads + disk_writer_threads) * store_path_count

# disk writer thread count per store base path

# for mixed read / write, this parameter can be 0

# default value is 1

# since V2.00

disk_writer_threads = 1

# V2.0引入本參數(shù)。針對(duì)單個(gè)存儲(chǔ)路徑的寫線程數(shù),缺省值為1。

# 讀寫分離時(shí),系統(tǒng)中的寫線程數(shù) = disk_writer_threads * store_path_count

# 讀寫混合時(shí),系統(tǒng)中的讀寫線程數(shù) = (disk_reader_threads + disk_writer_threads) * store_path_count

# when no entry to sync, try read binlog again after X milliseconds

# 0 for try again immediately (not need to wait)

sync_wait_msec=200

# 同步文件時(shí),如果從binlog中沒有讀到要同步的文件,休眠N毫秒后重新讀取。0表示不休眠,立即再次嘗試讀取。

# 出于CPU消耗考慮,不建議設(shè)置為0。如何希望同步盡可能快一些,可以將本參數(shù)設(shè)置得小一些,比如設(shè)置為10ms

# after sync a file, usleep milliseconds

# 0 for sync successively (never call usleep)

sync_interval=0

# 同步上一個(gè)文件后,再同步下一個(gè)文件的時(shí)間間隔,單位為毫秒,0表示不休眠,直接同步下一個(gè)文件。?

# sync start time of a day, time format: Hour:Minute

# Hour from 0 to 23, Minute from 0 to 59

sync_start_time=00:00

# sync end time of a day, time format: Hour:Minute

# Hour from 0 to 23, Minute from 0 to 59

sync_end_time=23:59

# 上面二個(gè)一起解釋。允許系統(tǒng)同步的時(shí)間段 (默認(rèn)是全天) 。一般用于避免高峰同步產(chǎn)生一些問題而設(shè)定,相信sa都會(huì)明白

# write to the mark file after sync N files

# default value is 500

write_mark_file_freq=500

# 同步完N個(gè)文件后,把storage的mark文件同步到磁盤

# 注:如果mark文件內(nèi)容沒有變化,則不會(huì)同步

# path(disk or mount point) count, default value is 1

store_path_count=1

# 存放文件時(shí)storage server支持多個(gè)路徑(例如磁盤)。這里配置存放文件的基路徑數(shù)目,通常只配一個(gè)目錄。

# store_path#, based 0, if store_path0 not exists, it's value is base_path

# the paths must be exist

store_path0=/home/yuqing/fastdfs

#store_path1=/home/yuqing/fastdfs2

# 逐一配置store_path個(gè)路徑,索引號(hào)基于0。注意配置方法后面有0,1,2 ......,需要配置0到store_path - 1。

# 如果不配置base_path0,那邊它就和base_path對(duì)應(yīng)的路徑一樣。

# subdir_count??* subdir_count directories will be auto created under each?

# store_path (disk), value can be 1 to 256, default value is 256

subdir_count_per_path=256

# FastDFS存儲(chǔ)文件時(shí),采用了兩級(jí)目錄。這里配置存放文件的目錄個(gè)數(shù) (系統(tǒng)的存儲(chǔ)機(jī)制,大家看看文件存儲(chǔ)的目錄就知道了)

# 如果本參數(shù)只為N(如:256),那么storage server在初次運(yùn)行時(shí),會(huì)自動(dòng)創(chuàng)建 N * N 個(gè)存放文件的子目錄。

# tracker_server can ocur more than once, and tracker_server format is

#??"host:port", host can be hostname or ip address

tracker_server=10.62.164.84:22122

tracker_server=10.62.245.170:22122

# tracker_server 的列表 要寫端口的哦 (再次提醒是主動(dòng)連接tracker_server )

# 有多個(gè)tracker server時(shí),每個(gè)tracker server寫一行

#standard log level as syslog, case insensitive, value list:

### emerg for emergency

### alert

### crit for critical

### error

### warn for warning

### notice

### info

### debug

log_level=info

# 日志級(jí)別不多說

#unix group name to run this program,?

#not set (empty) means run by the group of current user

run_by_group=

# 同上文了

#unix username to run this program,

#not set (empty) means run by current user

run_by_user=

# 同上文了 (提醒注意權(quán)限 如果和 webserver不搭 可以會(huì)產(chǎn)生錯(cuò)誤 哦)

# allow_hosts can ocur more than once, host can be hostname or ip address,

# "*" means match all ip addresses, can use range like this: 10.0.1.[1-15,20] or

# host[01-08,20-25].domain.com, for example:

# allow_hosts=10.0.1.[1-15,20]

# allow_hosts=host[01-08,20-25].domain.com

allow_hosts=*

# 允許連接本storage server的IP地址列表 (不包括自帶HTTP服務(wù)的所有連接)

# 可以配置多行,每行都會(huì)起作用

# the mode of the files distributed to the data path?

# 0: round robin(default)

# 1: random, distributted by hash code

file_distribute_path_mode=0

#??文件在data目錄下分散存儲(chǔ)策略。

# 0: 輪流存放,在一個(gè)目錄下存儲(chǔ)設(shè)置的文件數(shù)后(參數(shù)file_distribute_rotate_count中設(shè)置文件數(shù)),使用下一個(gè)目錄進(jìn)行存儲(chǔ)。

# 1: 隨機(jī)存儲(chǔ),根據(jù)文件名對(duì)應(yīng)的hash code來分散存儲(chǔ)。

# valid when file_distribute_to_path is set to 0 (round robin),?

# when the written file count reaches this number, then rotate to next path

# default value is 100

file_distribute_rotate_count=100? ?

# 當(dāng)上面的參數(shù)file_distribute_path_mode配置為0(輪流存放方式)時(shí),本參數(shù)有效。

# 當(dāng)一個(gè)目錄下的文件存放的文件數(shù)達(dá)到本參數(shù)值時(shí),后續(xù)上傳的文件存儲(chǔ)到下一個(gè)目錄中。

# call fsync to disk when write big file

# 0: never call fsync

# other: call fsync when written bytes >= this bytes

# default value is 0 (never call fsync)

fsync_after_written_bytes=0

# 當(dāng)寫入大文件時(shí),每寫入N個(gè)字節(jié),調(diào)用一次系統(tǒng)函數(shù)fsync將內(nèi)容強(qiáng)行同步到硬盤。0表示從不調(diào)用fsync??

# sync log buff to disk every interval seconds

# default value is 10 seconds

sync_log_buff_interval=10

# 同步或刷新日志信息到硬盤的時(shí)間間隔,單位為秒

# 注意:storage server 的日志信息不是時(shí)時(shí)寫硬盤的,而是先寫內(nèi)存。

# sync binlog buff / cache to disk every interval seconds

# this parameter is valid when write_to_binlog set to 1

# default value is 60 seconds

sync_binlog_buff_interval=60

# 同步binglog(更新操作日志)到硬盤的時(shí)間間隔,單位為秒

# 本參數(shù)會(huì)影響新上傳文件同步延遲時(shí)間

# sync storage stat info to disk every interval seconds

# default value is 300 seconds

sync_stat_file_interval=300

# 把storage的stat文件同步到磁盤的時(shí)間間隔,單位為秒。

# 注:如果stat文件內(nèi)容沒有變化,不會(huì)進(jìn)行同步

# thread stack size, should >= 512KB

# default value is 512KB

thread_stack_size=512KB

# 線程棧的大小。FastDFS server端采用了線程方式。

# 對(duì)于V1.x,storage server線程棧不應(yīng)小于512KB;對(duì)于V2.0,線程棧大于等于128KB即可。

# 線程棧越大,一個(gè)線程占用的系統(tǒng)資源就越多。

# 對(duì)于V1.x,如果要啟動(dòng)更多的線程(max_connections),可以適當(dāng)降低本參數(shù)值。

# the priority as a source server for uploading file.

# the lower this value, the higher its uploading priority.

# default value is 10

upload_priority=10

#??本storage server作為源服務(wù)器,上傳文件的優(yōu)先級(jí),可以為負(fù)數(shù)。值越小,優(yōu)先級(jí)越高。這里就和 tracker.conf 中store_server= 2時(shí)的配置相對(duì)應(yīng)了?

# if check file duplicate, when set to true, use FastDHT to store file indexes

# 1 or yes: need check

# 0 or no: do not check

# default value is 0

check_file_duplicate=0

# 是否檢測上傳文件已經(jīng)存在。如果已經(jīng)存在,則不存在文件內(nèi)容,建立一個(gè)符號(hào)鏈接以節(jié)省磁盤空間。?

# 這個(gè)應(yīng)用要配合FastDHT 使用,所以打開前要先安裝FastDHT?

# 1或yes 是檢測,0或no 是不檢測

# file signature method for check file duplicate

## hash: four 32 bits hash code

## md5: MD5 signature

# default value is hash

# since V4.01

file_signature_method=hash

# 文件去重時(shí),文件內(nèi)容的簽名方式:

## hash: 4個(gè)hash code

## md5:MD5

# namespace for storing file indexes (key-value pairs)

# this item must be set when check_file_duplicate is true / on

key_namespace=FastDFS

# 當(dāng)上個(gè)參數(shù)設(shè)定為1 或 yes時(shí) (true/on也是可以的)?,?在FastDHT中的命名空間。

# set keep_alive to 1 to enable persistent connection with FastDHT servers

# default value is 0 (short connection)

keep_alive=0

# 與FastDHT servers 的連接方式 (是否為持久連接) ,默認(rèn)是0(短連接方式)??梢钥紤]使用長連接,這要看FastDHT server的連接數(shù)是否夠用。

# 下面是關(guān)于FastDHT servers 的設(shè)定 需要對(duì)FastDHT servers 有所了解,這里只說字面意思了

# you can use "#include filename" (not include double quotes) directive to?

# load FastDHT server list, when the filename is a relative path such as?

# pure filename, the base path is the base path of current/this config file.

# must set FastDHT server list when check_file_duplicate is true / on

# please see INSTALL of FastDHT for detail

##include /home/yuqing/fastdht/conf/fdht_servers.conf

# 可以通過 #include filename 方式來加載 FastDHT servers??的配置,裝上FastDHT就知道該如何配置啦。

# 同樣要求 check_file_duplicate=1 時(shí)才有用,不然系統(tǒng)會(huì)忽略

# fdht_servers.conf 記載的是 FastDHT servers 列表?

# if log to access log

# default value is false

# since V4.00

use_access_log = false

# 是否將文件操作記錄到access log

# if rotate the access log every day

# default value is false

# since V4.00

rotate_access_log = false

# 是否定期輪轉(zhuǎn)access log,目前僅支持一天輪轉(zhuǎn)一次

# rotate access log time base, time format: Hour:Minute

# Hour from 0 to 23, Minute from 0 to 59

# default value is 00:00

# since V4.00

access_log_rotate_time=00:00

# access log定期輪轉(zhuǎn)的時(shí)間點(diǎn),只有當(dāng)rotate_access_log設(shè)置為true時(shí)有效

# if rotate the error log every day

# default value is false

# since V4.02

rotate_error_log = false

# 是否定期輪轉(zhuǎn)error log,目前僅支持一天輪轉(zhuǎn)一次

# rotate error log time base, time format: Hour:Minute

# Hour from 0 to 23, Minute from 0 to 59

# default value is 00:00

# since V4.02

error_log_rotate_time=00:00

# error log定期輪轉(zhuǎn)的時(shí)間點(diǎn),只有當(dāng)rotate_error_log設(shè)置為true時(shí)有效

# rotate access log when the log file exceeds this size

# 0 means never rotates log file by log file size

# default value is 0

# since V4.02

rotate_access_log_size = 0

# access log按文件大小輪轉(zhuǎn)

# 設(shè)置為0表示不按文件大小輪轉(zhuǎn),否則當(dāng)access log達(dá)到該大小,就會(huì)輪轉(zhuǎn)到新文件中

# rotate error log when the log file exceeds this size

# 0 means never rotates log file by log file size

# default value is 0

# since V4.02

rotate_error_log_size = 0

# error log按文件大小輪轉(zhuǎn)

# 設(shè)置為0表示不按文件大小輪轉(zhuǎn),否則當(dāng)error log達(dá)到該大小,就會(huì)輪轉(zhuǎn)到新文件中

# if skip the invalid record when sync file

# default value is false

# since V4.02

file_sync_skip_invalid_record=false

# 文件同步的時(shí)候,是否忽略無效的binlog記錄

下面是http的配置了。如果系統(tǒng)較大,這個(gè)服務(wù)有可能支持不了,可以自行換一個(gè)webserver,我喜歡lighttpd,當(dāng)然ng也很好了。具體不說明了。相應(yīng)這一塊的說明大家都懂,不明白見上文。

#HTTP settings

http.disabled=false

# the port of the web server on this storage server

http.server_port=8888

http.trunk_size=256KB

# http.trunk_size表示讀取文件內(nèi)容的buffer大?。ㄒ淮巫x取的文件內(nèi)容大小),也就是回復(fù)給HTTP client的塊大小。

# use the ip address of this storage server if domain_name is empty,

# else this domain name will ocur in the url redirected by the tracker server

http.domain_name=

# storage server上web server域名,通常僅針對(duì)單獨(dú)部署的web server。這樣URL中就可以通過域名方式來訪問storage server上的文件了,

# 這個(gè)參數(shù)為空就是IP地址的方式。

#use "#include" directive to include HTTP other settiongs

##include http.conf

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容