Moose File System 是一個具備容錯功能的網絡分布式文件系統,它將數據分布在網絡中的不同服務器上,MooseFS 通過? FUSE? 使之看起來就是一個 Unix 的文件系統。
MooseFS文件系統結構包括以下四種角色:
1 管理服務器managing server (master):負責各個數據存儲服務器的管理,文件讀寫調度,文件空間回收以及恢復.多節點拷貝
2 元數據日志服務器Metalogger server(Metalogger):?負責備份master服務器的變化日志文件,文件類型為changelog_ml.*.mfs,以便于在master server出問題的時候接替其進行工作
3 數據存儲服務器data servers (chunkservers):負責連接管理服務器,聽從管理服務器調度,提供存儲空間,并為客戶提供數據傳輸.
4 客戶機mount:通過fuse內核接口掛接遠程管理服務器上所管理的數據存儲服務器,可以直接mount.看起來共享的文件系統和本地unix文件系統使用一樣的效果.
安裝MooseFS:
參考官方文檔:http://www.moosefs.org/reference-guide.html
wget http://pro.hit.gemius.pl/hitredir/id=BxY7_eM43EskGBuSFtz3YNVqP1JNYK7dbkJhAZiPIXH.w7/url=moosefs.org/tl_files/mfscode/mfs-1.6.25.tar.gz
tar -zvxf mfs-1.6.25.tar.gz
groupadd mfs
useradd -g mfs mfs
cd mfs-1.6.25
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs
make && make install
master配置:
cd /etc
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
cp mfsexports.cfg.dist mfsexport.cfg
被注釋掉的行,即是MooseFS內置的默認配置
配置文件mfsexpots.cfg,指定哪些客戶端主機可以遠程掛載MooseFS系統
192.168.1.0/24 / rw,alldirs,maproot=0
cd /var/lib/mfs
cp metadata.mfs.empty metadata.mfs
修改/etc/hosts
192.168.1.6 mfsmaster
啟動master服務
/usr/sbin/mfsmaster start
查詢MooseFS運行情況:
/usr/sbin/mfscgiserv
http://192.168.1.6:9425
metalogger(備份服務器)安裝:
在master失效情況下,只要導入changelogs到元數據文件,備份服務器metalogger將能接替master
http://www.moosefs.org/minihowtos.html#redundant-master
cd /etc
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
修改/etc/hosts
192.168.1.6 mfsmaster
啟動備份服務:
/usr/sbin/mfsmetalogger start
chunk server(存儲塊服務)安裝:
cd /etc/
cp mfscunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg
修改mfshdd.cfg,去掉這行注釋/mnt/hd1
mkdir -p /mnt/hd1
chown -R mfs:mfs /mnt/hd1
修改/etc/hosts
192.168.1.6 mfsmaster
啟動chunk server
/usr/sbin/mfschunkserver start
客戶端安裝
為掛載MooseFS文件系統,需要安裝fuse
安裝fuse
yum -y install fuse-devel
yum -y install fuse
modprobe fuse
安裝mfs完后
修改/etc/hosts
192.168.1.6 mfsmaster
創建掛載點
mkdir -p /mnt/mfs
/usr/bin/mfsmount /mnt/mfs -H mfsmaster
用df -h 檢查分區情況
MooseFS使用:
mkdir -p /mnt/mfs/test
cp /usr/src/mfs-1.6.25.tar.gz /mnt/mfs/test/
mfssetgoal -r 設定目錄里文件的副本數:
mfssetgoal -r 2 /mnt/mfs/test
mfschunkfile用來檢查給定的文件以多少副本來存儲
mfscheckfile /mnt/mfs/test/mfs-1.6.25.tar.gz
查看某文件
mfsgetgoal /mnt/mfs
查看目錄信息
mfsdirinfo -H /mnt/mfs
寫入性能測試
dd if=/dev/zero of=/mnt/mfs/test/1.img bs=1M count=300
讀性能測試
dd if=/mnt/mfs/test/1.img of=/dev/null bs=1M
RHEL4安裝fuse
有一臺機器是RHEL4,不能使用yum,只能手工編譯fuse了:
wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.7.4/fuse-2.7.4.tar.gz/download
tar zxvf fuse-2.7.4.tar.gz
./configure
make;make install
先編輯/etc/profile在此文件中加入如下條目:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
然后再利用source命令 /etc/profile使修改生效:source /etc/profile
加載fuse模塊到內核:modprobe fuse
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
