TFS dataserver故障测试

本文将介绍和演示部分data server故障条件下的tfs数据写入问题。

环境介绍:

Tfs name server vip:  192.168.1.229

Tfs namerver 1: 192.168.1.225

Tfs namerver 2: 192.168.1.226

Data server 1:  192.168.1.226

Data server 2:  192.168.1.227

Data server 3:  192.168.1.228

一:下列配置环境下,模拟单台data server 故障

max_replication = 3   #Block 最大备份数, default: 2
min_replication = 2   #Block 最小备份数, default: 2

修改完成后重启name server服务,本文中测试均采用一个data server 挂载点

225服务器:
# /usr/local/tfs/scripts/tfs  check_ns
 nameserver is running pid: 1061 
 
226服务器:
# /usr/local/tfs/scripts/tfs  check_ns
 nameserver is running pid: 32506 
# /usr/local/tfs/scripts/tfs  check_ds
 dataserver [ 1 ] is running 
 
227服务器:
# /usr/local/tfs/scripts/tfs  check_ds
 dataserver [ 1 ] is running 
 
228服务器:
# /usr/local/tfs/scripts/tfs  check_ds
 dataserver [ 1 ] is running

使用ssm工具查看当前的状态:

# /usr/local/tfs/bin/ssm -s 192.168.1.229:8108
show > server -m

写入测试:
# /usr/local/tfs/bin/tfstool -s 192.168.1.229:8108 
TFS> put /etc/security/limits.conf
put /etc/security/limits.conf => T1RtZTByJT1RCvBVdK success.

关闭226的data server后再次写入测试
# /usr/local/tfs/scripts/tfs  stop_ds 1
 dataserver 1 exit SUCCESSFULLY 
 
TFS> put /etc/security/limits.conf  //发现写入失败
put /etc/security/limits.conf =>  fail.

show > server -m //发现找不到master块

二:下列配置环境下,重新测试

max_replication = 2   #Block 最大备份数, default: 2
min_replication = 2   #Block 最小备份数, default: 2
 
# /usr/local/tfs/bin/ssm -s 192.168.1.229:8108
show > server -m

TFS> put /etc/security/limits.conf  //可成功写入
put /etc/security/limits.conf => T1btxTByhT1RCvBVdK success.

上传文件成功后,tfs会返回三个重要的参数:block_id,file_id和filename。我们可以通过admintool工具查询block_id在哪些dataserver上,然后用ds_clinet工具列出对应block上的所有的file_id和filename

# /usr/local/tfs/bin/admintool -s 192.168.1.229:8108
TFS > listblk 1011
list block 1011 success.
------block: 1011, has 2 replicas------
block: 1011, (0)th server: 192.168.1.226:10000 
block: 1011, (1)th server: 192.168.1.227:9998

三:总结

1: 如果想要成功写入,那么实际存活的data server的数量要大于或等于max_replication的设置值。例如3台data server存活情况下,如果max_replication参数设置为3,那么data server 宕机一台,则会写入失败。

2: 当只存在一台data server的情况下,max_replication和min_replication参数值均要设置为1,否则将会写入失败。

3: 猜想tfs的数据容灾机制

例如:3台data server服务器,每台服务器提供三个mount point,一个mount point 可写入数据为200G; max_replication和min_replication参数均设置为2。那么实际上,总的tfs可用空间应该为200G * 3  *  3 = 1.8T 。

由于max_replication和min_replication参数均设置为2,也就是说数据至少要存两份。由此得出实际tfs的可用空间为900G。

时间: 2024-11-15 02:40:49

TFS dataserver故障测试的相关文章

TFS增加dataserver

通过之前的努力,已经搭建好了一套基本的tfs环境,包括一台nameserver和一台dataserver以及独立的nginx-tfs,而在实际应用中的分布式文件系统,只有一台dataserver明显是不行的,因而本文将介绍tfs环境下添加data server的操作和配置过程. 环境介绍: Tfs nameserver服务器IP: 192.168.1.225 Tfs dataserver服务器IP: 192.168.1.227 新增tfs dataserver服务器IP:192.168.1.22

使用TFS

本文介绍了tfs 2.2.16版本在centos linux 6.3 64位系统上单台nameserver和dataserver环境的配置过程. 在Tfs体系架构中把服务器角色分配为nameserver, dataserver, rcs server,meta server等,其中nameserver和data server是核心,nameserver在TFS中类似DNS服务器的作用,客户端通过向nameserver发起请求,查询dataserver的相关信息,然后在dataserver上进行添

TFS分布式文件系统

TFS是由淘宝开发的一个分布式文件系统,详细情况请参见TFS项目主页.当前,TFS的最新版本为V2.6.6,本系列涉及讨论的TFS版本为V2.2.8(tfs-VER:V2.0.1). TFS有三个大的稳定版本,V1.3.V2.0和V2.2.在使用时,NameServer.DataServer应该为同一个版本,否则,有可能出现协议不兼容的情况.2.6版本变化较大,与上述的三个版本,其数据存储的格式都不兼容,不能直接升级. 以下为讨论的提纲: TFS NameServer的高可用性(HA) TFS

TFS的nginx模块配置

在部署完基本的tfs环境之后,就可以通过tfstool工具开始上传文件,上传完的文件可以通过ds_client工具来读取,也可以通过web方式来展示,本文介绍nginx的tfs模块配置来实现http形式展现tfs文件系统上传后的文件.当然如果你高兴的话,也可以用tengine来实现. 环境介绍: tfs nameserver服务器  192.168.1.225/24 tfs dataserver服务器  192.168.1.227/24 tfs-nginx服务器       192.168.1.

TFS数据迁移之sync_by_blk

本文档记录了两套tfs 2.2.16系统之间的数据迁移过程. Source环境介绍: Tfs 主nameserver: 192.168.1.225/24 (vip 229) Tfs 从nameserver: 192.168.1.226/24 Tfs  data server 1: 192.168.1.226/24 (启动三个挂载点,每个挂载点分配20G空间) Tfs  data server 1: 192.168.1.227/24 (启动三个挂载点,每个挂载点分配20G空间) Tfs  data

伟大的创新源于巨人的肩膀

如果您看了该文章,敬请遵守一个原则:相左勿喷,非诚勿扰.谢谢了. 最近在做移动应用的框架设计,2周时间过去了,对自己看到的和想做的做一个整理.一直对别人说,管理其实就是3个词:重点/专业/高效.那么移动应用的设计重点是什么? 文件系统的设计! 1 文件系统的访问特性决定设计? 图片:可以延迟访问 文件:点击下载或阅读 大小:均值20k左右 1.1 是业务的一部分,很多时候实时性没有业务的高 1.2 很多的业务情境中,事务性没有业务的高 1.3 和业务的数据大小相差1~2个量级,业务对应数据库的记

tfs (二) 配置dataServer、分区、挂载数据盘

目前的情况,tfs安装在/usr/local/tfs/ 在conf目录下共有6个配置文件(若安装后没有的,请从源码中conf目录下拷贝): ns.conf.ads.conf.ds.conf.rc.conf.meta.conf和rs.conf 其中ns.conf用于配置nameserver,ds.conf用于配置dataserver,ads.conf为可选配置文件,用于配置nameserver和dataserver地址信息,可用于快速启动ns和ds.rc.conf为可选配置文件,用于配置rcser

tfs三大管理工具操作示例

大家都知道tfs分布式存储安装方法,特别是v1版本的,v2版本的几乎没人讲,维护的文档更是少之又 少,tfs要是用好了确实是好东西,虽说开源了,但是很少人敢于尝试,主要是坑太多,坑太多是因为 需要了解的知识点太多,没有完善的文档,所以一直推广不起来,只能淘宝和与之相关的公司在用了 . 不多说了,能开源就不错啦,本篇只讲下tfs三大管理工具:tfstool ssm   admintool. 一,tfstool [[email protected] ~]# /usr/local/tfs/bin/tf

Mint17下安装TFS(taobao file sysytem)(带gcc4.8.2版本)

最近研究了一下淘宝的分布式文件系统TFS(Taobao file system). TFS(taobao file system)是一个高可扩展.高可用.高性能.面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据的存储:TFS使用C++语言开发,需要运行在64bit Linux OS上,本文介绍如何在Linux环境编译安装TFS. 在安装的过程中,遇到了许多奇葩的问题,在此吐槽一下淘宝的团队真是懒.TFS介绍里面提到他们团队是用的gcc4.1.2进行编译的,高版本可能会报错,不过