淘宝分布式文件系统TFS安装配置手册:DataServer配置

运维 系统运维 分布式
在《淘宝分布式文件系统TFS安装配置手册:系统安装》这篇文章中,详细介绍了TFS的安装方法和技巧,本文沿袭上一篇,谈谈DataServer配置相关步骤,希望对大家有所帮助。

目前的情况,tfs安装在/usr/local/tfs/。在 /usr/local/tfs/conf/目录,共有三个文件需要配置:ns.conf、ads.conf和ds.conf。

各个文件功能

  • ns.conf用于配置nameserver,
  • ds.conf用于配置dataserver,
  • ads.conf为可选配置文件,用于配置nameserver和dataserver地址信息,可用于快速启动ns和ds。
  • rc.conf为可选配置文件,用于配置rcserver相关信息,主要适用于集群多,应用多的用户,可实现应用资源和集群资源的管理。
  • meta.conf为可选配置文件,用于配置metaserver相关信息,主要用于自定义文件名功能。
  • rs.conf为可选配置文件,用于配置rootserver相关信息,主要用于自定义文件名功能。
  • ds.conf 中注意修改的项目

public->log_level=debug #日志文件的级别

public->port = 9998  #监听端口

public->work_dir=/usr/local/tfs #工作目录

public->dev_name= eth0 #网络设备

public->ip_addr = 192.168.119.217 #本机IP地址(vip)

dataserver->ip_addr = 192.168.119.145 #NameServer配置HA时请设置为vip,没配置HA时请设置为主ns的ip

dataserver->ip_addr_list = 192.168.119.145|192.168.119.147 #!nameserver IP地址列表(master, salve的ip地址,只能以’|'分隔)

dataserver->port = 8108 #!NameServer 监听的端口, 1024 ~ 55535

dataserver->mount_name =  /data/tfs #mount路径

dataserver->mount_maxsize = 141000000  #mount 时磁盘的大小, 单位(KB),TFS将使用这么多的空间134G

dataserver->block_max_size = 67108864 #block ***size

dataserver->mainblock_size = 67108864 #每个数据存储块的大小

dataserver->extblock_size = 8388608  #扩展块的大小, 单位(字节)

ds.conf 内容 (其中有中文,要保存为UTF-8,不带标签)

 


[public]

#日志文件的size,default 1GB

log_size=1073741824

#保留日志文件的个数,default 64

log_num = 64

#日志文件的级别, default info,线上使用建议设为info,调试设为debug

#dubug级日志量会很大

log_level=debug

#main queue size default 10240

#工作队列size, default 10240

task_max_queue_size = 10240

#listen port

#监听端口, 1024 ~ 65535

port = 9998

#work directoy

#工作目录

work_dir=/usr/local/tfs

#device name

#网络设备

dev_name= eth0

#work thread count default 4

#工作线程池 default 4

thread_count = 4

#ip addr

#本机IP地址(vip)

ip_addr = 192.168.119.217

[dataserver]

#NameServer ip addr(vip)

#!NameServer vip地址

#NameServer配置HA时请设置为vip,没配置HA时请设置为主ns的ip

ip_addr = 192.168.119.145

#!nameserver IP地址列表(master, salve的ip地址,只能以’|'分隔)

#如果没有salve,第二个ip随便写一个

ip_addr_list = 192.168.119.145|192.168.119.147

#nameserver port

#!NameServer 监听的端口, 1024 ~ 55535

port = 8108

#备集群NameServer的vip地址, 没有搭建主副集群的可以不用配置此项

#slave_nsip = 192.168.0.2:8108

#无效配置,直接加到slave_nsip项即可

#slave_nsport = 8108

#heart interval time(seconds)

#dataserver 与 nameserver心跳间隔时间, 单位(秒), default: 2

heart_interval = 2

check_interval = 2

#datafile失效时间, 单位(秒), default: 90

#expire_datafile_time = 90

#拷贝一个Block超时时间, 单位(秒), default: 180

#expire_clonedblock_time = 180

#压缩一个Block超时时间, 单位(秒), default: 600

#expire_compactblock_time = 600

#复制Block线程池的大小, default: 2

replicate_threadcount = 2

#是否写同步日志, defalut: 1

#write_sync_flag = 1

#block ***size

block_max_size = 7549747

#定时dump统计信息的间隔时间, 单位(秒), default: 60

dump_visit_stat_interval = 60

#io操作的阀值, 超过此值时, 会警告

#max_io_warning_time = 0

#备件类型, 1: tfs, 2: nfs

backup_type = 1

#备件路径

backup_path =  /data/tfs

#***datafile值, default: 50

#max_data_file_nums = 50

#crc error的***个数

#max_crc_error_nums = 4

#eio error的***个数

#max_eio_error_nums_ = 6

#超时block检测时间, 单位(秒)

#expire_checkblock_time = 86000

#cpu使用率

#max_cpu_usage = 60

#dump 统计信息的间隔时间, 单位(微秒)

#dump_stat_info_interval = 60000000

#mount路径

mount_name =  /data/tfs

#mount 时磁盘的大小, 单位(KB),不要大过文件系统实际剩余空间

#***的挂载空间,如果你的/data/tfs1有1T,而设置了4G ,那只有4G的块可用空间,剩下的被浪费。

#120G  ,原来分134G,存储区预分配时报错了

mount_maxsize = 125829120

#文件系统类型: 0: no initialize, 1: ext4, 2: ext3 posix fallocate, 3: ext3 ftruncate

base_filesystem_type = 1

#超级块存存储的保留位置,default: 0

superblock_reserve = 0

#平均文件的大小, 单位(字节)

avg_file_size = 40960

#主块的大小, 单位(字节)

#每个数据存储块的大小

mainblock_size = 7549747

#扩展块的大小, 单位(字节)

extblock_size = 419430

#主块与扩展的比例

block_ratio = 0.5

#hash桶的比例

hash_slot_ratio = 0.5

ds_thread_count = 4

#访问控制ip mask, 可选

#access_control_ipmask = 192.168.0.1

#访问控制文件路径, 可选

#access_control_file = /home/xxxxx/xxxxxx/tfs/control.file

挂数据盘,一台服务器,可以挂载多块数据盘。

———-查看硬盘————

fdisk -l  发现本台服务器上有5块146G的磁盘,***块是系统盘。其它4块可以做数据盘

Disk /dev/sda: 146.6 GB

Disk /dev/sdb: 146.6 GB

Disk /dev/sdc: 146.6 GB

Disk /dev/sdd: 146.6 GB

Disk /dev/sde: 146.6 GB

———-umount———

分区,格式化之前,如果已挂载,要先反挂载

umount /dev/sdb1

umount /dev/sdc1

umount /dev/sdd1

umount /dev/sde1

———-分区—————

对数据盘进行分区,一块盘分一个区就行。

执行“fdisk /dev/sdb”命令,对数据盘进行分区;

根据提示,依次输入“n”,“p”“1”,两次回车,“wq”,分区就开始了,很快就会完成。

fdisk /dev/sdb

fdisk /dev/sdc

fdisk /dev/sdd

fdisk /dev/sde

———–格式化———-

mkfs.ext4 /dev/sdb1

mkfs.ext4 /dev/sdc1

mkfs.ext4 /dev/sdd1

mkfs.ext4 /dev/sde1

———–挂载————–

建好目录,***块磁盘就挂载在***个目录上。目录数据取决于你磁盘的数量。

mkdir /data/tfs1

mkdir /data/tfs2

mkdir /data/tfs3

mkdir /data/tfs4

mount /dev/sdb1 /data/tfs1

mount /dev/sdc1 /data/tfs2

mount /dev/sdd1 /data/tfs3

mount /dev/sde1 /data/tfs4

———–加入启动时自动挂载—————-

设置开机自动挂载

[root@loctfs scripts]# vi /etc/fstab

加入以下信息

/dev/sdb1                /data/tfs1              ext4    defaults        1 2

/dev/sdc1                /data/tfs2              ext4    defaults        1 2

/dev/sdd1                /data/tfs3              ext4    defaults        1 2

/dev/sde1                /data/tfs4              ext4    defaults        1 2

————–重启系统—————————–

查看mount情况

————存储区预分配————————————

注意:挂载目录是/data/tfs1至/data/tfs(i),其中i为磁盘号。

而ds.conf配置文件中的配置  mount_name =  /data/tfs  没有加(i)

执行scripts下的stfs format n (n为挂载点的序号,具体用法见stfs的Usage)。例如stfs format 2,4-6 则会对/data/tfs2,

/data/tfs4,/data/tfs5,/data/tfs6,进行预分配。运行完后会在生成/data/tfs2, /data/tfs4,/data/tfs5,/data/tfs6下预先创建主块,扩展块及相应的统计信息。

[root@locname conf]#  cd /usr/local/tfs/scripts

[root@locname scripts]# ./stfs format 1-4    //分配第1,2,3,4个存储区:

————运行data server————

有两种方法:

1)通过adminserver来启动dataserver(推荐): 执行scripts下的./tfs admin_ds

2)直接启动dataserver,执行scripts下的./tfs start_ds 2,4-6, 则会启动dataserver2,dataserver4,dataserver5,dataserver6

目前我们没有配置adminserver的ads.conf, 我们使用方法2来启动。

cd /usr/local/tfs/scripts

./tfs start_ds 1-4

我们一台服务器上启动了4个进程:

停止: ./tfs stop_ds 1-4。

责任编辑:黄丹 来源: mysqlops
相关推荐

2014-01-15 13:56:28

分布式文件系统TFS淘宝

2014-01-10 10:39:35

分布式文件系统TFS

2014-01-15 16:49:48

分布式文件系统TFS淘宝

2014-01-15 14:00:33

分布式文件系统TFS淘宝

2012-10-11 14:03:56

FastDFS分布式文件系统

2014-06-24 15:24:52

Moosefs分布式集群

2010-11-01 05:50:46

分布式文件系统

2013-06-08 14:34:42

Hadoop 2.0

2014-01-16 09:42:19

TFS分布式文件系统

2017-10-17 08:33:31

存储系统分布式

2010-11-15 13:24:07

分布式文件系统

2013-06-18 14:00:59

HDFS分布式文件系统

2012-08-31 16:04:11

HDFS分布式文件系统

2013-01-07 10:29:31

大数据

2012-09-19 13:43:13

OpenAFS分布式文件系统

2012-09-19 15:05:24

MogileFS分布式文件系统

2010-06-04 18:45:43

Hadoop分布式文件

2013-05-27 14:46:06

文件系统分布式文件系统

2011-07-15 17:48:27

Platform

2012-05-10 15:23:53

分布式文件系统测试
点赞
收藏

51CTO技术栈公众号