安装mfs
[root@server1 ~]# yum install -y moosefs-cgi-3.0.97-1.rhsysv.x86_64.rpm moosefs-cgiserv-3.0.97-1.rhsysv.x86_64.rpm moosefs-master-3.0.97-1.rhsysv.x86_64.rpm
添加解析
[root@server1 ~]# vim /etc/hosts
172.25.40.1 server1 mfsmaster
启动mfsmaster服务
[root@server1 ~]# cd /var/lib/mfs
[root@server1 mfs]# /etc/init.d/moosefs-master start
查看端口
[root@server1 mfs]# netstat -antlp
metalogger 监听的端口地址(默认是9419);9420 用于chunkserver 连接的端口地址(默认是9420);9421 用于客户端挂接连接的端口地址(默认是9421)
![]()
启动cgi服务
[root@server1 mfs]# /etc/init.d/moosefs-cgiserv start
网页访问http://172.25.40.1:9425/mfs.cgi
部署从节点
【server2】
安装chunkserver
[root@server2 ~]# yum install moosefs-chunkserver-3.0.97-1.rhsysv.x86_64.rpm -y
节点的配置
[root@server2 ~]# vim /etc/mfs/mfshdd.cfg
最后一行添加: /mnt/chunk1 #存储位置
[root@server2 ~]# mkdir /mnt/chunk1
[root@server2 ~]# chown mfs.mfs /mnt/chunk1/ #需要确保用户mfs对该共享点有权限读写
添加解析
[root@server2 ~]# vim /etc/hosts
172.25.40.1 server1 mfsmaster
开启服务
[root@server2 ~]# /etc/init.d/moosefs-chunkserver start
【server3】
安装chunkserver
[root@server3 ~]# yum install moosefs-chunkserver-3.0.97-1.rhsysv.x86_64.rpm -y
节点的配置
[root@server3 ~]# vim /etc/mfs/mfshdd.cfg
最后一行添加: /mnt/chunk2 #存储位置
[root@server3 ~]# mkdir /mnt/chunk2
[root@server3 ~]# chown mfs.mfs /mnt/chunk2/ #需要确保用户mfs对该共享点有权限读写
添加解析
[root@server3 ~]# vim /etc/hosts
172.25.40.1 server1 mfsmaster
开启服务
[root@server3 ~]# /etc/init.d/moosefs-chunkserver start
搭建客户端(真机)
安装客户端
[root@foundation40 3.0.97]# yum install -y moosefs-client-3.0.97-1.rhsystemd.x86_64.rpm
配置解析
[root@foundation40 3.0.97]# vim /etc/hosts
172.25.40.1 server1 mfsmaster
配置文件挂载
[root@foundation40 3.0.97]# vim /etc/mfs/mfsmount.cfg
16 /mnt/mfs #打开注释 定义客户端默认挂载
挂载
[root@foundation40 ~]# mkdir /mnt/mfs
[root@foundation40 ~]# mfsmount
[root@foundation40 ~]# df
数据存储
在挂载的目录下新建两个目录
[root@foundation40 ~]# cd /mnt/mfs/
[root@foundation40 mfs]# mkdir dir1
[root@foundation40 mfs]# mkdir dir2
查看数据存储服务器
[root@foundation40 mfs]# mfsgetgoal dir1/
dir1/: 2
[root@foundation40 mfs]# mfsgetgoal dir2/
dir2/: 2
设置存储
[root@foundation40 mfs]# mfssetgoal -r 1 dir1/
测试:
将文件存储到/mnt/mfs/dir中
[root@foundation40 dir1]# cp /etc/passwd .
[root@foundation40 dir1]# ls
passwd
查看文件信息
[root@foundation40 dir1]# mfsfileinfo passwd
[root@foundation40 dir1]# cd ..
[root@foundation40 mfs]# cd dir2/
[root@foundation40 dir2]# cp /etc/fstab .
[root@foundation40 dir2]# ls
fstab
[root@foundation40 dir2]# mfsfileinfo fstab
数据存储默认为两份
测试将存储passwd的chunkserver关闭,再次查看文件信息
[root@server2 ~]# /etc/init.d/moosefs-chunkserver stop
[root@foundation40 dir1]# mfsfileinfo passwd
此时已经查看不到passwd的数据,如果此时要打开passwd文件电脑会卡住因为数据已经不在这个主机上存储了
离散存储
[root@server2 ~]# /etc/init.d/moosefs-chunkserver start
[root@foundation40 dir1]# dd if=/dev/zero of=file1 bs=1M count=100
[root@foundation40 dir1]# mfsfileinfo file1
[root@foundation40 dir1]# cd ..
[root@foundation40 mfs]# cd dir2/
[root@foundation40 dir2]# dd if=/dev/zero of=file2 bs=1M count=100
[root@foundation40 dir2]# mfsfileinfo file2
恢复原数据
删除passwd
[root@foundation40 mfs]# cd dir1/
[root@foundation40 dir1]# ls
file1 passwd
[root@foundation40 dir1]# rm -fr passwd
查看文件缓存时间
[root@foundation40 dir1]# mfsgettrashtime .
.: 86400
#文件删除后存放在 “ 垃圾箱 ” 中的时间称为隔离时间, 这个时间可以用 mfsgettrashtime 命令来查看,用 mfssettrashtime 命令来设置,单位为秒,默认为 86400 秒
恢复
[root@foundation40 ~]# mkdir /mnt/mfsmeta
[root@foundation40 ~]# mfsmount -m /mnt/mfsmeta/
mfsmaster accepted connection with parameters: read-write,restricted_ip
[root@foundation40 ~]# cd /mnt/mfsmeta/trash #进入trash,该目录下有很多文件
[root@foundation40 trash]# find -name *passwd* #查找要恢复的文件
./004/00000004|dir1|passwd
[root@foundation40 trash]# mv ./004/00000004\|dir1\|passwd undel/
[root@foundation40 trash]# cd /mnt/mfs/dir1
[root@foundation40 dir1]# ls
file1 passwd #查看删除的文件被找回来了