MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
MFS文件系统的组成架构如图所示。
客户端向已知的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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。