參考田逸老師的文章:http://sery.blog.51cto.com/
自己的親身實踐過程如下:
(一) 安裝元數據服務
1、下載GNU源碼 wget http://www.moosefs.com/files/mfs-1.5.12.tar.gz
2、解包 tar zxvf mfs-1.5.12.tar.gz
3、切換目錄 cd mfs-1.5.12
4、創建用戶 useradd mfs -s /sbin/nologin
5、配置 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
6、編譯安裝 make ; make install
二。 配置元服務器
cd /usr/local/mfs/etc
cat mfsmaster.cfg
mkdir -p /var/run/mfs
chown -R mfs:mfs /var/run/mfs
/usr/local/mfs/sbin/mfsmaster start
ps -ef | grep mfsmaster | grep -v grep
注意:
/usr/local/mfs/sbin/mfsmaster -s 關閉元數據服務器
1、下載GNU源碼 wget http://www.moosefs.com/files/mfs-1.5.12.tar.gz
2、解包 tar zxvf mfs-1.5.12.tar.gz
3、切換目錄 cd mfs-1.5.12
4、創建用戶 useradd mfs -s /sbin/nologin
5、配置 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
6、編譯安裝 make ; make install
二。 配置元服務器
cd /usr/local/mfs/etc
cat mfsmaster.cfg
mkdir -p /var/run/mfs
chown -R mfs:mfs /var/run/mfs
/usr/local/mfs/sbin/mfsmaster start
ps -ef | grep mfsmaster | grep -v grep
注意:
/usr/local/mfs/sbin/mfsmaster -s 關閉元數據服務器
三.安裝數據服務器
1、下載GNU源碼 wget http://www.moosefs.com/files/mfs-1.5.12.tar.gz
2、解包 tar zxvf mfs-1.5.12.tar.gz
3、切換目錄 cd mfs-1.5.12
4、創建用戶 useradd mfs -s /sbin/nologin
5、配置 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
6、編譯安裝 make ; make install
2、解包 tar zxvf mfs-1.5.12.tar.gz
3、切換目錄 cd mfs-1.5.12
4、創建用戶 useradd mfs -s /sbin/nologin
5、配置 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
6、編譯安裝 make ; make install
配置數據服務器
cd /usr/local/mfs/etc
vi mfschunkserver.cfg
修改兩處
MASTER_HOST = 192.168.2.88 元數據服務器的IP
MASTER_PORT = 9420 元數據服務的端口
cd /usr/local/mfs/etc
vi mfschunkserver.cfg
修改兩處
MASTER_HOST = 192.168.2.88 元數據服務器的IP
MASTER_PORT = 9420 元數據服務的端口
mkdir -p /var/run/mfs
chown -R mfs:mfs /var/run/mfs
vi mfshdd.cfg
只寫/data因爲我的/dev/hdb1掛載到/data上
chown -R mfs:mfs /data
/usr/local/mfs/sbin/mfschunkserver start
ps -ef | grep mfschunkserver
netstat -an | grep 9422
注意:
/usr/local/mfs/sbin/mfschunkserver -s 關閉數據服務器
chown -R mfs:mfs /var/run/mfs
vi mfshdd.cfg
只寫/data因爲我的/dev/hdb1掛載到/data上
chown -R mfs:mfs /data
/usr/local/mfs/sbin/mfschunkserver start
ps -ef | grep mfschunkserver
netstat -an | grep 9422
注意:
/usr/local/mfs/sbin/mfschunkserver -s 關閉數據服務器
其他的數據服務器的安裝方法和配置方法如上
四.client的配置
1、解包 tar zxvf fuse-2.7.4.tar.gz
2、切換目錄 cd fuse-2.7.4.
3、配置 ./configure
4、編譯安裝 make;make install
5. vi /etc/profile增加export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile
6.tar zxvf mfs-1.5.12.tar.gz
cd mfs-1.5.12
useradd mfs -s /sbin/nologin
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
make && make install
mkdir -p /mnt/mfs
/usr/local/mfs/bin/mfsmount -h 192.168.2.88
df -h
/usr/local/mfs/bin/mfsrsetgoal 3 /mnt/mfs/ 設置副本數爲3
/usr/local/mfs/bin/mfsrsettrashtime 600 /mnt/mfs/ 設置回收時間爲600s即10分鐘
7.設置自動掛載
在/etc/rc.d/rc.local里加上如下內容:
/sbin/kldload /usr/local/modules/fuse.ko
/usr/local/mfs/bin/mfsmount -h 192.168.2.88
1、解包 tar zxvf fuse-2.7.4.tar.gz
2、切換目錄 cd fuse-2.7.4.
3、配置 ./configure
4、編譯安裝 make;make install
5. vi /etc/profile增加export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile
6.tar zxvf mfs-1.5.12.tar.gz
cd mfs-1.5.12
useradd mfs -s /sbin/nologin
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
make && make install
mkdir -p /mnt/mfs
/usr/local/mfs/bin/mfsmount -h 192.168.2.88
df -h
/usr/local/mfs/bin/mfsrsetgoal 3 /mnt/mfs/ 設置副本數爲3
/usr/local/mfs/bin/mfsrsettrashtime 600 /mnt/mfs/ 設置回收時間爲600s即10分鐘
7.設置自動掛載
在/etc/rc.d/rc.local里加上如下內容:
/sbin/kldload /usr/local/modules/fuse.ko
/usr/local/mfs/bin/mfsmount -h 192.168.2.88
五.破壞性測試
1.測試數據存儲服務器
我用5個服務器組成了MFS的存儲平臺,其中一個是master,其餘四個服務器是chunkserver.先停止一個chunkserver服務,
然後在某個MFS客戶端往掛接點的目錄(/mnt/mfs)裏複製數據或者創建目錄/文件、或者讀取文件、或者刪除文件,觀察操作是否能正常進行。
再停止第2個chunkserver,重複執行上述操作;然後再停止第3個服務器,執行類似的文件讀些操作。
減少chunkserver試驗後,我們再來逐步增加chunkserver服務器,然後對MFS執行讀寫等相關訪問操作,檢驗其正確性。
通過增減chunkserver服務器的測試,服務的可靠性確實不錯,哪怕只剩下最後一個服務器,也能正常提供存儲訪問服務。
2.測試元數據服務器
元數據服務器最重要的文件在目錄 /usr/local/mfs/var/mfs ,MFS每一個數據的變化,都被記錄在這個目錄的文件裏,
我們可以通過備份這個目錄的全部文件,來保障整個MFS文件系統的可靠性.在正常情況下,元數據服務器的改變日誌文件(changelogs) 實時地、
自動地複製到所有的數據存儲服務器,並且以changelog_csback.*.mfs的形式命名。
換句換說,即使元數據服務器報廢了,也能再部署一個元數據服務器,然後從數據存儲服務器chunkserver取得恢復所需要的文件。
(1).本地測試
1、停止元數據服務 /usr/local/mfs/sbin/mfsmaster
2、備份元數據服務器數據 cd /usr/local/mfs/var; tar czvf mfs.tgz mfs
3、刪除目錄 mv mfs mfs.bk 或 rm -rf mfs
4、啓動元數據服務 ../sbin/mfsmaster start 啓動失敗,提示不能初始化數據。
5、解包 tar zxvf mfs.tgz
6、執行恢復操作 .. /sbin/mfsmetarestore -a
7、啓動元數據服務 ../sbin/mfsmaster start
8、在MFS客戶端檢查MFS存儲的數據是否跟恢復前一致?能否正常訪問等等。
(2). 遷移測試
1、 安裝新的MFS元數據服務器。
2、 複製元數據服務器數據目錄(/usr/local/mfs/var/mfs)到這個新的元數據服務器。
3、 停止原先的那個元數據服務器(關閉計算機或停止它的網絡服務)。
4、 更改新的元數據服務器的ip爲原來那個服務器的ip.
5、 啓動新的元數據服務 /usr/local/mfs/sbin/mfsmaster start
6、 在MFS客戶端檢查MFS存儲的數據是否跟恢復前一致?能否正常訪問等等。