FastDFS 版本5.05
配置文件分为三部分
控制器:tracker.conf
存储器:storage.conf
控制器:tracker.conf
存储器:storage.conf
客户端:client.conf
文件位置:/etc/fdfs
基本配置(基础配置,不考虑性能调优情况下):
port=22122 #监听端口
base_path=/data/fastdfs #设置 tracker 的数据文件和日志目录 (需预先创建,否则启动会报错)
基本配置(基础配置,不考虑性能调优情况下):
port=22122 #监听端口
base_path=/data/fastdfs #设置 tracker 的数据文件和日志目录 (需预先创建,否则启动会报错)
目录下自动生成 两个文件夹
data 存储信息
logs 日志信息
可以忽视 http.server_port=8080 #设置http端口号,默认为8080
可以忽视 http.server_port=8080 #设置http端口号,默认为8080
1.控制器:tracker.conf
# is this config file disabled
# false for enabled
# true for disabled
disabled=false false为生效,true不生效
# bind an address of this host 绑定ip地址,空值为主机上全部地址
# empty for bind all addresses of this host
bind_addr=
# the tracker server port 绑定端口
port=22122
# connect timeout in seconds 连接超时时间,针对socket套接字函数connect
# default value is 30s
connect_timeout=30
# network timeout in seconds 网络超时,单位为秒。发送或接收数据时
# default value is 30s
network_timeout=60
# the base path to store data and log files 根路径地址 (根目录必须存在,子目录会自动创建)
base_path=/home/yuqing/fastdfs
$base_path/data: store data files 存储信息
$base_path/logs: store log files 日志信息
# 附目录说明:
tracker server目录及文件结构:
${base_path}
|__data
${base_path}
|__data
| |__storage_groups.dat:存储分组信息
| |__storage_servers.dat:存储服务器列表
|__logs
|__trackerd.log:tracker server日志文件
| |__storage_servers.dat:存储服务器列表
|__logs
|__trackerd.log:tracker server日志文件
# max concurrent connections this server supported 服务时的最大连接数
max_connections=256
# accept thread count 接受线程数????
# default value is 1 默认1
# since V4.07 从4.07版本引入
accept_threads=1
# work thread count, should <= max_connections 工作线程数 <=最大连接数 通常设置为CPU数
# default value is 4 默认4
# since V2.00 从2.00版本引入
work_threads=4
# the method of selecting group to upload files 上传文件的方式
# 0: round robin 0:轮询方式
# 1: specify group 1: 指定组
# 2: load balance, select the max free space group to upload file 2: 负载均衡(选择最大剩余空间的组(卷)上传)
store_lookup=2
# which group to upload file 当上一个参数设定为1 时 (store_lookup=1,即指定组名时)
# 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)
store_server=0
# 选择哪个storage server 进行上传操作(一个文件被上传后,这个storage server就相当于这个文件的storage server源 会对同组的storage server推送这个文件达到同步效果)
# 0: 轮询方式
# 0: 轮询方式
# 1: 根据ip地址进行排序选择第一个服务器(IP地址最小者)
# 2: 根据优先级进行排序(上传优先级由storage server来设置,参数名为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 中的哪个目录进行上传。storage server可以有多个存放文件的base path
(可以理解为多个磁盘)。
(可以理解为多个磁盘)。
# 0: 轮流方式,多个目录依次存放文件
# 2: 选择剩余空间最大的目录存放文件(注意:剩余磁盘空间是动态的,因此存储到的目录或磁盘可能也是变化的)
# which storage server to download file
# 0: round robin (default)
# 1: the source storage server which the current file uploaded to
download_server=0
# 选择哪个 storage server 作为下载服务器
# 0: 轮询方式,可以下载当前文件的任一storage server
# 1: 哪个为源storage server 就用哪一个
#(前面说过了这个storage server源是怎样产生的) 就是之前上传到哪个storage server服务器 就是哪个了
#(前面说过了这个storage server源是怎样产生的) 就是之前上传到哪个storage server服务器 就是哪个了
# 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%
#为系统和应用保留存储空间
#如果一个组中的任何一个存储服务器<=reserved_storage_space 此值
#不能再向此组中上传
#不能再向此组中上传
#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=
# 操作系统运行FastDFS的用户组 (不填就是当前用户组,哪个启动进程就是哪个)
#unix username to run this program,
#not set (empty) means run by current user
run_by_user=
# 操作系统运行FastDFS的用户 (不填就是当前用户,哪个启动进程就是哪个)
# 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范围(对所有类型的连接都有影响,包括客户端,storage server)
# sync log buff to disk every interval seconds
# default value is 10 seconds
sync_log_buff_interval = 10
# 同步或刷新日志信息到硬盘的时间间隔,单位为秒
# 注意:tracker server 的日志不是时时写硬盘的,而是先写内存。
# check storage server alive interval seconds
check_active_interval = 120
# 检测 storage server 存活的时间隔,单位为秒。
# storage server定期向tracker server 发心跳,如果tracker server在一个check_active_interval内还没有收到storage #server的一次心跳,那边将认为该storage server已经下线。
#所以本参数值必须大于storage server配置的心跳时间间隔。通常配置为storage server心跳时间间隔的2倍或3倍。
# storage server定期向tracker server 发心跳,如果tracker server在一个check_active_interval内还没有收到storage #server的一次心跳,那边将认为该storage server已经下线。
#所以本参数值必须大于storage server配置的心跳时间间隔。通常配置为storage server心跳时间间隔的2倍或3倍。
# thread stack size, should >= 64KB # 线程栈的大小
# default value is 64KB
thread_stack_size = 64KB
#tracker server线程栈不应小于64KB。 线程栈越大,一个线程占用的系统资源就越多。
#如果要启动更多的线程(V1.x对应的参数为max_connections, V2.0为work_threads),可以适当降低本参数值。
#如果要启动更多的线程(V1.x对应的参数为max_connections, V2.0为work_threads),可以适当降低本参数值。
# auto adjust when the ip address of the storage server changed
# default value is true
storage_ip_changed_auto_adjust = true
#当存储server的ip变化时 集群是否自动调整,
#注:只有在storage server进程重启时才完成自动调整
#注:只有在storage server进程重启时才完成自动调整
# storage sync file max delay seconds
# default value is 86400 seconds (one day)
# since V2.00
storage_sync_file_max_delay = 86400
# V2.0引入的参数。存储服务器之间同步文件的最大延迟时间,缺省为1天。
#根据实际情况进行调整
#根据实际情况进行调整
# 注:本参数并不影响文件同步过程。本参数仅在下载文件时,判断文件是否已经被同步完成的一个阀值(经验值)
# the max time of storage sync a file
# default value is 300 seconds
# since V2.00
storage_sync_file_max_time = 300
# V2.0引入的参数。存储服务器同步一个文件需要消耗的最大时间,缺省为300s,即5分钟。
# V2.0引入的参数。存储服务器同步一个文件需要消耗的最大时间,缺省为300s,即5分钟。
# 注:本参数并不影响文件同步过程。本参数仅在下载文件时,
#作为判断当前文件是否被同步完成的一个阀值(经验值)
#作为判断当前文件是否被同步完成的一个阀值(经验值)
合并存储trunk部分:
# if use a trunk file to store several small files
# default value is false
# since V3.00
use_trunk_file = false
# V3.0引入的参数。是否使用小文件合并存储特性,缺省是关闭的
#是否用一个trunk文件存储多个小文件
#是否用一个trunk文件存储多个小文件
# the min slot size, should <= 4KB
# default value is 256 bytes
# since V3.00
slot_min_size = 256
# V3.0引入的参数。
# trunk file分配的最小字节数。比如文件只有16个字节,系统也会分配slot_min_size个字节。
# 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引入的参数。
# 只有文件大小<=这个参数值的文件,才会放入trunk file 文件中。
#如果一个文件的大小大于这个参数值,将直接保存到一个文件中(即不采用合并存储方式)
# the trunk file size, should >= 4MB
# default value is 64MB
# since V3.00
trunk_file_size = 64MB
# V3.0引入的参数。
# 合并存储的trunk file大小,至少4MB,缺省值是64MB。不建议设置得过大。
# if create trunk file advancely
# default value is false
# since V3.06
trunk_create_file_advance = false
# 是否提前创建trunk file。只有当这个参数为true,下面3个以trunk_create_file_打头的参数才有效。
# 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
1.# 提前创建trunk file的起始时间点(基准时间),02:00表示第一次创建的时间点是凌晨2点。
# the interval of create trunk file, unit: second
# default value is 38400 (one day)
# since V3.06
trunk_create_file_interval = 86400
2.# 创建trunk file的时间间隔,单位为秒。如果每天只提前创建一次,则设置为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
# since V3.06
trunk_create_file_space_threshold = 20G
3.# 提前创建trunk file时,需要达到的空闲trunk大小
# 比如本参数为20G,而当前空闲trunk为4GB,那么只需要创建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 file 初始化加载时,是否检查可用空间是否被占用
# 占用空间会被忽略
#注意 设置为ture会使初始化加载 变慢
# 占用空间会被忽略
#注意 设置为ture会使初始化加载 变慢
# 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开始加载
#是否无条件从trunk binlog中加载trunk可用空间信息
# FastDFS缺省是从快照文件storage_trunk.dat中加载trunk可用空间,
# 该文件的第一行记录的是trunk binlog的offset,然后从binlog的offset开始加载
# the min interval for compressing the trunk binlog file
# unit: second
# default value is 0, 0 means never compress
# FastDFS compress the trunk binlog when trunk init and trunk destroy
# recommand to set this parameter to 86400 (one day)
# since V5.01
trunk_compress_binlog_min_interval = 0
# 压缩 trunk binlog文件的最小间隔
# 默认从不压缩
# 当trunk文件初始化和销毁时,fastdfs会压缩binlog 日志
# 推荐设置为一天
# 默认从不压缩
# 当trunk文件初始化和销毁时,fastdfs会压缩binlog 日志
# 推荐设置为一天
# if use storage ID instead of IP address
# default value is false
# since V4.00
use_storage_id = false
# 是否使用server ID代替ip地址作为storage server标识
# 默认不使用(此选项与以下 1、2 关联)
# 默认不使用(此选项与以下 1、2 关联)
# specify storage ids filename, can use relative or absolute path
# since V4.00
storage_ids_filename = storage_ids.conf
1.# 指定存储id的文件名字 可以使用相对路径和绝对路径
# 当use_storage_id 设置为true,才需要设置本参数
# 在文件中设置组名、server ID和对应的IP地址,参见源码目录下的配置示例:conf/storage_ids.conf
1.# 指定存储id的文件名字 可以使用相对路径和绝对路径
# 当use_storage_id 设置为true,才需要设置本参数
# 在文件中设置组名、server ID和对应的IP地址,参见源码目录下的配置示例:conf/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 = ip
2.# 存储服务器上 文件名中storage server的标识
# ip: 使用ip地址标识
# id : 使用id编号标识
#当 use_storage_id 值设置为ture时 这些 参数才有效 默认值是ip
2.# 存储服务器上 文件名中storage server的标识
# ip: 使用ip地址标识
# id : 使用id编号标识
#当 use_storage_id 值设置为ture时 这些 参数才有效 默认值是ip
# if store slave file use symbol link
# default value is false
# since V4.01
store_slave_file_use_link = false
#存储从文件是否采用symbol link(符号链接)方式
#如果设置为true,一个从文件将占用两个文件:原始文件及指向它的符号链接 #存储从文件是否采用symbol link(符号链接)方式
日志部分:
# if rotate the error log every day
# default value is false
# since V4.02
rotate_error_log = false
# 是否定期轮转error log,目前仅支持一天轮转一次
# 是否定期轮转error log,目前仅支持一天轮转一次
# 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定期轮转的时间点,只有当rotate_error_log设置为true时有效
# 时间格式 小时:分钟 小时从0-23 分钟 分钟从0-59
# error log定期轮转的时间点,只有当rotate_error_log设置为true时有效
# 时间格式 小时:分钟 小时从0-23 分钟 分钟从0-59
# 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超出设定值时将进行轮转
# 设置为0表示不按文件大小轮转,否则当error log达到该大小,就会轮转到新文件中
# 设置为0表示不按文件大小轮转,否则当error log达到该大小,就会轮转到新文件中
# keep days of the log files
# 0 means do not delete old log files
# default value is 0
log_file_keep_days = 0
#日志保留时间 0表示不删除
http连接部分:
# if use connection pool
# default value is false
# since V4.05
use_connection_pool = false
#是否使用连接池
# 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
#连接池链接的最大生存时间,单位秒,use_connection_pool设置为true时有效
#默认60分钟
#连接池链接的最大生存时间,单位秒,use_connection_pool设置为true时有效
#默认60分钟
# HTTP port on this tracker server
http.server_port=8080
# http服务端口号
# check storage HTTP server alive interval seconds
# <= 0 for never check
# default value is 30
http.check_alive_interval=30
# 检查存储http长链接的存活时间
# 检查存储http长链接的存活时间
# 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
#检查存储长链接的存在方式,当前配置为tcp方式
#检查存储长链接的存在方式,当前配置为tcp方式
# check storage HTTP server alive uri/url
# NOTE: storage embed HTTP server support uri: /status.html
http.check_alive_uri=/status.html
#检查存储http利用什么标识进行检查
#检查存储http利用什么标识进行检查