配置详解
tracker 配置
配置项 | 默认值 | 其他配置值 | 简述 |
---|---|---|---|
disabled | false | true | 是否禁用当前配置文件? false:不禁用,true:禁用 |
bind_addr | INADDR_ANY | 绑定该主机的地址。空表示绑定该主机的所有地址 | |
port | 22000 | tracker的服务端口 | |
connect_timeout | 30s | 连接超时时间 | |
network_timeout | 30s | 网络超时时间 | |
base_path | 存储和日志文件的基础路径(必须配置项) | ||
max_connections | 256 | 最大连接数 | |
accept_threads | 1 | 接收线程数量 | |
work_threads | 4 | 工作线程数量,工作线程数量应该 <= 最大连接数 | |
store_lookup | 0 | 0:轮询,1:指定分组,2:负载均衡,选择空闲空间最大的分组上传文件 | 定义如何选择分组进行文件上传 |
store_group | 应该上传到哪个分组 ,当 store_lookup 配置为1时,必须设置分组名字 | ||
store_server | 0 | 0:轮询,1: 按照IP排序的第一台服务器,2:按照优先级排序的第一台服务器顺序(最小) | 向哪个存储服务上传文件 |
store_path | 0 | 0:轮询,1:负载均衡,选择空闲空间最大的路径上传文件 | 存储服务器上载文件的路径(磁盘或挂载点)。 |
download_server | 0 | 0:轮询,1: 当前文件上传到的源存储服务器 | 要从哪里下载文件 |
reserved_storage_space | 为系统或其他应用程序保留的存储空间。如果组中任何存储服务器的可用(可用)空间<= reserved_storage_space,则无法将任何文件上载到该组。字节单位可以是以下之一:G或g(GB),M或m(兆字节),K或k表示千字节(KB),字节(B)没有单位XX.XX%作为比率,例如reserved_storage_space = 10% | ||
run_by_group | 运行该程序的Unix组名,未设置(空)表示由当前用户组运行。 | ||
run_by_user | 运行该程序的Unix用户名,未设置(空)表示当前用户运行。 | ||
allow_hosts | * | “ allow_hosts”可以出现多次,host可以是主机名或IP地址,“ *”表示匹配所有ip地址,可以使用以下范围:10.0.1。[1-15,20]或host [01-08, 20-25] .domain.com,例如:allow_hosts = 10.0.1。[1-15,20] , allow_hosts = host [01-08,20-25] .domain.com | |
sync_log_buff_interval | 10 | 每隔几秒钟将日志buff同步到磁盘。 | |
check_active_interval | 100 | 检查存储服务器的活动间隔秒数。 | |
thread_stack_size | 64KB | 线程堆栈大小,应大于等于64KB。 | |
storage_ip_changed_auto_adjust | true | false | 存储服务器的IP地址更改时自动调整。 |
storage_sync_file_max_delay | 86400s(60天) | 存储同步文件的最大延迟秒数。 | |
storage_sync_file_max_time | 300秒 | 存储文件同步的最长时间。 | |
use_trunk_file | false | 如果使用主干文件来存储几个小文件。 | |
slot_min_size | 256字节 | 最小插槽大小应小于等于4KB。是否认为是小文件 | |
slot_max_size | 16MB | 最大插槽大小应> slot_min_size。当上传文件的大小小于等于此值时,将其存储到主干文件中。 | |
trunk_file_size | 64 MB | 主干文件大小应大于等于4MB。 | |
trunk_create_file_advance | false | 是否提前创建主干文件 | |
trunk_create_file_time_base | 02:00 | 创建中继文件的时基 。 时间格式:HH:MM。 | |
trunk_create_file_interval | 38400s | 创建Trunk文件的时间间隔,单位:秒。 | |
trunk_create_file_space_threshold | 0 | 阈值创建主干文件时,可用主干文件的大小小于阈值,将创建主干文件。 | |
trunk_init_check_occupying | false | 装载行李箱空闲空间时是否检查行李箱空间占用。占用的空间将被忽略。注意:将此参数设置为true会在启动时减慢中继空间的加载速度。您应在必要时将此参数设置为true。 | |
trunk_init_reload_from_binlog | false | 如果忽略storage_trunk.dat,请从中继binlog重新加载。当版本低于V3.10时,一次设置为true即可进行版本升级。 | |
use_storage_id | false | 是否使用存储ID而不是IP地址。 | |
storage_ids_filename | 指定存储ID的文件名,可以使用相对或绝对路径。 | ||
id_type_in_filename | ip | ip:存储服务器的IP地址,id:存储服务器的服务器ID | 文件名中存储服务器的ID类型 |
store_slave_file_use_link | false | 如果存储从文件,请使用符号链接。 | |
rotation_error_log | false | 是否每天循环写入错误日志。 | |
error_log_rotate_time | 00:00 | 循环错误日志时基,时间格式:HH:MM。小时从0到23,分钟从0到59。 | |
rotation_error_log_size | 0 | 当日志文件超过此大小时,旋转错误日志。0表示从不按日志文件大小旋转日志文件 | |
log_file_keep_days | 0 | 保留几天的日志文件。0表示不删除旧的日志文件 | |
use_connection_pool | false | 是否使用连接池 | |
connection_pool_max_idle_time | 3600 | 空闲时间超过此时间的连接将被关闭。(单位:秒) | |
http.server_port | 8080 | 此跟踪器服务器上的HTTP端口。 | |
http.check_alive_interval | 30秒 | 检查存储HTTP服务器的活动间隔秒数。<= 0,表示永不检查。 | |
http.check_alive_type | tcp | tcp:仅通过HTTP端口连接到storge服务器,不请求并获取响应,http:存储检查有效网址必须返回http状态200 | 检查存储HTTP服务器的活动类型 |
http.check_alive_uri | / | 检查存储HTTP服务器是否存在uri 注意:存储嵌入HTTP服务器支持uri:/status.html |
官方配置
配置项详细解释见 下方 配置项详解
# is this config file disabled
# false for enabled
# true for disabled
disabled = false
# bind an address of this host
# empty for bind all addresses of this host
bind_addr =
# the tracker server port
port = 22122
# connect timeout in seconds
# default value is 30
# Note: in the intranet network (LAN), 2 seconds is enough.
connect_timeout = 5
# network timeout in seconds for send and recv
# default value is 30
network_timeout = 60
# the base path to store data and log files
base_path = /home/yuqing/fastdfs
# max concurrent connections this server support
# you should set this parameter larger, eg. 10240
# default value is 256
max_connections = 1024
# accept thread count
# default value is 1 which is recommended
# since V4.07
accept_threads = 1
# work thread count
# work threads to deal network io
# default value is 4
# since V2.00
work_threads = 4
# the min network buff size
# default value 8KB
min_buff_size = 8KB
# the max network buff size
# default value 128KB
max_buff_size = 128KB
# the method for 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
# which group to upload file
# when store_lookup set to 1, must set store_group to the group name
store_group = group2
# 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)
# Note: if use_trunk_file set to true, must set store_server to 1 or 2
store_server = 0
# 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
# which storage server to download file
# 0: round robin (default)
# 1: the source storage server which the current file uploaded to
download_server = 0
# 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 = 20%
#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
#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 =
# allow_hosts can ocur more than once, host can be hostname or ip address,
# "*" (only one asterisk) means match all ip addresses
# we can use CIDR ips like 192.168.5.64/26
# and also use range like these: 10.0.1.[0-254] and 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=192.168.5.64/26
allow_hosts = *
# sync log buff to disk every interval seconds
# default value is 10 seconds
sync_log_buff_interval = 1
# check storage server alive interval seconds
check_active_interval = 120
# thread stack size, should >= 64KB
# default value is 256KB
thread_stack_size = 256KB
# auto adjust when the ip address of the storage server changed
# default value is true
storage_ip_changed_auto_adjust = true
# storage sync file max delay seconds
# default value is 86400 seconds (one day)
# since V2.00
storage_sync_file_max_delay = 86400
# the max time of storage sync a file
# default value is 300 seconds
# since V2.00
storage_sync_file_max_time = 300
# if use a trunk file to store several small files
# default value is false
# since V3.00
use_trunk_file = false
# the min slot size, should <= 4KB
# default value is 256 bytes
# since V3.00
slot_min_size = 256
# 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 = 1MB
# the alignment size to allocate the trunk space
# default value is 0 (never align)
# since V6.05
# NOTE: the larger the alignment size, the less likely of disk
# fragmentation, but the more space is wasted.
trunk_alloc_alignment_size = 256
# if merge contiguous free spaces of trunk file
# default value is false
# since V6.05
trunk_free_space_merge = true
# if delete / reclaim the unused trunk files
# default value is false
# since V6.05
delete_unused_trunk_files = false
# the trunk file size, should >= 4MB
# default value is 64MB
# since V3.00
trunk_file_size = 64MB
# if create trunk file advancely
# default value is false
# since V3.06
trunk_create_file_advance = false
# the time base to create trunk file
# the time format: HH:MM
# default value is 02:00
# since V3.06
trunk_create_file_time_base = 02:00
# the interval of create trunk file, unit: second
# default value is 38400 (one day)
# since V3.06
trunk_create_file_interval = 86400
# the threshold to create trunk file
# when the free trunk file size less than the threshold,
# will create he trunk files
# default value is 0
# since V3.06
trunk_create_file_space_threshold = 20G
# 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
# 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
# the min interval for compressing the trunk binlog file
# unit: second, 0 means never compress
# FastDFS compress the trunk binlog when trunk init and trunk destroy
# recommand to set this parameter to 86400 (one day)
# default value is 0
# since V5.01
trunk_compress_binlog_min_interval = 86400
# the interval for compressing the trunk binlog file
# unit: second, 0 means never compress
# recommand to set this parameter to 86400 (one day)
# default value is 0
# since V6.05
trunk_compress_binlog_interval = 86400
# compress the trunk binlog time base, time format: Hour:Minute
# Hour from 0 to 23, Minute from 0 to 59
# default value is 03:00
# since V6.05
trunk_compress_binlog_time_base = 03:00
# max backups for the trunk binlog file
# default value is 0 (never backup)
# since V6.05
trunk_binlog_max_backups = 7
# if use storage server ID instead of IP address
# if you want to use dual IPs for storage server, you MUST set
# this parameter to true, and configure the dual IPs in the file
# configured by following item "storage_ids_filename", such as storage_ids.conf
# default value is false
# since V4.00
use_storage_id = false
# specify storage ids filename, can use relative or absolute path
# this parameter is valid only when use_storage_id set to true
# since V4.00
storage_ids_filename = storage_ids.conf
# id type of the storage server in the filename, values are:
## ip: the ip address of the storage server
## id: the server id of the storage server
# this paramter is valid only when use_storage_id set to true
# default value is ip
# since V4.03
id_type_in_filename = id
# if store slave file use symbol link
# default value is false
# since V4.01
store_slave_file_use_link = false
# if rotate the error log every day
# default value is false
# since V4.02
rotate_error_log = false
# 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
# if compress the old error log by gzip
# default value is false
# since V6.04
compress_old_error_log = false
# compress the error log days before
# default value is 1
# since V6.04
compress_error_log_days_before = 7
# 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
# keep days of the log files
# 0 means do not delete old log files
# default value is 0
log_file_keep_days = 0
# if use connection pool
# default value is false
# since V4.05
use_connection_pool = true
# connections whose the idle time exceeds this time will be closed
# unit: second
# default value is 3600
# since V4.05
connection_pool_max_idle_time = 3600
# HTTP port on this tracker server
http.server_port = 8080
# check storage HTTP server alive interval seconds
# <= 0 for never check
# default value is 30
http.check_alive_interval = 30
# check storage HTTP server alive type, values are:
# tcp : connect to the storge server with HTTP port only,
# do not request and get response
# http: storage check alive url must return http status 200
# default value is tcp
http.check_alive_type = tcp
# check storage HTTP server alive uri/url
# NOTE: storage embed HTTP server support uri: /status.html
http.check_alive_uri = /status.html