一、MFS文件系統結構
1、 管理數據服務器。在整個體系中負責管理各個數據存儲服務器,目前MFS只支持一個元數據服務器
master,這是一個單點故障,需要一個性能穩定的服務器來充當。
2、 元數據日誌服務器。備份master服務器的變化日誌文件,文件類型爲changelog_ml.*.mfs。當元數據服
務器數據丟失或者損毀,可從日誌服務器取得文件進行恢復。
3、 數據存儲服務器chunkserver。真正存儲用戶數據的服務器。存儲文件時,首先把文件分成塊,然後這些
塊在數據服務器chunkserver之間複製(複製份數可以手工指定,建議設置副本數爲3)。數據服務器可以是
多個,並且數量越多,可使用的“磁盤空間”越大,可靠性也越高。
4、 客戶端。使用MFS文件系統來存儲和訪問的主機稱爲MFS的客戶端,成功掛接MFS文件系統以後,就可以像
以前使用NFS一樣共享這個虛擬性的存儲了
二、MFS的編譯與安裝
1.安裝和配置管理數據服務器
下載源碼
wget http://sourceforge.net/projects/moosefs/files/moosefs/1.6.20/mfs-1.6.20.tar.gz
創建用戶:
useradd mfs -s /sbin/nologin
編譯安裝:
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make
make install
配置文件:
配置文件被放置於安裝目錄/usr/local/mfs/etc
需要用到的配置文件有兩個,mfsmaster.cfg和mfsexports.cfg 。mfsmaster.cfg是主配置文件,
mfsexports.cfg對被掛載目錄以及權限進行設置
cat mfsexports.cfg
# WORKING_USER = mfs
# WORKING_GROUP = mfs
# SYSLOG_IDENT = mfsmaster #master server 在syslog中的表識
# LOCK_MEMORY = 0
# NICE_LEVEL = -19 #運行的優先級,進程必須由root用戶啓動
#被掛載目錄以及權限控制文件存放的位置
EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg
#數據存放路徑
DATA_PATH = /usr/local/mfs/var/mfs
#元數據的改變日誌文件數量
# BACK_LOGS = 50
#延遲複製的時間
# REPLICATIONS_DELAY_INIT = 300
#chunk server 斷開復制的延遲
# REPLICATIONS_DELAY_DISCONNECT = 3600
#元數據日誌服務器的監聽IP和 端口
# MATOML_LISTEN_HOST = *
MATOML_LISTEN_PORT = 9419
#chunk server 連接的ip和端口
# MATOCS_LISTEN_HOST = *
MATOCS_LISTEN_PORT = 9420
#客戶端掛接的IP地址和端口
# MATOCU_LISTEN_HOST = *
MATOCU_LISTEN_PORT = 9421
#chunk的迴環頻率 默認300秒
# CHUNKS_LOOP_TIME = 300
#表示在一個loop設備中可以刪除chunks的最大數
# CHUNKS_DEL_LIMIT = 100
#在一個循環裏複製到一個chunk server的最大chunks的數目
# CHUNKS_WRITE_REP_LIMIT = 1
#在一個循環裏從一個chunk server中複製的最大chunks數目
# CHUNKS_READ_REP_LIMIT = 5
# REJECT_OLD_CLIENTS = 0
# deprecated, to be removed in MooseFS 1.7
# LOCK_FILE = /var/run/mfs/mfsmaster.lock
這個文件可以不經修改就能工作
cat mfsexports.cfg
* . rw
192.168.0.1/24 / rw
該文件每一個條目分爲三部分,第一部分表示IP地址,第二部分表示被掛載的目錄,第三部分表示客戶端擁
有的權限
/ 表示mfs根
. 表示mfsmeta 文件系統
ro 只讀模式共享
rw 讀寫模式共享
alldirs 允許掛載任何指定的子目錄
maproot 映射爲root用戶還是指定的用戶
password 指定客戶端密碼
默認的元數據文件爲metadata.mfs 要啓動mfsmaster 需要先將metadata.mfs.empty 改名爲metadata.mfs
cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs
啓動mfsmaster
/usr/local/mfs/sbin/mfsmaster start
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
initializing mfsmaster modules ...
loading sessions ... ok
sessions file has been loaded
exports file has been loaded
loading metadata ...
loading objects (files,directories,etc.) ... ok
loading names ... ok
loading deletion timestamps ... ok
checking filesystem consistency ... ok
loading chunks data ... ok
connecting files and chunks ... ok
all inodes: 1
directory inodes: 1
file inodes: 0
chunks: 0
metadata file has been loaded
stats file has been loaded
master <-> metaloggers module: listen on *:9419
master <-> chunkservers module: listen on *:9420
main master server module: listen on *:9421
mfsmaster daemon initialized properly
關閉mfsmaster /usr/local/mfs/sbin/mfsmaster -s
安全停止mfsmaster非常重要不要使用kill 的方式
2.元日誌服務器的安裝配置
安裝方法同安裝mfsmaster一樣,只不過需要修改的配置文件不同
元日誌服務器的配置文件只需要一個,mfsmetalogger.cfg
cp /usr/local/mfs/etc/mfsmetalogger.cfg.dist /usr/local/mfs/etc/mfsmetalogger.cfg
這個配置文件我們只需要修改MASTER_HOST = 192.168.0.160 ,意識是指定mfsmaster的ip地址
啓動元日誌服務器
/usr/local/mfs/sbin/mfsmetalogger start
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
initializing mfsmetalogger modules ...
mfsmetalogger daemon initialized properly
說明元日誌服務器已經啓動了
停止元日誌服務器
/usr/local/mfs/sbin/mfsmetalogger -s
3.安裝配置數據存儲服務器,可以有多臺
安裝方法和mfsmaster一樣。只是配置文件不同
這裏需要的配置文件有兩個mfschunkserver.cfg 和 mfshdd.cfg
mfschunkserver.cfg 需要修改的內容如下
MASTER_HOST = 192.168.0.160
MASTER_PORT = 9420
HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg
需要指定mfsmaster元數據管理服務器的IP和port以及分配給mfs使用的磁盤空間配置文件的位置
我的mfshdd.cfg配置文件內容如下
/data
在這裏/data是一個mfs分區但是在本機上是一個獨立使用的磁盤掛載分區將/data的屬主改爲MFS
chown -R mfs:mfs /data
啓動數據存儲服務器
/usr/local/mfs/sbin/mfschunkserver start
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
initializing mfschunkserver modules ...
hdd space manager: scanning folder /data/ ...
hdd space manager: scanning complete
hdd space manager: /data/: 0 chunks found
hdd space manager: scanning complete
main server module: listen on *:9422
stats file has been loaded
mfschunkserver daemon initialized properly
關閉數據存儲服務器
/usr/local/mfs/sbin/mfschunkserver -s
4.MFS客戶端的安裝配置
mfs 的客戶端依賴於fuse,所以先要安裝fuse
tar xzvf fuse-2.7.4.tar.gz
cd fuse-2.7.4
./configure
make
make install
在 /etc/profile末尾添加
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile
使配置生效。
mfs的安裝同上
只不過 ./configure 注意加上--enable-mfsmount
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --
enable-mfsmount
掛載mfs文件系統
先創建掛載點 mkdir /mnt/mfs
掛載mfs /usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.0.160
注意,所有的MFS都是掛接同一個元數據服務器master,而不是其他數據存儲服務器chunkserver
卸載已經掛載的文件系統
umount /mnt/mfs
通過mfscgiserv 監控客戶端連接狀態,監聽端口是9425
在管理服務器啓動mfscgiserv
/usr/local/mfs/sbin/mfscgiserv
用戶利用瀏覽器就可以全面監控所有的客戶端的掛接chunk server ,master server,以及客戶端的各種操作等信息
下面介紹各個部分的情況
info 顯示mfs的基本信息
servers 列出現有的chunk server
disks 列出每一臺chunk server 的磁盤目錄以及使用量
exports 列出被共享的目錄即可被掛接的目錄
mounts 顯示被掛接的部分
operations 顯示正在執行的操作
master charts 顯示master server的操作情況包括讀取 寫入創建目錄 刪除目錄等信息
server charts 顯示chunk server 的操作情況 數據傳輸率以及系統狀態等信息
MFS分佈式文件系統安裝配置(一)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
MFS分佈式文件系統介紹
亮公子
2019-02-23 00:02:24
分佈式基礎學習【一】 —— 分佈式文件系統
duguguiyu
2019-02-22 22:29:28
分佈式文件系統MooseFS
duyunlong
2019-02-22 21:27:53
Hadoop分佈式文件系統:架構和設計要點
kiddymeet
2019-02-22 21:22:51
操作分佈式文件之四:如何進行集羣內文件複製和並行複製
fourinone
2019-02-22 19:47:24
淘寶分佈式框架Fourinone2.0正式版發佈
fourinone
2019-02-22 19:47:24
CentOS 6.5 分佈式文件系統之MogileFS工作原理及實現過程
wei0164
2019-02-22 19:40:56
moosefs2.0-安裝(1)
568273240
2019-02-23 00:07:38
MFS
yuhailong880106
2019-02-22 22:04:15
分佈式文件系統mfs(moosefs)搭建與配置
坑比造
2019-02-22 21:29:44
MFS分佈式文件系統
325232100
2019-02-22 19:35:54
moosefs+keepalived雙機高可用熱備解決方案-01 by李靖
qiaomiao209
2019-02-22 17:05:32