编者按:现在,有大量的企业采用共享存储服务器NFS的方式,来对应用数据进行网络存储,但这存在性能瓶颈和单点故障的问题,于是,分布式文件存储管理系统开始流行起来。本文为大家推荐了开源的分布式文件系统MFS,相信对大家有所帮助。
分布式文件系统MFS(moosefs) 实现存储共享剖析(上)
分布式文件系统MFS(moosefs) 实现存储共享剖析(中)
分布式文件系统MFS(moosefs) 实现存储共享剖析(下)
MFS客户端的安装及配置
我的生产环境,只有centos和freebsd两种环境,因此下面的描述,只有centos及freebsd挂接MFS文件系统的情形,其他类型的unix系统,待日后尝试。对比前面的操作过程,客户端挂接后使用MFS集群文件系统才是最费时的事情。
一、 centos作为MFS的客户端。
(一) 安装MFS客户端
◆Mfsmount需要依赖FUSE,因此需要先安装好fuse,这里我选用 fuse-2.7.4.tar.gz。
1、解包 tar zxvf fuse-2.7.4.tar.gz
2、切换目录 cd fuse-2.7.4.
3、配置 ./configure
4、编译安装 make;make install
如果系统已经安装了fuse,则跳过这个步骤。
◆安装MFS客户端程序
1、修改环境变量文件/etc/profile ,追加下面的行,然后再执行命令source /etc/profile使修改生效。
export KG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
如果不执行这个操作,在后面安装MFS的过程中,执行命令
./configure --enable-mfsmount时可能出现"checking for FUSE... no configure: error: mfsmount build was forced, but fuse development package is not installed"这样的错误,而不能正确安装MFS客户端程序。
2、解包 tar zxvf mfs-1.5.12.tar.gz
3、切换目录 cd mfs-1.5.12
4、创建用户 useradd mfs -s /sbin/nologin
5、配置 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
6、编译安装 make ; make install
◆检查MFS客户端安装的结果。通过查看目录/usr/local/mfs/bin目录的文件,应该发现如下文件:
(二)挂接和使用MFS文件系统
1、创建挂接点 mkdir /mnt/mfs
2、挂接MFS /usr/local/mfs/bin/mfsmount -h 192.168.0.19 .注意,所有的MFS都是挂接同一个元数据服务器master,而不是其他数据存储服务器chunkserver !
3、通过查看磁盘使用情况来检查是否被挂接成功。
[root@mysql-bk ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 19G 2.7G 16G 15% /
/dev/hda7 51G 180M 48G 1% /backup
/dev/hdc1 145G 6.4G 131G 5% /data
/dev/hda5 19G 173M 18G 1% /home
/dev/hda3 24G 217M 23G 1% /var
/dev/hda2 29G 1.6G 26G 6% /usr
tmpfs 1.7G 0 1.7G 0% /dev/shm
MFS 2.5T 256G 2.2T 11% /mnt/mfs
4、 进入目录/mnt/mfs,上传一个文件,看是否正常?接着在手动用touch 创建一个文件,然后再删除它们,看是否可以正常操作。
5、 设置文件副本数量,建议以3份为佳。
设置副本数目
mfsrsetgoal 3 /mnt/mfs
查看设置是否如我所愿
mfsgetgoal /mnt/mfs/serydir/bind-9.4.0.tar.gz
/mnt/mfs/serydir/bind-9.4.0.tar.gz: 3
6、设置删除文件后空间回收时间。默认的回收时间为7天(604800秒)
修改回收时间为10分钟
mfsrsettrashtime 600 /mnt/mfs
6、 把挂接命令追加到文件/etc/rc.local,可实现开机自动启动挂接MFS.