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
安全