淘宝TFS文件系统配置
2012-01-29 15:09
543 查看
对于拥有大量图片和小文件的站点,如电子商务网站,用tfs是非常理想的,淘宝就是NB.
四台服务器,系统都为Centos 5.6
![](http://blog.51cto.com/attachment/201201/153240703.jpg)
一、基础环境的设置(只需在dataserver两台服务器上配置)
1.加载ext4模块,让系统支持ext4文件系统
modprobe ext4
![](http://blog.51cto.com/attachment/201201/151814844.jpg)
2.安装ext4格式工具
yum –y install e4fsprogs e4fsprogs-devel
![](http://blog.51cto.com/attachment/201201/151751792.jpg)
3.建立数据目录
mkdir /home/disk1
mkdir /home/disk2
mkdir /home/disk3
4.格式硬盘
mkfs.ext4 /dev/sdb
mkfs.ext4 /dev/sdc
mkfs.ext4 /dev/sdd
5.挂载硬盘
mount /dev/sdb /home/disk1
mount /dev/sdc /home/disk2
mount /dev/sdd /home/disk3
6.查看挂载分区
![](http://blog.51cto.com/attachment/201201/151828538.jpg)
![](http://blog.51cto.com/attachment/201201/151932845.jpg)
二、文档配置(安装略…可参考官网http://code.taobao.org/p/tfs/wiki/index/)
1.TFS的Nameserver(192.168.2.240)主配置[ns.conf配置文件]
[public]
log_size=1073741824
log_num = 64
log_level=debug
task_max_queue_size = 10240
port = 8108
work_dir = /usr/local/tfs
dev_name = eth0
thread_count = 50
ip_addr = 192.168.2.240
[nameserver]
safe_mode_time = 300
ip_addr_list = 192.168.2.240|192.168.2.241
group_mask = 255.255.255.255
block_max_size = 83886080
max_replication = 2
min_replication = 2
use_capacity_ratio = 98
block_max_use_ratio = 98
heart_interval = 2
object_dead_max_time = 3600
cluster_id = 1
replicate_ratio_ = 50
max_write_filecount = 16
heart_thread_count = 2
heart_max_queue_size = 10
repl_max_time = 60
cmpact_delete_ratio = 15
compact_max_load = 200
object_dead_max_time = 86400
object_clear_max_time = 300
max_wait_write_lease = 15
lease_expired_time = 3
max_lease_timeout = 3000
cleanup_lease_threshold = 102400
build_plan_interval = 10
run_plan_expire_interval = 120
build_plan_ratio = 25
dump_stat_info_interval = 60000000
build_plan_default_wait_time = 2
balance_max_diff_block_num = 5
add_primary_block_count = 3
block_chunk_num = 32
task_percent_sec_size = 200
task_max_queue_size = 10000
oplog_sync_max_slots_num = 1024
oplog_sync_thread_num = 1
2.TFS的Nameserver(192.168.2.241)从配置[ns.conf配置文件]
[public]
log_size=1073741824
log_num = 64
log_level=debug
task_max_queue_size = 10240
port = 8108
work_dir = /usr/local/tfs
dev_name = eth0
thread_count = 50
ip_addr = 192.168.2.241
[nameserver]
safe_mode_time = 300
ip_addr_list = 192.168.2.240|192.168.2.241
group_mask = 255.255.255.255
block_max_size = 83886080
max_replication = 2
min_replication = 2
use_capacity_ratio = 98
block_max_use_ratio = 98
heart_interval = 2
object_dead_max_time = 3600
cluster_id = 2
replicate_ratio_ = 50
max_write_filecount = 16
heart_thread_count = 2
heart_max_queue_size = 10
repl_max_time = 60
compact_delete_ratio = 15
compact_max_load = 200
object_dead_max_time = 86400
object_clear_max_time = 300
max_wait_write_lease = 15
lease_expired_time = 3
max_lease_timeout = 3000
cleanup_lease_threshold = 102400
build_plan_interval = 10
run_plan_expire_interval = 120
build_plan_ratio = 25
dump_stat_info_interval = 60000000
build_plan_default_wait_time = 2
balance_max_diff_block_num = 5
add_primary_block_count = 3
block_chunk_num = 32
task_percent_sec_size = 200
task_max_queue_size = 10000
oplog_sync_max_slots_num = 1024
oplog_sync_thread_num = 1
3.TFS的Dataserver(192.168.2.242)配置[ds.conf配置文件]
[public]
log_size=1073741824
log_num = 64
log_level=debug
task_max_queue_size = 10240
port = 9998
work_dir = /usr/local/tfs
dev_name= eth0
thread_count = 50
ip_addr = 192.168.2.242
[dataserver]
ip_addr = 192.168.2.11
ip_addr_list = 192.168.2.240|192.168.2.241
port = 8108
heart_interval = 2
check_interval = 2
replicate_threadcount = 2
block_max_size = 7549747
dump_visit_stat_interval = 60
backup_type = 1
backup_path = /home/tfs
mount_name = /home/disk
mount_maxsize = 14194304
base_filesystem_type = 1
superblock_reserve = 0
avg_file_size = 40960
mainblock_size = 7549747
extblock_size = 419430
block_ratio = 0.5
hash_slot_ratio = 0.5
ds_thread_count = 4
4.TFS的ads(192.168.2.242)配置[ads.conf配置文件]
[public]
log_size=1073741824
log_num = 64
log_level=debug
task_max_queue_size = 10240
port = 12000
work_dir = /usr/local/tfs
dev_name = eth0
thread_count = 50
ip_addr = 192.168.2.242
[adminserver]
check_interval = 5
check_count = 5
warn_dead_count = 3
ds_fkill_waittime = 15
ds_script = /usr/local/tfs/bin/dataserver -f /usr/local/tfs/conf/ds.conf -d
ds_index_list = 1,2,3
[nameserver]
ip_addr = 192.168.2.11
port = 8108
[dataserver]
port = 9998
lock_file = /usr/local/tfs/bin/dataserver
mount_name = /home/disk
5.TFS的Dataserver(192.168.2.243)配置...略和2.243相似,不能写,写不下了。
三、服务启动
1.启动tfs(192.168.2.240)的nameserver
/usr/local/tfs/scripts/tfs start_ns
![](http://blog.51cto.com/attachment/201201/152012367.jpg)
2.启动tfs(192.168.2.241)的nameserver
/usr/local/tfs/scripts/tfs start_ns
![](http://blog.51cto.com/attachment/201201/152027402.jpg)
3.启动tfs(192.168.2.242)的dataserver
/usr/local/tfs/scripts/tfs admin_ns
![](http://blog.51cto.com/attachment/201201/152044210.jpg)
3.1查看到服务端的连接
![](http://blog.51cto.com/attachment/201201/152102130.jpg)
3.2查看dataserver下的块
![](http://blog.51cto.com/attachment/201201/152117614.jpg)
4.启动tfs(192.168.2.243)的dataserver
/usr/local/tfs/scripts/tfs admin_ns
![](http://blog.51cto.com/attachment/201201/152135376.jpg)
四、测试
用tfstool工具连接到服务端上传图片
![](http://blog.51cto.com/attachment/201201/152205287.jpg)
看到上传的图片已经保存成功
![](http://blog.51cto.com/attachment/201201/152223952.jpg)
详解介绍可参考官方网站http://code.taobao.org/p/tfs/wiki/index/
四台服务器,系统都为Centos 5.6
![](http://blog.51cto.com/attachment/201201/153240703.jpg)
一、基础环境的设置(只需在dataserver两台服务器上配置)
1.加载ext4模块,让系统支持ext4文件系统
modprobe ext4
![](http://blog.51cto.com/attachment/201201/151814844.jpg)
2.安装ext4格式工具
yum –y install e4fsprogs e4fsprogs-devel
![](http://blog.51cto.com/attachment/201201/151751792.jpg)
3.建立数据目录
mkdir /home/disk1
mkdir /home/disk2
mkdir /home/disk3
4.格式硬盘
mkfs.ext4 /dev/sdb
mkfs.ext4 /dev/sdc
mkfs.ext4 /dev/sdd
5.挂载硬盘
mount /dev/sdb /home/disk1
mount /dev/sdc /home/disk2
mount /dev/sdd /home/disk3
6.查看挂载分区
![](http://blog.51cto.com/attachment/201201/151828538.jpg)
![](http://blog.51cto.com/attachment/201201/151932845.jpg)
二、文档配置(安装略…可参考官网http://code.taobao.org/p/tfs/wiki/index/)
1.TFS的Nameserver(192.168.2.240)主配置[ns.conf配置文件]
[public]
log_size=1073741824
log_num = 64
log_level=debug
task_max_queue_size = 10240
port = 8108
work_dir = /usr/local/tfs
dev_name = eth0
thread_count = 50
ip_addr = 192.168.2.240
[nameserver]
safe_mode_time = 300
ip_addr_list = 192.168.2.240|192.168.2.241
group_mask = 255.255.255.255
block_max_size = 83886080
max_replication = 2
min_replication = 2
use_capacity_ratio = 98
block_max_use_ratio = 98
heart_interval = 2
object_dead_max_time = 3600
cluster_id = 1
replicate_ratio_ = 50
max_write_filecount = 16
heart_thread_count = 2
heart_max_queue_size = 10
repl_max_time = 60
cmpact_delete_ratio = 15
compact_max_load = 200
object_dead_max_time = 86400
object_clear_max_time = 300
max_wait_write_lease = 15
lease_expired_time = 3
max_lease_timeout = 3000
cleanup_lease_threshold = 102400
build_plan_interval = 10
run_plan_expire_interval = 120
build_plan_ratio = 25
dump_stat_info_interval = 60000000
build_plan_default_wait_time = 2
balance_max_diff_block_num = 5
add_primary_block_count = 3
block_chunk_num = 32
task_percent_sec_size = 200
task_max_queue_size = 10000
oplog_sync_max_slots_num = 1024
oplog_sync_thread_num = 1
2.TFS的Nameserver(192.168.2.241)从配置[ns.conf配置文件]
[public]
log_size=1073741824
log_num = 64
log_level=debug
task_max_queue_size = 10240
port = 8108
work_dir = /usr/local/tfs
dev_name = eth0
thread_count = 50
ip_addr = 192.168.2.241
[nameserver]
safe_mode_time = 300
ip_addr_list = 192.168.2.240|192.168.2.241
group_mask = 255.255.255.255
block_max_size = 83886080
max_replication = 2
min_replication = 2
use_capacity_ratio = 98
block_max_use_ratio = 98
heart_interval = 2
object_dead_max_time = 3600
cluster_id = 2
replicate_ratio_ = 50
max_write_filecount = 16
heart_thread_count = 2
heart_max_queue_size = 10
repl_max_time = 60
compact_delete_ratio = 15
compact_max_load = 200
object_dead_max_time = 86400
object_clear_max_time = 300
max_wait_write_lease = 15
lease_expired_time = 3
max_lease_timeout = 3000
cleanup_lease_threshold = 102400
build_plan_interval = 10
run_plan_expire_interval = 120
build_plan_ratio = 25
dump_stat_info_interval = 60000000
build_plan_default_wait_time = 2
balance_max_diff_block_num = 5
add_primary_block_count = 3
block_chunk_num = 32
task_percent_sec_size = 200
task_max_queue_size = 10000
oplog_sync_max_slots_num = 1024
oplog_sync_thread_num = 1
3.TFS的Dataserver(192.168.2.242)配置[ds.conf配置文件]
[public]
log_size=1073741824
log_num = 64
log_level=debug
task_max_queue_size = 10240
port = 9998
work_dir = /usr/local/tfs
dev_name= eth0
thread_count = 50
ip_addr = 192.168.2.242
[dataserver]
ip_addr = 192.168.2.11
ip_addr_list = 192.168.2.240|192.168.2.241
port = 8108
heart_interval = 2
check_interval = 2
replicate_threadcount = 2
block_max_size = 7549747
dump_visit_stat_interval = 60
backup_type = 1
backup_path = /home/tfs
mount_name = /home/disk
mount_maxsize = 14194304
base_filesystem_type = 1
superblock_reserve = 0
avg_file_size = 40960
mainblock_size = 7549747
extblock_size = 419430
block_ratio = 0.5
hash_slot_ratio = 0.5
ds_thread_count = 4
4.TFS的ads(192.168.2.242)配置[ads.conf配置文件]
[public]
log_size=1073741824
log_num = 64
log_level=debug
task_max_queue_size = 10240
port = 12000
work_dir = /usr/local/tfs
dev_name = eth0
thread_count = 50
ip_addr = 192.168.2.242
[adminserver]
check_interval = 5
check_count = 5
warn_dead_count = 3
ds_fkill_waittime = 15
ds_script = /usr/local/tfs/bin/dataserver -f /usr/local/tfs/conf/ds.conf -d
ds_index_list = 1,2,3
[nameserver]
ip_addr = 192.168.2.11
port = 8108
[dataserver]
port = 9998
lock_file = /usr/local/tfs/bin/dataserver
mount_name = /home/disk
5.TFS的Dataserver(192.168.2.243)配置...略和2.243相似,不能写,写不下了。
三、服务启动
1.启动tfs(192.168.2.240)的nameserver
/usr/local/tfs/scripts/tfs start_ns
![](http://blog.51cto.com/attachment/201201/152012367.jpg)
2.启动tfs(192.168.2.241)的nameserver
/usr/local/tfs/scripts/tfs start_ns
![](http://blog.51cto.com/attachment/201201/152027402.jpg)
3.启动tfs(192.168.2.242)的dataserver
/usr/local/tfs/scripts/tfs admin_ns
![](http://blog.51cto.com/attachment/201201/152044210.jpg)
3.1查看到服务端的连接
![](http://blog.51cto.com/attachment/201201/152102130.jpg)
3.2查看dataserver下的块
![](http://blog.51cto.com/attachment/201201/152117614.jpg)
4.启动tfs(192.168.2.243)的dataserver
/usr/local/tfs/scripts/tfs admin_ns
![](http://blog.51cto.com/attachment/201201/152135376.jpg)
四、测试
用tfstool工具连接到服务端上传图片
![](http://blog.51cto.com/attachment/201201/152205287.jpg)
看到上传的图片已经保存成功
![](http://blog.51cto.com/attachment/201201/152223952.jpg)
详解介绍可参考官方网站http://code.taobao.org/p/tfs/wiki/index/
相关文章推荐
- 淘宝TFS文件系统配置(集群)
- TFS--淘宝文件系统Nginx模块安装篇
- 揭秘淘宝自主研发的文件系统――TFS
- 揭秘淘宝自主研发的文件系统—TFS(转)
- 2.淘宝分布式文件系统基础配置dataserver和nameserver介绍
- 揭秘淘宝自主研发的文件系统:TFS
- 揭秘淘宝自主研发的文件系统——TFS
- 淘宝分布式文件存储系统:TFS
- tfs文件系统之NS配置管理
- 淘宝文件系统-TFS解析链接
- 《淘宝技术这十年》淘宝文件系统-tfs的产生
- tfs--淘宝文件系统扩容
- 淘宝 TFS 文件系统/分布式文件系统
- SSH问题:系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 'beans' 的声明“异常
- 关于系统读取properties配置文件的路径问题,包括打成jar包的运行文件
- Linux下NFS(网络文件系统)的建立与配置方法
- 配置网络文件系统 NFS服务
- Android编译系统详解 配置文件
- Android系统wifi之p2p(wifi直连)配置文件权限导致应用不能使用wifi问题
- 系统引导配置文件(/etc/inittab)