伺服器分布:
概述:
moosefs是一種分布式檔案系統,moosefs檔案系統結構包括以下四種角色:
1、管理伺服器managing server(master)
2、中繼資料日志伺服器metalogger server(metalogger)
3、資料存儲伺服器 dataservers(chunkservers)
4、客戶機挂載使用 clientcomputers
角色描述:
1、管理伺服器:負責各個資料存儲伺服器的管理,檔案讀寫排程,檔案空間回收以及恢複,多節點拷貝;
2、中繼資料日志伺服器:負責備份master伺服器的變化日志檔案,檔案類型為changelog_ml.*.mfs,以便于在masterserver出問題的時候接替其進行工作;
3、資料存儲伺服器:負責連接配接管理伺服器,聽從管理伺服器排程,提供存儲空間,并為客戶提供資料傳輸;
4、用戶端:通過fuse核心接口挂接遠端管理伺服器上所管理的資料存儲伺服器,看起來共享的檔案系統和本地unix檔案系統使用一樣的效果。
總體架構圖:
一、mfs master節點部署
# /usr/sbin/groupadd mfs
# /usr/sbin/useradd mfs -g mfs -s /sbin/nologin
# tar xvzf mfs-1.6.27-5.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
# cd /usr/local/mfs/etc/mfs
# cp mfsmaster.cfg.dist mfsmaster.cfg
# cp mfsexports.cfg.dist mfsexports.cfg
# cp mfstopology.cfg.dist mfstopology.cfg
對允許遠端挂載的主機進行授權
# vim mfsexports.cfg
10.0.0.0/8 / rw,alldirs,maproot=0
172.0.0.0/8 / rw,alldirs,maproot=0
# vim mfsmaster.cfg
data_path = /data/mfsmetadata
# mkdir -p /data/mfsmetadata
# cp -a /usr/local/mfs/var/mfs/metadata.mfs.empty /data/mfsmetadata/metadata.mfs
# chown -r mfs:mfs /data/mfsmetadata
# vim /etc/hosts
10.185.15.241 mfsmaster
10.185.15.242 mfsmetalogger
10.137.153.224 mfschunkserver1
10.166.147.229 mfschunkserver2
10.185.4.99 mfschunkserver3
# /usr/local/mfs/sbin/mfsmaster start
# ps aux | grep mfs
# netstat –ntlp
監控平台,修改預設綁定ip位址和端口:
any --> 10.185.15.241
9425 --> 80
# vim /usr/local/mfs/sbin/mfscgiserv
# /usr/local/mfs/sbin/mfscgiserv start
# netstat -ntlp
通路:http://10.185.15.241
二、mfs metalogger節點部署
# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
# vim mfsmetalogger.cfg
10.185.15.241 mfsmaster
# /usr/local/mfs/sbin/mfsmetalogger start
# netstat -nt | grep :9419
三、mfs chunkservers節點部署
--disable-mfsmaster \
# cp mfschunkserver.cfg.dist mfschunkserver.cfg
# cp mfshdd.cfg.dist mfshdd.cfg
# vim mfschunkserver.cfg
# mkdir -p /data/mfschunk
# chown -r mfs:mfs /data/mfschunk
可以添加多個路徑(後續可能會增加多個磁盤)
# vim mfshdd.cfg
/data/mfschunk
# /usr/local/mfs/sbin/mfschunkserver start
四、mfs client節點部署
# tar xvzf fuse-2.9.2.tar.gz
# cd fuse-2.9.2
# ./configure --prefix=/usr/local
運作以下export指令,否則挂載moosefs系統會失敗
# vim /etc/profile
export pkg_config_path=/usr/local/lib/pkgconfig:$pkg_config_path
# source /etc/profile
--enable-mfsmount
# mkdir -p /data/mfsdata
# /usr/local/mfs/bin/mfsmount /data/mfsdata -h mfsmaster
設定檔案副本數
# /usr/local/mfs/bin/mfsrsetgoal 3 /data/mfsdata
# echo ‘mytest‘ > /data/mfsdata/testfile
# /usr/local/mfs/bin/mfsfileinfo /data/mfsdata/testfile
設定删除檔案後空間回收時間
# /usr/local/mfs/bin/mfsrsettrashtime 600 /data/mfsdata
取消本地挂載
# umount -l /data/mfsdata
一些效果圖:
五、一點建議
1、安全停止moosefs叢集,建議如下步驟
umount -l /data/mfsdata # 用戶端解除安裝moosefs檔案系統
/usr/local/mfs/sbin/mfschunkserver stop # 停止chunkserver程序
/usr/local/mfs/sbin/mfsmetalogger stop # 停止metalogger程序
/usr/local/mfs/sbin/mfsmaster stop # 停止主要master server程序
2、安全啟動moosefs叢集,建議如下步驟
/usr/local/mfs/sbin/mfsmaster start # 啟動主要master server程序
/usr/local/mfs/sbin/mfschunkserver start # 啟動chunkserver程序
/usr/local/mfs/sbin/mfsmetalogger start # 啟動metalogger程序
/usr/local/mfs/bin/mfsmount /data/mfsdata -h mfsmaster # 用戶端挂載moosefs檔案系統
關于資料備份修複以及容災,請關注後續博文
本文出自 “” 部落格,請務必保留此出處