溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CentOS7環(huán)境下搭建MFS分布式文件系統(tǒng)

發(fā)布時間:2020-08-03 12:07:37 來源:網(wǎng)絡 閱讀:4592 作者:xuyan184004 欄目:建站服務器

MFS原理

    MFS是一個具有容錯性的網(wǎng)絡分布式文件系統(tǒng),它把數(shù)據(jù)分散存放在多個物理服務器上,而呈現(xiàn)給用戶的則是一個統(tǒng)一的資源。

MFS文件系統(tǒng)組成介紹

角色

作用

元數(shù)據(jù)服務器(Master)

一臺管理整個文件系統(tǒng)的獨立主機,存儲著每個文件的元數(shù)據(jù)(文件的大小、屬性、位置信息,包括所有非常規(guī)文件的所有信息,例如目錄、套接字、管道以及設備文件)。

元數(shù)據(jù)日志服務器 (Metalogger)

任意數(shù)量的服務器,用來存儲元數(shù)據(jù)變化日志并周期性下載主要元數(shù)據(jù)文件,以便用于管理服務器意外停止時好接替其位置。

數(shù)據(jù)存儲服務器(chunk servers)

任意數(shù)目的商用服務器,用來存儲文件數(shù)據(jù)并在彼此之間同步(如果某個文件有超過一個備份的話)。

客戶端(Client)

任意數(shù)量的主機,可以通過mfsmount進程與管理服務器(接收和更改元數(shù)據(jù))和數(shù)據(jù)服務器(改變實際文件數(shù)據(jù))進行交流。

MFS文件系統(tǒng)組成圖示

CentOS7環(huán)境下搭建MFS分布式文件系統(tǒng)

MFS讀取數(shù)據(jù)處理過程:

  • Client向Master發(fā)出讀請求

  • Master把所需的數(shù)據(jù)存放位置(Chunk IP&Chunk No.)告知Client

  • Client向Chunk發(fā)送數(shù)據(jù)請求

  • Chunk向Client發(fā)送數(shù)據(jù)

MFS寫入數(shù)據(jù)處理過程:

  • Client向Master發(fā)出寫入請求

  • Master與Chunk進行交互,但Master只在某些服務器創(chuàng)建新的分塊Chunks,創(chuàng)建成功后由Chunk告知Master創(chuàng)建成功

  • Master告知Client可以在哪個Chunk的哪些Chunks寫入數(shù)據(jù)

  • Client向指定的Chunk寫入數(shù)據(jù)

  • Chunk與其他Chunk進行數(shù)據(jù)同步,同步成功后Chunk告知Client寫入數(shù)據(jù)成功

  • Client告知Master本次寫入完畢

實驗環(huán)境介紹:


192.168.218.156

主機

IP地址

Master Server192.168.218.130
MetaLogger Server192.168.218.157
Chunk1 Server
Server192.168.218.145
Client Server192.168.218.139

實驗步驟:

安裝master server:

yum install gcc gcc-c++ zlib-devel -y

useradd -s /sbin/nologin mfs

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 \                 #禁用Chunk功能

--disable-mfsmount                         #禁用Client功能


make && make install

cd /usr/local/mfs/etc/mfs/

cp mfsexports.cfg.dist mfsexports.cfg         #使掛載權限配置文件生效

cp mfsmaster.cfg.dist mfsmaster.cfg             #使master主配置文件生效

cp mfstopology.cfg.dist mfstopology.cfg        #使拓撲架構感知配置文件生效

cd /usr/local/mfs/var/mfs/

cp metadata.mfs.empty metadata.mfs          # 使防斷鏈文件生效

/usr/local/mfs/sbin/mfsmaster start

systemctl stop firewalld.service

setenforce 0

netstat -ntap | grep mfs

#/usr/local/mfs/sbin/mfsmaster –s     #停止服務

搭建MetaLogger server:

yum install gcc gcc-c++ zlib-devel -y

useradd -s /sbin/nologin mfs

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          #使日志配置文件生效

vim mfsmetalogger.cfg

          MASTER_HOST = 192.168.218.130               #指定Master服務器地址

cd /usr/local/mfs/var/mfs/

cp metadata.mfs.empty metadata.mfs           #使防斷鏈文件生效

/usr/local/mfs/sbin/mfsmaster start

systemctl stop firewalld.service

setenforce 0

搭建兩臺Chunk服務器:

yum install gcc gcc-c++ zlib-devel -y

useradd -s /sbin/nologin mfs

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         #使chunk配置文件生效

cp mfshdd.cfg.dist mfshdd.cfg         #使硬盤提供存儲空間配置文件生效

vim mfschunkserver.cfg

            MASTER_HOST = 192.168.218.130

vim mfshdd.cfg

            /data

mkdir /data

chown -R mfs.mfs /data/

/usr/local/mfs/sbin/mfschunkserver start     #啟動服務

systemctl stop firewalld.service

setenforce 0

netstat -ntap | grep mfs

Client配置

systemctl stop firewalld.service

setenforce 0

yum install gcc gcc-c++ zlib-devel -y

tar zxvf fuse-2.9.2.tar.gz -C /opt      #內(nèi)核加載包

cd /opt/fuse-2.9.2/

./configure

make && make install

vim /etc/profile

           export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

source /etc/profile

安裝mfs客戶端

useradd -s /sbin/nologin mfs

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-mfschunkserver \

--enable-mfsmount


make && make install

mkdir /opt/mfs

modprobe fuse   #加載fuse模塊到內(nèi)核

/usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.218.130 #掛載MFS服務

優(yōu)化客服端

vim /etc/profile

export PATH=/usr/local/mfs/bin:$PATH

source /etc/profile

echo 'this is test!' > /opt/mfs/abc.txt

mfssetgoal -r 2 /opt/mfs      #設置文件被復制的份數(shù),-r表示遞歸

        /opt/mfs:

            inodes with goal changed: 2

            inodes with goal not changed: 0

            inodes with permission denied: 0

mfsgetgoal -r /opt/mfs         #查看復制文件的份數(shù)

        /opt/mfs/abc.txt: 2

mfsfileinfo /opt/mfs/abc.txt #查看實際副本份數(shù)及其所在的節(jié)點

        /opt/mfs/abc.txt:

              chunk 0: 0000000000000001_00000001 / (id:1 ver:1)

              copy 1: 192.168.218.145:9422

              copy 2: 192.168.218.156:9422

MASTER-Server----------------啟動監(jiān)控程序

[root@master mfs]# /usr/local/mfs/sbin/mfscgiserv

          lockfile created and locked

          starting simple cgi server (host: any , port: 9425 , rootpath: /usr/local/mfs/share/mfscgi)

訪問:http://192.168.218.130:9425查看MFS監(jiān)控網(wǎng)頁

CentOS7環(huán)境下搭建MFS分布式文件系統(tǒng)

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI