個人博客遷移 更多內容分享請訪問 http://www.wpython.com
主控服務器Master server安裝
當我們安裝主控服務器時,在配置的過程中(./configure),可以取消安裝chunk server (--disabled-mfschunkserver)以及Moosefs客戶端(--disabled-mfsmount).Master server具體安裝步驟:
1、創建mfs組
# groupadd mfs
2、創建mfs用戶
# useradd -g mfs -s /sbin/nologin mfs
3、切換目錄
# cd tools/
4、解包歸檔文件
# tar xzf mfs-1.6.27-1.tar.gz
5、進入安裝目錄
# cd mfs-1.6.27
6、配置
# ./configure\
--prefix=/data/soft/mfs-1.6.27 \
--sysconfdir=/data/soft/mfs-1.6.27/etc \
--localstatedir=/data/soft/mfs-1.6.27/var/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount
7、編譯並安裝
# make &&make install
成功安裝master以後,系統會在etc/ 目錄下自動生成樣例配置文件(.dist結尾的文件):
1、切換目錄
# cd /data/soft/mfs-1.6.27/etc/mfs/
2、複製樣例文件
# cp mfsexports.cfg.distmfsexports.cfg
# cp mfsmaster.cfg.distmfsmaster.cfg
3、首次安裝需要數據文件
# cd /data/soft/mfs-1.6.27/var/lib/mfs/
# cp metadata.mfs.emptymetadata.mfs
4、啓動master:
# /data/soft/mfs-1.6.27/sbin/mfsmasterstart
5、啓動cgi
# /data/soft/mfs-1.6.27/sbin/ mfscgiservstart
6、嘗試訪問
# http://192.168.1.100:9425
需要注意的問題如果訪問拋出錯誤請升級python版本
tar xzf Python-2.7.4.tar
cd Python-2.7.4
./configure && make && makeinstall
備份服務器Backup server安裝
用來安裝metalogger的主機,在性能上應該比master強大(至少需要更大的內存)當主控節點down機可以通過本地同步的數據文件和log 來接管master server 安裝如下:
1、創建mfs組
# groupadd mfs
2、創建mfs用戶
# useradd -g mfs -s /sbin/nologin mfs
3、切換目錄
# cd tools/
4、解包歸檔文件
# tar xzf mfs-1.6.27-1.tar.gz
5、進入安裝目錄
# cd mfs-1.6.27
6、配置
# ./configure\
--prefix=/data/soft/mfs-1.6.27 \
--sysconfdir=/data/soft/mfs-1.6.27/etc \
--localstatedir=/data/soft/mfs-1.6.27/var/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount
7、編譯並安裝
make && make install
8、配置文件
# cd /data/soft/mfs-1.6.27/etc/mfs/
# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
8、添加本地hosts解析
# vi /etc/hosts
#192.168.1.100 mfsmaster
在正式環境中應該製作一個服務啓動腳本
存儲塊服務器 Chunk server安裝
1、mfs組
# groupadd mfs
2、創建mfs用戶
# useradd -g mfs -s /sbin/nologin mfs
3、切換目錄
# cd tools/
4、解包歸檔文件
# tar xzf mfs-1.6.27-1.tar.gz
5、進入安裝目錄
# cd mfs-1.6.27
6、配置
./configure\
--prefix=/data/soft/mfs-1.6.27 \
--sysconfdir=/data/soft/mfs-1.6.27/etc \
--localstatedir=/data/soft/mfs-1.6.27/var/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster
7、編譯並安裝
make && make install
8、host解析
# vi /etc/hosts
192.168.1.100 mfsmaster
9、準備配置文件
# cd /data/soft/mfs-1.6.27/etc/mfs/
# cp mfschunkserver.cfg.distmfschunkserver.cfg
# cp mfshdd.cfg.distmfshdd.cfg
10、mfshdd文件的使用:
在配置文件mfshdd.cfg 是要共享出去的硬盤這裏面直接寫入本地掛載的路徑即可
vi mfshdd.cfg
/data/data1
/mnt/data2
11、在啓動chunk server的時候需要保證mfs用戶有權限讀寫掛載的分區
chown mfs:mfs /data/data1
chown mfs:mfs /mnt/data2
12、啓動chunk server
/data/soft/mfs-1.6.27/sbin/mfschunkserver start
這時候再通過瀏覽器http://192.168.1.100:9425訪問
客戶端 Users’ computers安裝
1、建mfs用戶和組
# groupadd mfs && useradd -g mfs -s /sbin/nologin mfs
2、裝pkgconfig
rpm -Uvh pkgconfig-0.21-2.el5.x86_64.rpm>> /dev/null 2>&1
3、編譯utils-linux
tar jxf util-linux-2.20.tar.bz2
cd util-linux-2.20
./configure>> /dev/null 2>&1
make >> /dev/null 2>&1
make install >> /dev/null 2>&1
cd ..
4、編譯fuse
tar xzf fuse-2.9.2.tar.gz
cd fuse-2.9.2
./configure --prefix=/usr >> /dev/null 2>&1
make >> /dev/null 2>&1
make install >> /dev/null 2>&1
cd ..
echo "export PKG_CONFIG_PATH=/usr/lib/pkgconfig:$PKG_CONFIG_PATH" >> /etc/profile
echo "/usr/local/lib" >> /etc/ld.so.conf.d/lib.conf
. /etc/profile
/sbin/ldconfig
modprobe fuse
echo "modprobe fuse" >>/etc/rc.local
5、編譯mfs_client
tar xzf mfs-1.6.27-1.tar.gz
cd mfs-1.6.27
./configure\
--prefix=/data/soft/mfs-1.6.27 \
--sysconfdir=/data/soft/mfs-1.6.27/etc \
--localstatedir=/data/soft/mfs-1.6.27/var/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--enable-mfsmount >> /dev/null 2>&1
make >> /dev/null 2>&1
make install >> /dev/null 2>&1
客戶端掛載:
# 掛載存儲
/data/soft/mfs-1.6.27/bin/mfsmount /mnt -H 192.168.1.100
# 創建垃圾回收站目錄
cd /mnt && meta
# 垃圾回收站掛載
/data/soft/mfs-1.6.27/bin/mfsmount –m /mnt/meta –H 192.168.1.100
MooseFs基礎用法(client 操作)
# 注意:創建副本數,官方推薦的數量是3個副本數,副本數不能大於chunkserver的數量
# 設置冗餘goal設置(-r 是遞歸整個目錄)
/data/soft/mfs-1.6.26/bin/mfssetgoal -r 3/data/mfs
# 查看設置的goal數
/data/soft/mfs-1.6.26/bin/mfsgetgoal/data/mfs
-----------------------------------------------------------------------------------------
# mfscheckfile 用來檢查指定文件以多少副本來存儲(實際創建的副本數可以用這兩條命令檢測)
/data/soft/mfs-1.6.26/bin/mfscheckfile/data/mfs/1.txt
# mfsfileinfo 查看文件分別傳送到哪些服務器
/data/soft/mfs-1.6.26/bin/mfsfileinfo/data/mfs/1.txt
-----------------------------------------------------------------------------------------------
# 設置垃圾隔離時間(時間以秒計算 600秒等同於10分鐘,官方推薦時間)
/data/soft/mfs-1.6.26/bin/mfssettrashtime 600/data/mfs
# 查看垃圾隔離時間
/data/soft/mfs-1.6.26/bin/mfsgettrashtime/data/mfs
-----------------------------------------------------------------------------------------
# 給文件或目錄樹做快照
/data/soft/mfs-1.6.26/bin/mfsmakesnapshot source ... destination
------------------------------------------------------------------------------------------
# mfsdirinfo查看目錄樹的內容摘要
/data/soft/mfs-1.6.26/bin/mfsdirinfo
===============================================================================================================
# 常用維護操作
# Mfs的維護
1、Mfs的元數據服務器存在單點故障,在mfs裏最重要的也是元數據服務器,它最重要的目錄是/data/soft/mfs-1.6.26/var/lib/mfs/
在這個目錄下只要保證了changelog*.mfs 和 metadata.mfs 這兩個文件的安全即使元數據服務器宕機也可以快速恢復
cd/data/soft/mfs-1.6.26/var/lib/mfs
tar czf mfs_backup.tar.gz*
# Mfs的恢復
2、元數據服務器非正常關掉進程(主機發生崩潰,電源異常斷電,進程非正常關閉)下次啓動mfsmaster會報如下錯誤:
can't open metadata file
if this is new instalation then rename /data/soft/mfs-1.6.26/var/lib/mfs/metadata.mfs.empty as /data/soft/mfs-1.6.26/var/lib/mfs/metadata.mfs
init: file system manager failed !!!
error occured during initialization - exiting
解決方法:
# 自動恢復文件系統
/data/soft/mfs-1.6.26/sbin/mfsmetarestore-a
# 手動恢復文件系統
mfsmetarestore-m metadata.mfs.back-o metadata.mfschangelog_ml.*.mfs
# 執行完以上任意一個步驟,就可以試着開啓master服務
/data/soft/mfs-1.6.26/sbin/mfsmaster start
# 如果恢復失敗那麼就可以通過(從恢復備份解決)
tar xzf mfs_backup.tar.gz