分布式文件系统就是把一些分散在多台计算机上的共享文件夹,集合到一个共享文件夹内,用户要访问这些文件夹的时候,只要打开一个文件夹,就能够的看到全部连接到此文件夹内的共享文件夹。c++
MFS是一个具备容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。sql
### 写入的过程
#### 实验环境: |服务器节点名称|IP地址| |--|--| |master|192.168.45.133| |masterlogger|192.168.45.130| |chunk1|192.168.45.136| |chunk2|192.168.45.134| |client|192.168.45.135|
#关闭防火墙 [root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# setenforce 0 #安装组件 [root@localhost ~]# yum install zlib-devel gcc gcc-c++ -y #挂载mfs必要软件包 [root@localhost ~]# mount.cifs //192.168.100.3/lzp /mnt Password for root@//192.168.100.3/lzp: [root@localhost ~]# cd /mnt/mfs #解压安装包 [root@localhost mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt [root@localhost mfs]# cd /opt/mfs-1.6.27/ [root@localhost mfs-1.6.27]# useradd -s /sbin/nologin mfs [root@localhost mfs-1.6.27]# ./configure \ --prefix=/usr/local/mfs \ //指定安装目录 --with-default-user=mfs \ //指定程序运行用户 --with-default-group=mfs \ //指定程序运行组 --disable-mfschunkserver \ //禁用Chunk功能 --disable-mfsmount //禁用mfsmount功能 [root@localhost mfs-1.6.27]# make && make install #复制文件,配置mfs文件 [root@localhost mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/ [root@localhost mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg #权限 [root@localhost mfs]# cp mfsexports.cfg.dist mfsexports.cfg #日志 [root@localhost mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg [root@localhost mfs]# cd /usr/local/mfs/var/mfs/ [root@localhost mfs]# cp metadata.mfs.empty metadata.mfs #修改权限并启动 [root@localhost mfs]# chown -R mfs.mfs /usr/local/mfs [root@localhost mfs]# /usr/local/mfs/sbin/mfsmaster start #查看mfs端口是否开启 [root@localhost mfs]# ps -ef | grep mfs #启动监控,在全部所有搭建好以后再启动 [root@localhost mfs]# /usr/local/mfs/sbin/mfscgiserv #查看服务端口状态 [root@localhost mfs]# ps -ef | grep mfs
#关闭防火墙 [root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# setenforce 0 #安装必要组件 [root@localhost ~]# yum install zlib-devel gcc gcc-c++ -y #建立用户 [root@localhost ~]# useradd mfs -s /sbin/nologin #挂载软件包 [root@localhost ~]# mount.cifs //192.168.100.3/lzp /mnt [root@localhost ~]# cd /mnt/mfs #解压安装包 [root@localhost mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt [root@localhost mfs]# cd /opt/mfs-1.6.27/ [root@localhost mfs-1.6.27]# ./configure \ --prefix=/usr/local/mfs \ --with-default-user=mfs \ --with-default-group=mfs \ --disable-mfschunkserver \ --disable-mfsmount [root@localhost mfs-1.6.27]# make && make install [root@localhost mfs-1.6.27]# cd /usr/local/mfs/etc/mfs/ [root@localhost mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg [root@localhost mfs]# vim mfsmetalogger.cfg #在第15行开启功能,而后地址指向master服务器地址 MASTER_HOST = 192.168.45.133 #修改权限并启动 [root@localhost mfs]# chown -R mfs.mfs /usr/local/mfs/ [root@localhost mfs]# /usr/local/mfs/sbin/mfsmetalogger start #查看端口开启状况 [root@localhost mfs]# ps -ef | grep mfs
root@localhost ~]# yum install zlib-devel gcc gcc-c++ -y [root@localhost ~]# useradd -s /sbin/nologin mfs [root@localhost ~]# mount.cifs //192.168.100.3/lzp /mnt [root@localhost ~]# cd /mnt/mfs #解压安装包 [root@localhost mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt [root@localhost mfs]# cd /opt/mfs-1.6.27/ [root@localhost mfs-1.6.27]# ./configure \ --prefix=/usr/local/mfs \ --with-default-user=mfs \ --with-default-group=mfs \ --disable-mfsmaster \ --disable-mfsmount [root@localhost mfs-1.6.27]# make && make install [root@localhost mfs-1.6.27]# cd /usr/local/mfs/etc//mfs/ [root@localhost mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg [root@localhost mfs]# cp mfshdd.cfg.dist mfshdd.cfg #修改,在第12行,开启,并将地址指向master地址 [root@localhost mfs]# vim mfschunkserver.cfg MASTER_HOST = 192.168.45.133 #设置挂载目录 [root@localhost mfs]# vim mfshdd.cfg /data [root@localhost mfs]# mkdir /data [root@localhost mfs]# chown -R mfs:mfs /data [root@localhost mfs]# /usr/local/mfs/sbin/mfschunkserver start #查看端口开启状况 [root@localhost mfs]# ps -ef | grep mfs
[root@localhost ~]# yum install zlib-devel gcc gcc-c++ -y [root@localhost ~]# useradd -s /sbin/nologin mfs [root@localhost ~]# mount.cifs //192.168.100.3/lzp /mnt [root@localhost ~]# cd /mnt/mfs #解压安装包 [root@localhost mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt [root@localhost mfs]# cd /opt/mfs-1.6.27/ #编译安装 [root@localhost mfs-1.6.27]# ./configure \ --prefix=/usr/local/mfs \ --with-default-user=mfs \ --with-default-group=mfs \ --disable-mfsmaster \ --disable-mfsmount [root@localhost mfs-1.6.27]# make && make install #复制并修改 [root@localhost mfs-1.6.27]# cd /usr/local/mfs/etc//mfs/ [root@localhost mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg [root@localhost mfs]# cp mfshdd.cfg.dist mfshdd.cfg [root@localhost mfs]# vim mfschunkserver.cfg MASTER_HOST = 192.168.45.133 [root@localhost mfs]# vim mfshdd.cfg /data [root@localhost mfs]# mkdir /data [root@localhost mfs]# chown -R mfs:mfs /data [root@localhost mfs]# /usr/local/mfs/sbin/mfschunkserver start #查看端口开启状况 [root@localhost mfs]# ps -ef | grep mfs
# 关闭防火墙 [root@manager ~]# systemctl stop firewalld.service [root@manager ~]# setenforce 0 #安装必要组件 [root@manager ~]# yum install gcc gcc-c++ zlib-devel -y #挂载软件包 [root@manager ~]# mount.cifs //192.168.100.3/lzp /mnt [root@manager ~]# cd /mnt/mfs/ #解压软件包 [root@manager mfs]# tar zxvf fuse-2.9.2.tar.gz -C /opt #编译安装 [root@manager mfs]# cd /opt/fuse-2.9.2/ [root@manager fuse-2.9.2]# ./configure [root@manager fuse-2.9.2]# make && make install #修改系统文件 [root@manager fuse-2.9.2]# vim /etc/profile export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH #从新加载 [root@manager fuse-2.9.2]# source /etc/profile #建立用户 [root@manager fuse-2.9.2]# useradd -s /sbin/nologin mfs #解压安装包 [root@manager fuse-2.9.2]# cd /mnt/mfs/ [root@manager mfs]# tar zxvf mfs-1.6.27-5.tar.gz -C /opt #编译安装 [root@manager mfs]# cd /opt/mfs-1.6.27/ [root@manager mfs-1.6.27]# ./configure \ --prefix=/usr/local/mfs \ --with-default-user=mfs \ --with-default-group=mfs \ --disable-mfsmaster \ --disable-mfschunkserver \ --enable-mfsmount [root@manager mfs-1.6.27]# make && make install #建立挂载点 [root@manager mfs-1.6.27]# mkdir /opt/mfs [root@manager mfs-1.6.27]# modprobe fuse #挂载 [root@manager mfs-1.6.27]# /usr/local//mfs/bin/mfsmount /opt/mfs -H 192.168.45.133 # 优化客户端 [root@manager mfs-1.6.27]# vim /etc/profile export PATH=/usr/local/mfs/bin:$PATH [root@manager mfs-1.6.27]# source /etc/profile # 备份 [root@manager mfs-1.6.27]# mfsgetgoal -r /opt/mfs/ #查看挂载信息 [root@manager mfs-1.6.27]# df -hT