1、挂载ISO,在最后增加如下一行
[root@localhost ~]# vi /etc/fstab
/dev/cdrom/mediaiso9660 defaults0 0
2、更改yum源
[root@localhost ~]# vi /etc/yum.repos.d/CentOS-Media.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
3、删除其他yum源文件
[root@localhost yum.repos.d]# rm -rf CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Vault.repo
只保留一个
-rw-r--r--. 1 root root 559 8月 3 23:49 CentOS-Media.repo
4、清空yum缓存
[root@localhost yum.repos.d]# yum clean all
5、挂载硬盘(已增加1块硬盘为例)
现在虚拟机上或实际机器中增加一块硬盘
[root@localhost yum.repos.d]# fdisk -l
6、分区
[root@localhost /]# fdisk /dev/sdb
依次输入“n”,“p”“1”,两次回车,“w”
7、格式化
[root@localhost /]# mkfs.ext4 /dev/sdb1
8、给/dev/sdb1磁盘,创建挂载目录
[root@localhost /]# mkdir -p /data/tfs1
9、挂载/dev/sdb1磁盘到/data/tfs1上
[root@localhost /]# mount /dev/sdb1 /data/tfs1
10、验证是否挂载成功
[root@localhost /]# df -h
11、加入启动时自动挂载
之后可以重启机器,看是否正常挂载
[root@localhost ~]# mount -l
-------------------------------分隔线---------------------------------------
下面正式安装TFS及相关服务
一、安装依赖的软件包
1、automake TFS基于automake工具构建
[root@localhost ~]# yum install automake.noarch
提示 Package automake-1.11.1-4.el6.noarch already installed and latest version (已安装)
[root@localhost ~]# rpm -qa | grep automake
automake-1.11.1-4.el6.noarch
2、libtool automake需要使用libtool
[root@localhost ~]# yum install libtool
[root@localhost ~]# rpm -qa | grep libtool
libtool-2.2.6-15.5.el6.x86_64
libtool-ltdl-2.2.6-15.5.el6.x86_64
3、realine 用于命令行编辑的库
[root@localhost ~]# yum install readline-devel
[root@localhost ~]# rpm -qa | grep readline
readline-devel-6.0-4.el6.x86_64
readline-6.0-4.el6.x86_64
4、libz-devel 用于数据压缩/解压缩
[root@localhost ~]# yum install zlib-devel
[root@localhost ~]# rpm -qa | grep zlib-devel
zlib-devel-1.2.3-29.el6.x86_64
5、uuid-devel 用于生成全局唯一ID
[root@localhost ~]# yum install e2fsprogs-devel
[root@localhost ~]# rpm -qa | grep e2fsprogs
e2fsprogs-libs-1.41.12-14.el6.x86_64
e2fsprogs-devel-1.41.12-14.el6.x86_64
e2fsprogs-1.41.12-14.el6.x86_64
[root@localhost ~]# yum install libuuid-devel
[root@localhost ~]# rpm -qa | grep libuuid
libuuid-2.17.2-12.9.el6.x86_64
libuuid-devel-2.17.2-12.9.el6.x86_64
6、tcmalloc google的内存管理库(可选)
二、安装tb-common-utils
TFS使用tb-common-utils软件包,tb-common-utils包含淘宝使用的基础系统库tbsys和网络库tbnet两个组件;安装tb-common-utils前需要设置环境变量TBLIB_ROOT,tbsys和tbnet将会被安装TBLIB_ROOT对应的路径(必须是绝对路径)下,TFS会在这个路径下查找tbsys、tbnet头文件和库。
设置TBLIB_ROOT环境变量:
1、在~/.bash_profile文件中加入,export TBLIB_ROOT=path_to_tbutil , 然后执行source
[root@localhost ~]# vi /root/.bash_profile
[root@localhost ~]# source /root/.bash_profile
2、下载tb-common-utils源码
注意: 这里不要checkout最新版本,version18以后的修改导致部分接口不能前向兼容
[root@localhost ~]# svn co -r 18 http://code.taobao.org/svn/tb-common-utils/trunk tb-common-utils
[root@localhost tb-common-utils]# sh build.sh
如果一切顺利,tb-common-utils已经安装成功到$TBLIB_ROOT路径下
三、安装TFS
1、下载源码,2.2.0版本
[root@localhost ~]# svn co http://code.taobao.org/svn/tfs/branches/dev_for_outer_users tfs
2、初始化
[root@localhost tfs-2.2.9]# sh build.sh init
初始化成功
3、编译
–prefix 指定tfs安装路径,默认会被安装到~/tfs_bin目录
–with-release 指定按release版本的参数进行编译,如果不指定这个参数,则会按开发版本比较严格的参数编译,包含-Werror参数,所有的警告都会被当错误,在高版本gcc下会导致项目编译不过,很多开源用户反馈的编译问题都跟这个有关,因为gcc高版本对代码的检查越来越严格,淘宝内部使用的gcc版本是gcc-4.1.2
[root@localhost tfs]# ./configure --prefix=/usr/local/taobaoFS --with-release --without-tcmalloc
[root@localhost tfs]# make
[root@localhost tfs]# make install
四、配置文件:
ns.conf:
ds.conf:
注意:挂载目录是/data/tfs1至/data/tfs(i),其中i为磁盘号。
而ds.conf配置文件中的配置 mount_name = /data/tfs 没有加(i)
配置文件具体查看《tfs介绍及配置文件详解》
五、启动说明:
1、运行TFS
启动nameserver
执行scripts目录下的tfs:
[root@localhost scripts]# ./tfs start_ns
nameserver is up SUCCESSFULLY pid: 36609
2、启动DS
现有TFS可以在一台服务器上启动多个DataServer进程。一般每个DataServer进程负责一个磁盘。
将数据盘格式化成EXT4文件系统,并挂载到/data/tfs1至/data/tfs(i),其中i为磁盘号。
启动步骤:
A、存储区预分配。执行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@localhost scripts]# ./stfs clear 1
[root@localhost scripts]# ./stfs format 1
B、运行data server。有两种方法:
通过adminserver来启动dataserver(推荐): 执行scripts下的./tfs admin_ds
直接启动dataserver,执行scripts下的./tfs start_ds 2,4-6, 则会启动dataserver2,dataserver4,dataserver5,dataserver6
[root@localhost scripts]# ./tfs start_ds 1
原文地址:http://meitangyanyan.blog.51cto.com/8768306/1683294