mfs分布式文件系统配置

MFS是什么
MFS全称MooseFS,是文件管理系统的抽象层,将用户的数据通过master之后,存储在多个网络存储节点上面,这个过程对于用户来说时透明的,并且MFS具有很强大的网络容错能力;
MFS的特性

  • 1.是一个通用的文件系统,不需要商城应用软件提供接口,直接可以进行使用;
  • 2.允许在线扩容,伸缩性强大;
  • 3.可以设置任意文件的冗余程度,并且不会影响读/写性能;
  • 4.可以在执行事件内恢复误删除的文件;
  • 5.提供快照功能;
  • 6.提供方便的管理界面

MFS的文件系统结构

  • managing server:也就是master,用于负责各个数据存储服务器的管理,文件读写调度,文件空间回收,文件误删除恢复,多节点数据拷贝等;
  • Metalogger Server:负责备份master 服务器上面特殊的日志文件,用于确保master故障时,进行接管操作,类似于ext3之后支持的日志文件系统的日志作用,文件格式通常为changelog_ml.*.mfs;
  • Chunk Server:数据存储服务器,受管理服务器调度,提供实际的数据存储服务,并且在管理服务器的调度下,完成对于数据的操作
  • client computers:客户端使用透明的存储方式,完全和本地文件系统一样的使用;

master配置

官网下载有关mfs的rpm包

[root@server11 3.0.97]# ls
moosefs-cgi-3.0.97-1.rhsysv.x86_64.rpm
moosefs-cgiserv-3.0.97-1.rhsysv.x86_64.rpm
moosefs-chunkserver-3.0.97-1.rhsysv.x86_64.rpm
moosefs-cli-3.0.97-1.rhsysv.x86_64.rpm
moosefs-client-3.0.97-1.rhsystemd.x86_64.rpm
moosefs-client-3.0.97-1.rhsysv.x86_64.rpm
moosefs-master-3.0.97-1.rhsysv.x86_64.rpm
moosefs-metalogger-3.0.97-1.rhsysv.x86_64.rpm
yum install 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 
Loaded plugins: product-id, search-disabled-repos, subscription-manager

 

启动

[root@server11 3.0.97]# /etc/init.d/moosefs-master start
Reloading systemd:                                         [  OK  ]
Starting moosefs-master (via systemctl):                   [  OK  ]
[root@server11 3.0.97]# /etc/init.d/moosefs-cgiserv start
Starting moosefs-cgiserv (via systemctl):                  [  OK  ]
[root@server11 3.0.97]# netstat -antulp | grep :9425
tcp        0      0 0.0.0.0:9425            0.0.0.0:*               LISTEN      3551/python         
[root@server11 3.0.97]# netstat -antulp | grep mfsmaster
tcp        0      0 0.0.0.0:9419            0.0.0.0:*               LISTEN      3273/mfsmaster      
tcp        0      0 0.0.0.0:9420            0.0.0.0:*               LISTEN      3273/mfsmaster      
tcp        0      0 0.0.0.0:9421            0.0.0.0:*               LISTEN      3273/mfsmaster      

 访问

chunkserver端配置

域名解析

[root@server12 mnt]# vim /etc/hosts
172.25.1.11 server11 mfsmaster

安装moosefs-chunkserver

[root@server12 mnt]# yum install moosefs-chunkserver-3.0.97-1.rhsysv.x86_64.rpm 

 建立需要作为chunkserver的目录,并修改所有人,所有组

实验中我们将/mnt/mfs/作为chunkserver,使用根空间,实际生产环境下应该创建目录后,将磁盘挂载在该目录下

[root@server12 ~]# mkdir /mnt/chunk1
[root@server12 ~]# chown mfs.mfs /mnt/chunk1/ -R 

[root@server13 ~]# mkdir /mnt/chunk2
[root@server13 ~]# chown mfs.mfs /mnt/chunk2/ -R 

在配置文件中注明作为chunkserver的目录 

[root@server12 ~]# vim /etc/mfs/mfshdd.cfg
 34 /mnt/chunk1
[root@server13 ~]#  vim /etc/mfs/mfshdd.cfg
 34 /mnt/chunk2

启动

[root@server13 ~]# /etc/init.d/moosefs-chunkserver start
Reloading systemd:                                         [  OK  ]
Starting moosefs-chunkserver (via systemctl):              [  OK  ]
[root@server12 ~]# /etc/init.d/moosefs-chunkserver start
Reloading systemd:                                         [  OK  ]
Starting moosefs-chunkserver (via systemctl):              [  OK  ]

此时浏览器刷新页面:

 moosefs-client配置

安装moosefs-client

[root@foundation1 3.0.97]# yum install moosefs-client-3.0.97-1.rhsystemd.x86_64.rpm -y

同样做域名解析,和其他节点相同

[root@foundation1 mfs]# vim /etc/hosts
 172.25.1.11 serever11 mfsmaster
[root@foundation12 mfs]# vim mfsmount.cfg
 16 /mnt/mfs
[root@foundation1 ~]# mkdir /mnt/mfs
[root@foundation1 ~]# cd /mnt/mfs/
[root@foundation1 mfs]# mfsmount 
mfsmaster accepted connection with parameters: read-write,restricted_ip,admin ; root mapped to root:root
[root@foundation1 mfs]# df
mfsmaster:9421                     26185728  2717184  23468544  11% /mnt/mfs

 建立文件测试

[root@foundation1 mfs]# mkdir dir1 dir2
[root@foundation1 mfs]# mfsgetgoal dir1   ##默认建立的文件,会保存两份,分别在两个chunkserver上
dir1: 2
[root@foundation1 mfs]# mfsgetgoal dir2
dir2: 2
[root@foundation1 mfs]# cp /etc/passwd dir1
[root@foundation1 mfs]# cp /etc/fstab dir2
[root@foundation1 mfs]# mfssetgoal -r 1 dir1   ##设置dir1目录下的文件,只cp一份
dir1:
 inodes with goal changed:                       2
 inodes with goal not changed:                   0
 inodes with permission denied:                  0
[root@foundation1 mfs]# mfsgetgoal dir1
dir1: 1
[root@foundation1 mfs]# mfsfileinfo dir1/passwd    ##查看
dir1/passwd:
    chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
        copy 1: 172.25.1.12:9422 (status:VALID)
[root@foundation1 mfs]# mfsfileinfo dir2/fstab   ##查看
dir2/fstab:
    chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
        copy 1: 172.25.1.12:9422 (status:VALID)
        copy 2: 172.25.1.13:9422 (status:VALID)

 关闭dir1保存文件的chunkserver

[root@server12 ~]# systemctl stop moosefs-chunkserver
[root@foundation1 mfs]# mfsfileinfo dir1/passwd   ##可以查看到看到有这文件,但是不能查看
dir1/passwd:
    chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
        no valid copies !!!
[root@server12 ~]# systemctl start moosefs-chunkserver  ##重新打开chunkserver后文件恢复正常
[root@foundation1 mfs]# mfsfileinfo dir1/passwd 
dir1/passwd:
    chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
        copy 1: 172.25.1.12:9422 (status:VALID)

猜你喜欢

转载自blog.csdn.net/u010489158/article/details/82056634