天天看點

CentOS 安裝moosefs

安裝MFS基本步驟

主機IP位址配置設定如下

主要伺服器Master Server 192.168.88.161

主要伺服器 Metalogger Server 192.168.88.162

存儲塊伺服器 Chunk Server 192.168.88.163 AND 192.168.88.164

用戶端主機 Clients 192.168.88.165

===========================================================

一、         主要伺服器Master Server 安裝

将mfs-1.6.26.tar.gz上傳到/usr/software下。

安裝所需元件

[root@MFS-Master ~]# yum install cmake make –y

[root@MFS-Master ~]# yum install gcc gcc-c++ autoconf automake zlib* -y

添加mfs組。

[root@MFS-Master ~]# groupadd mfs

新增系統使用者

[root@MFS-Master ~]# useradd -g mfs mfs

切換目錄

[root@MFS-Master ~]# cd /usr/software/

解壓mfs-1.6.26.tar.gz檔案

[root@MFS-Master software]# tar -zxvf mfs-1.6.26.tar.gz

進入安裝目錄

[root@MFS-Master software]# cd mfs-1.6.26

使用者配置

[root@MFS-Master software]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs

編譯并安裝

[root@MFS-Chunk1 mfs-1.6.26]# make && make install

[root@MFS-Master /]# cd /usr/local/mfs/etc/

複制置檔案

       [root@MFS-Master etc]# cp mfsmaster.cfg.dist mfsmaster.cfg

       [root@MFS-Master etc]# cp mfsexports.cfg.dist mfsexports.cfg

主配置檔案說明

修改DATA_PATH指定的目錄要權限為mfs

       [root@MFS-Master etc]# chown -R mfs:mfs /usr/local/mfs/var/mfs

       注意開通監聽的端口(先關閉IPTABLES)

               service iptables stop

配置mfsexports.cfg檔案

[root@MFS-Master etc]# vi mfsexports.cfg

修改紅框中的内容為

192.168.88.0/24                 /       rw,alldirs,maproot=0

該檔案每一個條目分為三部分:

第一部分:用戶端的ip位址

第二部分:被挂接的目錄

第三部分:用戶端擁有的權

位址可以指定的幾種表現形式:

*                          所有的ip位址

n.n.n.n               單個ip位址

n.n.n.n/b           IP網絡位址/位數掩碼

n.n.n.n/m.m.m.m    IP網絡位址/子網路遮罩

f.f.f.f-t.t.t.t                 IP段

目錄部分需要注意兩點:

/        辨別MooseFS 根;

.       表示MFSMETA 檔案系

權限部分:

ro               隻讀模式共享

rw              的方式共享

alldirs                 許挂載任何指定的子目錄

maproot  映射為root,還是指定的使用者

password 指定用戶端密碼

複制檔案

[root@MFS-Master etc]# cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs

啟動服務

[root@MFS-Master etc]# /usr/local/mfs/sbin/mfsmaster start

啟動監控服務

為了監控MooseFS 目前運作狀态,我們可以運作 CGI 監控服務,這樣就可以用浏覽器檢視整個MFS的動行情況

[root@MFS-Master etc]# /usr/local/mfs/sbin/mfscgiserv

在浏覽器位址欄輸入 http://192.168.88.161:9425 即可檢視master 的運作情況

要經常性的檢視系統日志

[root@MFS-Master etc]# tail -f /var/log/messages

主要伺服器Master Server 安裝完成

二、         備份伺服器 Backup Server(metalogger)安裝

将mfs-1.6.26.tar.gz上傳制/usr/software下。

[root@MFS-Metalogger etc]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

修改配置檔案

[root@MFS-Metalogger etc]# vi mfsmetalogger.cfg

在配置檔案中添加一行 MASTER_HOST = 192.168.88.161(主要伺服器的IP)

再将 MASTER_PORT = 9419 這行的注釋打開

(注:

MASTER_HOST 不能為localhost或127.0.0.1,要使用對外IP。

MASTER_PORT必須為中繼資料伺服器配置中MATOCS_LISTEN_PORT指定的端口,且IP必須被master允許。)

[root@MFS-Metalogger mfs]# /usr/local/mfs/sbin/mfsmetalogger start

(注:需要将主要伺服器打開)

備份伺服器 Backup Server(metalogger)安裝完成

三、         存儲伺服器 Chunk Server 安裝

[root@MFS-Chunk1 mfs-1.6.26]# cd /usr/local/mfs/etc/

複制配置檔案

[root@MFS-Chunk1 etc]# cp mfschunkserver.cfg.dist mfschunkserver.cfg

[root@MFS-Chunk1 etc]# cp mfshdd.cfg.dist mfshdd.cfg

[root@MFS-Chunk1 etc]# vi mfschunkserver.cfg

再将 MASTER_PORT = 9420 這行的注釋打開

[root@MFS-Chunk1 etc]# vi mfshdd.cfg

(注:需要在根目錄下建立一個data的目錄 mkdir data)

修改權限

需要讓mfs使用者擁有寫目錄的權限

[root@MFS-Chunk1 etc]# cd /

[root@mysql_master /]# mkdir data

[root@MFS-Chunk1 /]# chown -R mfs:mfs /data

[root@MFS-Chunk1 /]# /usr/local/mfs/sbin/mfschunkserver start

第二個存儲伺服器的安裝和配置相同

四、         用戶端安裝

将fuse-2.9.2.tar.gz上傳制/usr/software下

将mfs-1.6.26.tar.gz上傳制/usr/software下

FUSE安裝

[root@mysql1 ~]# cd /usr/software/

解壓檔案

[root@mysql1 software]# tar -zxvf fuse-2.9.2.tar.gz

[root@mysql1 software]# cd fuse-2.9.2

配置 一下

[root@mysql1 fuse-2.9.2]# ./configure

編譯安裝

[root@mysql1 fuse-2.9.2]#

修改環境變量

[root@mysql1 fuse-2.9.2]# echo 'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' >>/etc/profile

[root@mysql1 fuse-2.9.2]# source /etc/profile

[root@mysql1 fuse-2.9.2]# modprobe fuse

MFSMount安裝

進入目錄

建立挂接點

[root@mysql1 bin]# cd /

[root@mysql1 /]# mkdir /mnt/mfs

[root@mysql1 /]# cd /usr/local/mfs/bin/

[root@mysql1 bin]# /usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.88.161

(注:所有的MFS都是挂接同一個中繼資料伺服器master,而不是其他資料存儲伺服器chunkserver)

挂接垃圾箱

[root@mysql1 /]# mkdir /mnt/mfsmeta

[root@mysql1 bin]# /usr/local/mfs/bin/mfsmount -m /mnt/mfsmeta -H 192.168.88.161

設定檔案副本數量

[root@mysql1 bin]# /usr/local/mfs/bin/mfssetgoal 2 /mnt/mfs

(注:設定該數值時,不要超過ChunkServer的數量)

相關指令

啟動master服務

/usr/local/mfs/sbin/mfsmaster start

停止master服務

/usr/local/mfs/sbin/mfsmaster stop

(注:一定要安全停止master server是非常必要的,最好不要用kill。利用mfsmaster –s來安全停止master serve)

啟動和停止web gui

啟動: /usr/local/mfs/sbin/mfscgiserv

停止: kill /usr/local/mfs/sbin/mfscgiserv

啟動chunkvserver服務

 /usr/local/mfs/sbin/mfschunkserver start

停止chunksever服務

 /usr/local/mfs/sbin/mfschunkserver stop

啟動metalogger服務

/usr/local/mfs/sbin/mfsmetalogger start

停止metalogger服務

/usr/local/mfs/sbin/mfsmetalogger stop

設定副本 的份數,推薦3份

/usr/local/mfs/bin/mfssetgoal -r 3 /mnt/mfs

(注:如果之前設定為副本為2,用 –r 修改副本數為3,會将之前副本為2的檔案再增加一個副本)

檢視挂載的目錄有設定了幾個副 本

[root@Client /]# /usr/local/mfs/bin/mfsgetgoal /mnt/mfs/

檢視一個檔案有幾個CHUNK,有幾個COPY

[root@mysql1 mfs]# /usr/local/mfs/bin/mfsfileinfo test10.rar

檢視目錄下所有資訊

[root@mysql1 mfs]# /usr/local/mfs/bin/mfsdirinfo /mnt/mfs

設定垃圾箱删除檔案時間

[root@mysql1 mfs]# /usr/local/mfs/bin/mfssettrashtime 3600 /mnt/mfs/

[root@mysql1 bin]# ls /mnt/ mfsmeta /trash

恢複被删除的檔案

被删除的檔案名由一個八位十六進制數和被删檔案的檔案名組成

[root@mysql1 trash]# cd /mnt/ mfsmeta /trash/

隻要将要恢複的檔案移動到undel檔案夾中,檔案就恢複了

[root@mysql1 trash]# mv '0000002B|test3.rar' undel

恢複資料

第一種方式:通過備份Master的/usr/local/mfs/var/mfs檔案夾下的檔案進行恢複

1、          先備份Master Server的/usr/local/mfs/var/mfs檔案夾下的檔案(可以通過crontab來完成)

2、          将好使的Master Server的/usr/local/mfs/var/mfs下的檔案删除

3、          将備份的檔案重新拷貝到/usr/local/mfs/var/mfs檔案夾下

4、          将metadata.mfs.back檔案改為metadata.mfs

5、          [root@Master etc]# chown -R mfs:mfs /usr/local/mfs/var/mfs

6、          [root@Master etc]# reboot

7、          重新開機後啟動服務/usr/local/mfs/sbin/mfsmaster start,恢複成功。

第二種方式:通過Backup Server進行恢複

1、          重新安裝一個Master Server

2、          到Backup Server的/usr/local/mfs/var/mfs/目錄下找到metadata_ml.mfs.back檔案和最後一個日志檔案,我最後一個日志檔案是changelog_ml.21.mfs

3、          将這兩個檔案複制到Master Server的/usr/local/mfs/etc/目錄下

4、          執行/usr/local/mfs/sbin/mfsmetarestore -m metadata_ml.mfs.back -o /usr/local/mfs/var/mfs/metadata.mfs changelog_ml.21.mfs

重新開機後啟動服務,恢複成功。

繼續閱讀