MooseFS的安裝配置和使用技巧
MooseFS是一種Linux下的開源半分布式文件系統(tǒng),以下簡稱為MFS。目前許多企業(yè)都在使用它。它之所以使用如此廣泛是因為有如下優(yōu)點:
安裝和配置簡單方便
可靠性高(數據的多個拷貝被存儲在多個不同的服務器上)
通過添加新的服務器或硬盤就可以實現容量的動態(tài)擴展
刪除的數據可在一定時間內保留(類似windows里面的回收站機制,數據保留時間需要配置)
以上優(yōu)點不難看出,MFS雖然是開源的,但是它功能上不遜色于專業(yè)的存儲系統(tǒng)。下面我們來具體學習安裝和配置MFS。
MFS文件系統(tǒng)結構
整個文件系統(tǒng)包括如下幾個角色:
管理服務器-MasterServer
元數據日志服務器-MetaloggerServer
數據存儲服務器-ChunkServer
客戶端-Client
每個角色的作用如下:
1、管理服務器,負責各個數據存儲服務器的管理,文件讀寫調度,文件空間回收以及恢復多節(jié)點拷貝。
2、元數據日志服務器,負責備份master服務器的變化日志文件,文件類型為changelog_ml.*.mfs,以便于在master server出問題的時候接替其進行工作。
3、數據存儲服務器,負責連接管理服務器,聽從管理服務器調度,提供存儲空間,并為客戶提供數據傳輸。
4、客戶端,通過fuse內核接口掛接遠程管理服務器上所管理的數據存儲服務器,看起來共享的文件系統(tǒng)和本地unix文件系統(tǒng)使用一樣的效果。
準備工作
準備服務器:
OS: Centos 5.8 x86_64
管理服務器:192.168.0.201
元數據日志服務器:192.168.0.202
數據存儲服務器:192.168.0.203
數據存儲服務器:192.168.0.204
客戶端:192.168.0.205
下載安裝包:
wgethttp://pro.hit.gemius.pl/hitredir/id=p4CVHPOzkVa0JJIK.m0Ee6dyHZEgoQb1KaiPmVK29EX.M7/url=
moosefs.org/tl_files/mfscode/mfs-1.6.26.tar.gz
添加相關用戶與用戶組:
groupaddmfs
useradd-gmfsmfs-s /sbin/nologin
編譯安裝MFS
整個MFS安裝很簡單,只有如下幾步。
tarzxvfmfs-1.6.26.tar.gz
cdmfs-1.6.26
./configure--prefix=/usr/local/mfs--with-default-user=mfs--with-default-group=mfs
make
makeinstall
注意客戶端部分在安裝之前,需要查看是否安裝了fuse。沒有安裝請執(zhí)行如下部分:
yuminstallfuse
yuminstallfuse-devel
配置使用
管理服務器(192.168.0.201):
mfsmaster.cfg的配置
cd/usr/local/mfs/etc
cpmfsmaster.cfg.distmfsmaster.cfg
vim mfsmaster.cfg
mfsmaster.cfg文件內容如下,
帶#號的均為默認配置,不帶#號的需手工配置。
#WORKING_USER=mfs運行mfsmaster的用戶
#WORKING_GROUP=mfs運行mfsmaster的組
#SYSLOG_IDENT=mfsmaster是MasterServer在syslog中的標識
#LOCK_MEMORY=0是否執(zhí)行mlockall()以避免mfsmaster進程溢出
#NICE_LEVEL=-19運行的優(yōu)先級
#EXPORTS_FILENAME=/usr/local/mfs/etc/mfsexports.cfg被掛接目錄及其權限控制文件的存放路徑
#TOPOLOGY_FILENAME=/usr/local/mfs/etc/mfstopology.cfg
#DATA_PATH=/usr/local/mfs/var/mfs數據存放路徑,存放了三類文件,changelog、sessions、stats
#BACK_LOGS=50元數據的改變日志文件數量
#BACK_META_KEEP_PREVIOUS=1
#REPLICATIONS_DELAY_INIT=300延遲復制時間
#REPLICATIONS_DELAY_DISCONNECT=3600ChunkServer斷開復制的延時
#MATOML_LISTEN_HOST=*元數據日志服務器監(jiān)聽的IP地址
#MATOML_LISTEN_PORT=9419元數據日志服務器監(jiān)聽的端口地址
#MATOCS_LISTEN_HOST=*用于ChunkServer連接的IP地址
#MATOCS_LISTEN_PORT=9420用于ChunkServer連接的端口地址
#MATOCL_LISTEN_HOST=*用于客戶端掛接連接的IP地址
#MATOCL_LISTEN_PORT=9421用于客戶端掛接連接的端口地址
#CHUNKS_LOOP_CPS=100000
#CHUNKS_LOOP_TIME=300chunks的回環(huán)頻率
#CHUNKS_SOFT_DEL_LIMIT=10
#CHUNKS_HARD_DEL_LIMIT=25
#CHUNKS_WRITE_REP_LIMIT=2在一個循環(huán)里復制到一個ChunkServer的最大chunks數目
#CHUNKS_READ_REP_LIMIT=10在一個循環(huán)里從一個ChunkServer中復制的最大chunks數目
#REJECT_OLD_CLIENTS=0彈出低版本的客戶端掛接
#deprecated:
#CHUNKS_DEL_LIMIT-useCHUNKS_SOFT_DEL_LIMITinstead
#LOCK_FILE-locksystemhasbeenchanged,andthisoptionisusedonlyto
searchforoldlockfile
mfsmaster.cfg的配置
cd/usr/local/mfs/etc
cpmfsmaster.cfg.distmfsmaster.cfg
vimmfsmaster.cfg
mfsmaster.cfg文件的內容如下:
該配置文件中每個條目分為三部分,客戶端IP地址、掛接的目錄、客戶端擁有的權限。默認帶#號的配置是不生效的。
*/rw,alldirs,maproot=0
#192.168.1.0/24/rw,alldirs,maproot=0,password=passcode
#10.0.0.0-10.0.0.5/testrw,maproot=nobody,password=test
#10.1.0.0/255.255.0.0/publicrw,mapall=1000:1000
#10.2.0.0/16/rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w
[!--empirenews.page--]
復制元數據文件
cd/usr/local/mfs/var/mfs/
mvmetadata.mfs.emptymetadata.mfs
與管理服務器相關的命令:
啟動命令:/usr/local/mfs/sbin/mfsmasterstart
安全停止命令:/usr/local/mfs/sbin/mfsmaster–s
更多幫助信息:/usr/local/mfs/sbin/mfsmaster–h
元數據日志服務器(192.168.0.202):
mfsmetalogger.cfg的配置
cd/usr/local/mfs/etc
cpmfsmetalogger.cfg.distmfsmetalogger.cfg
vimmfsmetalogger.cfg
mfsmetalogger.cfg文件的內容如下:
帶#號的均為默認配置,不帶#號的需手工配置。
#WORKING_USER=mfs
#WORKING_GROUP=mfs
#SYSLOG_IDENT=mfsmetalogger
#LOCK_MEMORY=0
#NICE_LEVEL=-19
#DATA_PATH=/usr/local/mfs/var/mfs
#BACK_LOGS=50
#BACK_META_KEEP_PREVIOUS=3
#META_DOWNLOAD_FREQ=24元數據備份文件下載請求頻率,默認是24小時。
#MASTER_RECONNECTION_DELAY=5
MASTER_HOST=192.168.0.201此處需要修改為MasterServer的IP
#MASTER_PORT=9419
#MASTER_TIMEOUT=60
#deprecated,toberemovedinMooseFS1.7
#LOCK_FILE=/var/run/mfs/mfsmetalogger.lock
與元數據日志服務器相關的命令:
啟動命令:/usr/local/mfs/sbin/mfsmetaloggerstart
安全停止命令:/usr/local/mfs/sbin/mfsmetalogger–s
更多幫助信息:/usr/local/mfs/sbin/mfsmetalogger–h
數據存儲服務器(192.168.0.203和192.168.0.203):
mfschunkserver.cfg的配置
cd/usr/local/mfs/etc
cpmfschunkserver.cfg.distmfschunkserver.cfg
vimmfschunkserver.cfg
mfschunkserver.cfg文件的內容如下:
帶#號的均為默認配置,不帶#號的需手工配置。
#WORKING_USER=mfs
#WORKING_GROUP=mfs
#SYSLOG_IDENT=mfschunkserver
#LOCK_MEMORY=0
#NICE_LEVEL=-19
#DATA_PATH=/usr/local/mfs/var/mfs
#MASTER_RECONNECTION_DELAY=5
#BIND_HOST=*
MASTER_HOST=192.168.0.201元數據服務器的名稱或地址,可以是主機名或IP地址
MASTER_PORT=9420
#MASTER_TIMEOUT=60
#CSSERV_LISTEN_HOST=*
#CSSERV_LISTEN_PORT=9422該端口用于與其他數據存儲服務器間的連接,通常是數據復制。
#HDD_CONF_FILENAME=/usr/local/mfs/etc/mfshdd.cfg分配給MFS使用的磁盤空間配置文件的位置。
#HDD_TEST_FREQ=10
#deprecated,toberemovedinMooseFS1.7
#LOCK_FILE=/var/run/mfs/mfschunkserver.lock
#BACK_LOGS=50
#CSSERV_TIMEOUT=5
mfshdd.cfg的配置
cd/usr/local/mfs/etc
cpmfshdd.cfg.distmfshdd.cfg
vimmfshdd.cfg
mfshdd.cfg文件的內容如下:
/data
上面的/data是一個MFS分區(qū),需要將此分區(qū)的屬主改為mfs。
chown–Rmfs.mfs/data
與數據存儲服務器相關的命令:
啟動命令:/usr/local/mfs/sbin/mfschunkserverstart
安全停止命令:/usr/local/mfs/sbin/mfschunkserver–s
更多幫助信息:/usr/local/mfs/sbin/mfschunkserver–h
客戶端(192.168.0.205):
創(chuàng)建掛接點
mkdir–p/data/mfs
掛載MFS的命令
/usr/local/mfs/bin/mfsmount/data/mfs-H192.168.0.201
查看掛載情況:
查看掛載信息:
卸載MFS掛載:
umount/data/mfs
查看更多幫助信息:
/usr/local/mfs/bin/mfsmount–h