MFS分佈式文件系統服務器的解析以及搭建

MFS分佈式文件系統

MFS是什麼?

是一個具有容錯性的網絡分佈式文件系統,分佈式文件系統就是把一些分散在多臺計算機上的共享文件夾,集合到一個共享文件夾內,用戶要訪問這些文件夾的時候,只要打開一個文件夾,就可以的看到所有鏈接到此文件夾內的共享文件夾

MFS框架的組成成員

元數據服務器(Master):在整個體系中負責管理文件系統,維護元數據,目前不支持高可用

元數據日誌服務器(MetaLogger):備份Master服務器的變化日誌文件,當master服務器損壞,可以從日誌服務器中取得文件恢復

數據存儲服務器(Chunk):真正存儲數據的服務器

客戶端(Client): 可以像掛載NFS一樣 掛載MFS文件系統

如下圖所示是MFS的環境結構圖

MFS搭建

搭建Master服務器

1.安裝依賴包

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

2.建立管理用戶

useradd -s /sbin/nologin mfs

3.解壓源碼包編譯安裝

 tar zxf mfs-1.6.27-5.tar.gz

 cd mfs-1.6.27

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

make && make install

4.複製模板創建配置文件(Master服務器需要mfsexports、mfsmaster、mfsmetalogger這三個文件)

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

cp mfsexports.cfg.dist mfsexports.cfg

cp mfsmaster.cfg.dist mfsmaster.cfg

cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

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

cp metadata.mfs.empty metadata.mfs

5.將該文件目錄的屬組和屬主改爲mfs

chown -R mfs.mfs /usr/local/mfs

6.Master服務器需要mfsmaster.cfg(主配置文件)mfsexports.cfg(被掛載目錄及權限配置文件),這裏不需要修改

mfsmaster.cfg(主配置文件)

#WORKING_USER = mfs \\運行masterserver的用戶
#WORKING_GROUP = mfs \\運行masterserver的組
#SYSLOG_IDENT = mfsmaster \\在syslog中表示是mfsmaster產生的日誌
#LOCK_MEMORY = 0 \\是否執行mlockall(),以避免mfsmaster進程溢出(默認爲0)
#NICE_LEVEL = -19 \\運行的優先級(如果可以,默認是-19;注意:進程必須用root啓動)
#EXPORTS_FILENAME = /usr/local/mfs/etc/mfs/mfsexports.cfg \\被掛載目錄及其權限控制文件的存放位置
#TOPOLOGY_FILENAME = /usr/local/mfs/etc/mfs/mfstopology.cfg
#DATA_PATH = /usr/local/mfs/var/mfs \\數據存放路徑
#BACK_LOGS = 50 \\metadata改變的log文件數目(默認是50)
#BACK_META_KEEP_PREVIOUS = 1
#REPLICATIONS_DELAY_INIT = 300
#REPLICATIONS_DELAY_DISCONNECT = 3600
#MATOML_LISTEN_HOST = \\metalogger監聽的IP地址(默認是,代表任何IP)
#MATOML_LISTEN_PORT = 9419 \\metalogger監聽的端口地址(默認是9419)
#MATOML_LOG_PRESERVE_SECONDS = 600
#MATOCS_LISTEN_HOST = \\用於chunkserver連接的IP地址(默認是,代表任何IP)
#MATOCS_LISTEN_PORT = 9420 \\用於chunkserver連接的端口地址(默認是9420)
#MATOCL_LISTEN_HOST =  \\用於客戶端掛接連接的IP地址(默認是,代表任何IP)
#MATOCL_LISTEN_PORT = 9421  \\用於客戶端掛接連接的端口地址(默認是4921)
#CHUNKS_LOOP_MAX_CPS = 100000
#CHUNKS_LOOP_MIN_TIME = 300  \\chunk的迴環頻率(默認是300秒)
#CHUNKS_SOFT_DEL_LIMIT = 10
#CHUNKS_HARD_DEL_LIMIT = 25
#CHUNKS_WRITE_REP_LIMIT = 2  \\在一個循環裏複製到一個chunkserver的最大chunk數
#CHUNKS_READ_REP_LIMIT = 10  \\在一個循環裏從一個chunkserver複製的最大chunk數
#ACCEPTABLE_DIFFERENCE = 0.1
#SESSION_SUSTAIN_TIME = 86400
#REJECT_OLD_CLIENTS = 0
#deprecated:
#CHUNKS_DEL_LIMIT - use CHUNKS_SOFT_DEL_LIMIT instead
#LOCK_FILE - lock system has been changed, and this option is used only to search for old lockfile

mfsexports.cfg(被掛載目錄及權限配置文件)

#Allow everything but "meta".
/ rw,alldirs,maproot=0
#Allow "meta".
. rw
#第一部分:客戶端的IP地址
#*表示所有IP地址
#單個IP地址
#IP地址/子網掩碼
#IP地址網段
#第二部分:被掛接的目錄 
#/標識MFS根 .表示MFSMETA文件系統
#第三部分:客戶端擁有的權限
#ro——只讀模式共享
#rw——讀寫的方式共享
#alldirs——允許掛載任何指定的子目錄
#admin——管理員權限
#maproot——映射爲root,還是指定的用戶
#Password——指定客戶端密碼

7.啓動服務並查看是否開啓成功

/usr/local/mfs/sbin/mfsmaster start

ps -ef | grep mfs

搭建Metalogge服務器

1.安裝依賴包

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

2.創建管理用戶

useradd -s /sbin/nologin mfs

3.解壓安裝包並編譯安裝

tar zxf mfs-1.6.27-5.tar.gz

cd mfs-1.6.27

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

make && make install

4.複製配置文件模板使用(本服務器只需開啓日誌文件)

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

cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

5.編輯日誌配置文件添加Master服務器的IP地址

vim mfsmetalogger.cfg

MASTER_HOST = 192.168.199.129

6.修改文件的屬組和屬主爲mfs

chown -R mfs.mfs /usr/local/mfs/

7.開啓MetaLog服務並查看開始是否成功

/usr/local/mfs/sbin/mfsmetalogger start

ps -ef | grep mfs

搭建Chunk服務器(兩臺搭建步驟一樣)

1.安裝依賴包

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

2.建立管理用戶

useradd -s /sbin/nologin mfs

3.解壓源碼包編譯安裝

 tar zxf mfs-1.6.27-5.tar.gz

 cd mfs-1.6.27

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount

make && make install

4.複製模板配置開啓mfschunkservermfshdd兩個文件使用

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

cp mfschunkserver.cfg.dist mfschunkserver.cfg

cp mfshdd.cfg.dist mfshdd.cfg

5.編輯mfschunkserver.cfg配置文件添加Master服務器IP地址

vim mfschunkserver.cfg

MASTER_HOST = 192.168.0.101

6.修改mfshdd.cfg文件,添加本地掛載之類需要共享的目錄或磁盤,生存環境最好使用獨立的分區或磁盤掛載到此目錄

vim mfshdd.cfg

/test

7.創建掛載目錄

mkdir /test

chown -R mfs.mfs /data

8.開啓服務並查看啓動服務情況是否成功

/usr/local/mfs/sbin/mfschunkserver start

ps -ef | grep mfs

搭建客戶端

1.安裝依賴包

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

2.在/etc/profile最後添加環境變量並運行該文件

vim /etc/profile

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

source /etc/profile

3.創建進程管理用戶

useradd -s /sbin/nologin mfs

4.解壓安裝包,編譯安裝

tar zxf mfs-1.6.27-5.tar.gz

cd 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

5.加載fuse模塊到內核

modprobe fuse

6.創建掛載點並掛載MFS

mkdir /mfs

/usr/local/mfs/bin/mfsmount /mfs -H 192.168.0.101

7.查看掛載情況:df -hT

8.創建測試文件測試

補充:命令路徑優化

ln -s /usr/local/mfs/bin/* /usr/bin/

ln -s /usr/local/mfs/sbin/* /usr/sbin/

這樣使用命令就可以不用輸入那麼長的路徑

開啓master的圖形管理界面(如下圖)

/usr/local/mfs/sbin/mfscgiserv

直接訪問9425端口就行

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章