MFS分佈式文件系統安裝配置(一)

一、MFS文件系統結構

 1、 管理數據服務器。在整個體系中負責管理各個數據存儲服務器,目前MFS只支持一個元數據服務器

master,這是一個單點故障,需要一個性能穩定的服務器來充當。

2、 元數據日誌服務器。備份master服務器的變化日誌文件,文件類型爲changelog_ml.*.mfs。當元數據服

務器數據丟失或者損毀,可從日誌服務器取得文件進行恢復。

3、 數據存儲服務器chunkserver。真正存儲用戶數據的服務器。存儲文件時,首先把文件分成塊,然後這些

塊在數據服務器chunkserver之間複製(複製份數可以手工指定,建議設置副本數爲3)。數據服務器可以是

多個,並且數量越多,可使用的“磁盤空間”越大,可靠性也越高。

4、 客戶端。使用MFS文件系統來存儲和訪問的主機稱爲MFS的客戶端,成功掛接MFS文件系統以後,就可以像

以前使用NFS一樣共享這個虛擬性的存儲了

二、MFS的編譯與安裝

 1.安裝和配置管理數據服務器

 下載源碼
 wget http://sourceforge.net/projects/moosefs/files/moosefs/1.6.20/mfs-1.6.20.tar.gz

 創建用戶:
 useradd mfs -s /sbin/nologin

 編譯安裝:
 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
 make
 make install
 
 配置文件:
 配置文件被放置於安裝目錄/usr/local/mfs/etc
 需要用到的配置文件有兩個,mfsmaster.cfg和mfsexports.cfg 。mfsmaster.cfg是主配置文件,
 mfsexports.cfg對被掛載目錄以及權限進行設置
 
 cat mfsexports.cfg
 
# WORKING_USER = mfs
# WORKING_GROUP = mfs
# SYSLOG_IDENT = mfsmaster     #master server 在syslog中的表識                      
# LOCK_MEMORY = 0
# NICE_LEVEL = -19             #運行的優先級,進程必須由root用戶啓動

#被掛載目錄以及權限控制文件存放的位置
EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg

#數據存放路徑
DATA_PATH = /usr/local/mfs/var/mfs

#元數據的改變日誌文件數量
# BACK_LOGS = 50

#延遲複製的時間
# REPLICATIONS_DELAY_INIT = 300

#chunk server 斷開復制的延遲
# REPLICATIONS_DELAY_DISCONNECT = 3600

#元數據日誌服務器的監聽IP和 端口
# MATOML_LISTEN_HOST = *
MATOML_LISTEN_PORT = 9419

#chunk server 連接的ip和端口
# MATOCS_LISTEN_HOST = *
MATOCS_LISTEN_PORT = 9420

#客戶端掛接的IP地址和端口
# MATOCU_LISTEN_HOST = *
MATOCU_LISTEN_PORT = 9421

#chunk的迴環頻率 默認300秒
# CHUNKS_LOOP_TIME = 300

#表示在一個loop設備中可以刪除chunks的最大數
# CHUNKS_DEL_LIMIT = 100

#在一個循環裏複製到一個chunk server的最大chunks的數目
# CHUNKS_WRITE_REP_LIMIT = 1

#在一個循環裏從一個chunk server中複製的最大chunks數目
# CHUNKS_READ_REP_LIMIT = 5


# REJECT_OLD_CLIENTS = 0
# deprecated, to be removed in MooseFS 1.7
# LOCK_FILE = /var/run/mfs/mfsmaster.lock

這個文件可以不經修改就能工作

cat mfsexports.cfg
*    .    rw
192.168.0.1/24        /    rw

該文件每一個條目分爲三部分,第一部分表示IP地址,第二部分表示被掛載的目錄,第三部分表示客戶端擁

有的權限

 / 表示mfs根
 . 表示mfsmeta 文件系統

 ro 只讀模式共享
 rw 讀寫模式共享
 alldirs 允許掛載任何指定的子目錄
 maproot 映射爲root用戶還是指定的用戶
 password 指定客戶端密碼

 默認的元數據文件爲metadata.mfs 要啓動mfsmaster 需要先將metadata.mfs.empty 改名爲metadata.mfs
 cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs

 啓動mfsmaster
 /usr/local/mfs/sbin/mfsmaster start

 working directory: /usr/local/mfs/var/mfs
 lockfile created and locked
 initializing mfsmaster modules ...
 loading sessions ... ok
 sessions file has been loaded
 exports file has been loaded
 loading metadata ...
 loading objects (files,directories,etc.) ... ok
 loading names ... ok
 loading deletion timestamps ... ok
 checking filesystem consistency ... ok
 loading chunks data ... ok
 connecting files and chunks ... ok
 all inodes: 1
 directory inodes: 1
 file inodes: 0
 chunks: 0
 metadata file has been loaded
 stats file has been loaded
 master <-> metaloggers module: listen on *:9419
 master <-> chunkservers module: listen on *:9420
 main master server module: listen on *:9421
 mfsmaster daemon initialized properly


 關閉mfsmaster /usr/local/mfs/sbin/mfsmaster -s
 安全停止mfsmaster非常重要不要使用kill 的方式



 2.元日誌服務器的安裝配置
 
  安裝方法同安裝mfsmaster一樣,只不過需要修改的配置文件不同
 
  元日誌服務器的配置文件只需要一個,mfsmetalogger.cfg

 cp /usr/local/mfs/etc/mfsmetalogger.cfg.dist /usr/local/mfs/etc/mfsmetalogger.cfg

 這個配置文件我們只需要修改MASTER_HOST = 192.168.0.160 ,意識是指定mfsmaster的ip地址

 啓動元日誌服務器

 /usr/local/mfs/sbin/mfsmetalogger start
  working directory: /usr/local/mfs/var/mfs
  lockfile created and locked
  initializing mfsmetalogger modules ...
  mfsmetalogger daemon initialized properly

 說明元日誌服務器已經啓動了
 

 停止元日誌服務器
 /usr/local/mfs/sbin/mfsmetalogger -s

 3.安裝配置數據存儲服務器,可以有多臺

 安裝方法和mfsmaster一樣。只是配置文件不同

 這裏需要的配置文件有兩個mfschunkserver.cfg 和 mfshdd.cfg

 mfschunkserver.cfg 需要修改的內容如下

 MASTER_HOST = 192.168.0.160
 MASTER_PORT = 9420
 HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg

 需要指定mfsmaster元數據管理服務器的IP和port以及分配給mfs使用的磁盤空間配置文件的位置

 我的mfshdd.cfg配置文件內容如下
 /data
 
 在這裏/data是一個mfs分區但是在本機上是一個獨立使用的磁盤掛載分區將/data的屬主改爲MFS
 chown -R mfs:mfs /data

 啓動數據存儲服務器

  /usr/local/mfs/sbin/mfschunkserver start
    working directory: /usr/local/mfs/var/mfs
    lockfile created and locked
    initializing mfschunkserver modules ...
    hdd space manager: scanning folder /data/ ...
    hdd space manager: scanning complete
    hdd space manager: /data/: 0 chunks found
    hdd space manager: scanning complete
    main server module: listen on *:9422
    stats file has been loaded
    mfschunkserver daemon initialized properly

  關閉數據存儲服務器
  /usr/local/mfs/sbin/mfschunkserver -s

 4.MFS客戶端的安裝配置

  mfs 的客戶端依賴於fuse,所以先要安裝fuse
  tar xzvf fuse-2.7.4.tar.gz
  cd fuse-2.7.4
  ./configure
  make
  make install
 
 在 /etc/profile末尾添加
 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
 source /etc/profile
 使配置生效。

 mfs的安裝同上
 只不過 ./configure 注意加上--enable-mfsmount
 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --

enable-mfsmount

 掛載mfs文件系統
 先創建掛載點 mkdir /mnt/mfs
 掛載mfs    /usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.0.160
 
 注意,所有的MFS都是掛接同一個元數據服務器master,而不是其他數據存儲服務器chunkserver


 卸載已經掛載的文件系統
 umount /mnt/mfs

 通過mfscgiserv 監控客戶端連接狀態,監聽端口是9425
 在管理服務器啓動mfscgiserv
 /usr/local/mfs/sbin/mfscgiserv

 用戶利用瀏覽器就可以全面監控所有的客戶端的掛接chunk server ,master server,以及客戶端的各種操作等信息



 下面介紹各個部分的情況

 info      顯示mfs的基本信息
 servers   列出現有的chunk server
 disks     列出每一臺chunk server 的磁盤目錄以及使用量
 exports   列出被共享的目錄即可被掛接的目錄
 mounts    顯示被掛接的部分
 operations 顯示正在執行的操作
 master charts 顯示master server的操作情況包括讀取 寫入創建目錄 刪除目錄等信息
 server charts 顯示chunk server 的操作情況 數據傳輸率以及系統狀態等信息
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章