MooseFS

               MooseFS

 

MooseFS是一種分佈式文件系統,其文件系統結構包括以下四種角色:

1、管理服務器managing server (master)

2、元數據日誌服務器Metalogger server(Metalogger)

3、數據存儲服務器data servers (chunkservers)

4、客戶機掛載使用client computers

各角色的作用:

管理服務器:主要對各個數據存儲服務器的管理,文件讀寫調度,文件空間回收以及恢復.多節點拷貝

元數據日誌服務器: 主要負責備份master服務器的變化日誌文件,文件類型爲changelog_ml.*.mfs,以便於在master server出問題的時候接替其進行工作

數據存儲服務器:主要負責連接管理服務器,聽從管理服務器調度,提供存儲空間,併爲客戶提供數據傳輸。

客戶端: 通過fuse內核接口掛接遠程管理服務器上所管理的數據存儲服務器。

 

在此我看了官方文檔才按着官方文檔做了一個小實驗,也算是對MooseFS瞭解一下。在此安裝moosefs在同一臺主機上,雖然有悖分佈式文件系統,但是此處只是測試。把MooseFS安裝到同一臺物理主機上,在這裏,並不推薦將備份服務器也安裝到這臺服務器上(IP:192.168.1.118)。官網上說爲了掛接基MooseFS分佈式文件客戶端主機必須安裝fuse軟件包官方推薦fuse版本至少在2.6。如果系統沒有安裝fuse必須手動對其進行安裝。在此按照官網上的來做。從源碼進行編譯安裝我們從http://sourceforge.net/project/fuse/取得安裝源碼。

[root@localhost ~]# tar xf fuse-2.9.3.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src

[root@localhost src]# ls

debug  fuse-2.9.3  kernels

[root@localhost fuse-2.9.3]# ./configure

[root@localhost fuse-2.9.3]# make

[root@localhost fuse-2.9.3]# make install

在官網上獲得moosefs源碼包,解壓之後,編譯安裝。

[root@localhost moosefs-2.0.60]# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs

[root@localhost moosefs-2.0.60]# make

[root@localhost moosefs-2.0.60]# make install

在以上安裝的過程中會報缺少依賴包,在此都一一裝上。

 

moosefs chunk使用專門磁盤分區是非常必要的-,這樣做的好處是便於管理剩餘空間。moosefs並不考慮其剩餘空間能被另作他用。官網上顯示:如果沒有單獨創建文件系統的條件,可以在文件創建一個文件系統。爲了完成測試,我們準備兩個G的文件(文件位於目錄/storage/mfschunks),並在其上創建文件系統。把他們格式化爲ext3,分別掛載在/mnt/mfschunks1和/mnt/mfschunks2.以下具體操作步驟

掛載第一個文件系統

 1、創建目錄

[root@localhost ~]# mkdir -p /storage/mfschunks

 2、創建鏡像文件mfschunks1

[root@localhost ~]# dd if=/dev/zero of=/storage/mfschunks/mfschunks1 bs=1024 count=1 seek=$((2*1024*1024-1))

 3、創建文件系統

[root@localhost ~]# mkfs -t ext3 /storage/mfschunks/mfschunks1

 4、創建掛接點

[root@localhost ~]# mkdir -p /mnt/mfschunks1

 5、掛接文件系統

[root@localhost ~]# mount -t ext3 -o loop /storage/mfschunks/mfschunks1 /mnt/mfschunks1

掛載第二個文件系統

 1、創建目錄

[root@localhost ~]# mkdir -p /storage/mfschunks

 2、創建鏡像文件mfschunks1

[root@localhost ~]# dd if=/dev/zero of=/storage/mfschunks/mfschunks2 bs=1024 count=1 seek=$((2*1024*1024-1))

 3、創建文件系統

[root@localhost ~]# mkfs -t ext3 /storage/mfschunks/mfschunks2

 4、創建掛接點

[root@localhost ~]# mkdir -p /mnt/mfschunks2

 5、掛接文件系統

[root@localhost ~]# mount -t ext3 -o loop /storage/mfschunks/mfschunks2 /mnt/mfschunks2

 

啓動chunk server之前,要確保mfs有權限讀寫將要被掛接的分區

[root@localhost ~]# chown -R mfs.mfs /mnt/mfschunks1

[root@localhost ~]# chown -R mfs.mfs /mnt/mfschunks2

 

還需要修改一下/etc/mfs/的配置文件,將.dist去掉就可以了。

[root@localhost etc]# cp mfs/mfsexports.cfg.dist mfs/mfsexports.cfg

[root@localhost etc]# cp mfs/mfsmaster.cfg.dist mfs/mfsmaster.cfg

[root@localhost etc]# cp mfs/mfschunkserver.cfg.dist mfs/mfschunkserver.cfg

[root@localhost etc]# cp mfs/mfshdd.cfg.dist mfs/mfshdd.cfg

在此對以上配置文件說明一下,mfsexports.cfg和mfsmaster.cfg爲主控服務master配置文件;mfschunkserver.cfg與mfshdd.cfg爲chunk server配置文件。在mfsexports.cfg配置文件內可以修改一些項來給客戶端訪問權限,如在此處可以配置文件內修改192.168.1.0/24   /   rw,alldirs,maproot=0 表示允許192.168.1.0/24這個網段訪問。有關chunkserver的配置文件在mfshdd.cfg內添加/mnt/mfschunks1和/mnt/mfschunks2兩項。

 

要想讓moosefs的master運行還需要一個文件在/var/lib/mfs之下將metadata.mfs.empty改成,metadata.mfs

[root@localhost mfs]# cd /var/lib/mfs

[root@localhost mfs]# ls

metadata.mfs.empty

[root@localhost mfs]# cp metadata.mfs.empty metadata.mfs

[root@localhost mfs]#

在hosts文件可添加

[root@localhost ~]# vim /etc/hosts

192.168.1.118  mfsmaster

 

運行master server,CGI監控以及chunk server。

[root@localhost ~]# /usr/sbin/mfsmaster start

[root@localhost ~]# /usr/sbin/mfscgiserv

[root@localhost ~]# /usr/sbin/mfschunkserver start

查看一下9425端口是否啓動,訪問http://192.168.1.118:9425

wKioL1Ukw2_BTv3aAAT3QY5do_c389.jpg

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章