MFS是一个具备容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。 python
MFS文件系统的组成架构如图所示。c++
客户端向已知的Chunk Server请求发送数据。浏览器
主机 | IP地址 | 主要软件 |
---|---|---|
Master Server | 192.168.58.10 | mfs-1.6.27-5.tar.gz |
MetaLogger Server | 192.168.58.11 | mfs-1.6.27-5.tar.gz |
Chunk Server1 | 192.168.58.12 | mfs-1.6.27-5.tar.gz |
Chunk Server2 | 192.168.58.13 | mfs-1.6.27-5.tar.gz |
Client | 192.168.58.14 | mfs-1.6.27-5.tar.gz fuse-2.9.2.tar.gz |
systemctl stop firewalld.service //关闭防火墙及加强安全功能 systemctl disable firewalld.service setenforce 0 yum install -y zlib-devel gcc gcc-c++ //安装软件包 useradd -s /sbin/nologin -M mfs //建立用户 mkdir /abc //建立压缩目录 mount.cifs //192.168.58.22/share /abc //挂载 cd /abc tar zxvf mfs-1.6.27-5.tar.gz -C /opt //解压软件包 cd /opt/mfs-1.6.27 //安装软件包 ./configure \ --prefix=/usr/local/mfs \ --with-default-user=mfs \ --with-default-group=mfs \ --disable-mfschunkserver \ --disable-mfsmount make && make install cd /usr/local/mfs/etc/mfs //复制配置文件 cp mfsmaster.cfg.dist mfsmaster.cfg cp mfsexports.cfg.dist mfsexports.cfg cp mfstopology.cfg.dist mfstopology.cfg cd /usr/local/mfs/var/mfs cp metadata.mfs.empty metadata.mfs /usr/local/mfs/sbin/mfsmaster start //启动Master Server ps -ef | grep mfs //检查是否启动 /usr/local/mfs/sbin/mfsmaster -s //中止命令(选择性使用)
systemctl stop firewalld.service //关闭防火墙及加强安全功能 systemctl disable firewalld.service setenforce 0 yum install -y zlib-devel gcc gcc-c++ //安装软件包 useradd -s /sbin/nologin -M mfs //建立用户 mkdir /abc //建立压缩目录 mount.cifs //192.168.58.22/share /abc //挂载 cd /abc tar zxvf mfs-1.6.27-5.tar.gz -C /opt //解压软件包 cd /opt/mfs-1.6.27 //安装软件包 ./configure \ --prefix=/usr/local/mfs \ --with-default-user=mfs \ --with-default-group=mfs \ --disable-mfschunkserver \ --disable-mfsmount make && make install cd /usr/local/mfs/etc/mfs cp mfsmetalogger.cfg.dist mfsmetalogger.cfg vi mfsmetalogger.cfg ... MASTER_HOST = 192.168.58.10 //修改成Master Server的IP地址 ... /usr/local/mfs/sbin/mfsmetalogger start ps -ef | grep mfs /usr/local/mfs/sbin/mfsmetalogger -s //中止MetaLogger Server(选择性使用)
systemctl stop firewalld.service //关闭防火墙及加强安全功能 systemctl disable firewalld.service setenforce 0 yum install -y zlib-devel gcc gcc-c++ //安装软件包 useradd -s /sbin/nologin -M mfs //建立用户 mkdir /abc //建立压缩目录 mount.cifs //192.168.58.22/share /abc //挂载 cd /abc tar zxvf mfs-1.6.27-5.tar.gz -C /opt //解压软件包 cd /opt/mfs-1.6.27 //安装软件包 ./configure \ --prefix=/usr/local/mfs \ --with-default-user=mfs \ --with-default-group=mfs \ --disable-mfsmaster \ //注意这里与前面的区别 --disable-mfsmount make && make install cd /usr/local/mfs/etc/mfs cp mfschunkserver.cfg.dist mfschunkserver.cfg cp mfshdd.cfg.dsit mfshdd.cfg vi mfschunkserver.cfg ... MASTER_HOST = 192.168.58.10 //修改成Master Server的IP地址 ... vi mfshdd.cfg /data //末尾添加一行,这里的/data是一个给MFS的分区 mkdir /data /建立相应/data目录 chown -R mfs:mfs /data //修改属主属组 /usr/local/mfs/sbin/mfschunkserver start //启动Chunk Server /usr/local/mfs/sbin/mfschunkserver -s //关闭Chunk Server (选择性使用)
systemctl stop firewalld.service //关闭防火墙及加强安全功能 systemctl disable firewalld.service setenforce 0 yum install -y zlib-devel gcc gcc-c++ //安装软件包
tar xzvf fuse-2.9.2.tar.gz -C /opt //先挂载好,而后到目录下解压 cd /opt/fuse-2.9.2 ./configure make && make install vi /etc/profile export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH //添加到末尾 source /etc/profile
useradd -s /sbin/nologin -M mfs cd /abc tar zxvf mfs -C /opt cd /opt/mfs ./configure \ --prefix=/usr/local/mfs \ --with-default-user=mfs \ --with-default-group=mfs \ --disable-mfschunkserver \ --disable-mfsmaster \ --disable-mfschunkserver \ --enable-mfsmount //开启MFS挂载功能 make && make install mkdir /opt/mfs //建立挂载点 modprobe fuse //加载fuse模块到内核 /usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.58.10 df -hT //查看挂载状况 vi /etc/profile //优化客户端 export PATH=/usr/local/mfs/bin:$PATH //添加/usr/local/mfs/bin至环境变量 source /etc/profile
Mfscgiserv是用python编写的一个Web服务器,其监听端口是9425,能够在Master Server上经过命令/usr/local/mfs/sbin/mfscgiserv来启动,用户利用浏览器就能够全面监控全部客户挂载、Chunk Server、Master Server,以及客户端的各类操做等。
客户端上经过浏览器访问http://192.168.58.10:9425安全