分佈式文件系統就是把一些分散在多臺計算機上的共享文件夾,集合到一個共享文件夾內,用戶要訪問這些文件夾的時候,只要打開一個文件夾,就能夠的看到全部連接到此文件夾內的共享文件夾。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