MooseFS的安裝配置和使用

    MooseFS是一種Linux下的開源半分佈式文件系統,如下簡稱爲MFS。目前許多企業都在使用它。它之因此使用如此普遍是由於有以下優勢:sql

  
  
  
  
  1. 安裝和配置簡單方便  vim

  2. 可靠性高(數據的多個拷貝被存儲在多個不一樣的服務器上)  windows

  3. 經過添加新的服務器或硬盤就能夠實現容量的動態擴展  安全

  4. 刪除的數據可在必定時間內保留(相似windows裏面的回收站機制,數據保留時間須要配置) 服務器

    以上優勢不難看出,MFS雖然是開源的,可是它功能上不遜色於專業的存儲系統。下面咱們來具體學習安裝和配置MFS。session

MFS文件系統結構

整個文件系統包括以下幾個角色:分佈式

  
  
  
  
  1. 管理服務器-Master Server  ide

  2. 元數據日誌服務器-Metalogger Server  學習

  3. 數據存儲服務器-Chunk Server  this

  4. 客戶端-Client 

 每一個角色的做用以下:

一、管理服務器,負責各個數據存儲服務器的管理,文件讀寫調度,文件空間回收以及恢復多節點拷貝。
二、元數據日誌服務器,負責備份master服務器的變化日誌文件,文件類型爲changelog_ml.*.mfs,以便於在master server出問題的時候接替其進行工做。
三、數據存儲服務器,負責鏈接管理服務器,遵從管理服務器調度,提供存儲空間,併爲客戶提供數據傳輸。
四、客戶端,經過fuse內核接口掛接遠程管理服務器上所管理的數據存儲服務器,看起來共享的文件系統和本地unix文件系統使用同樣的效果。

準備工做

準備服務器:

  
  
  
  
  1. OS: Centos 5.8 x86_64

  2. 管理服務器:192.168.0.201  

  3. 元數據日誌服務器:192.168.0.202  

  4. 數據存儲服務器:192.168.0.203  

  5. 數據存儲服務器:192.168.0.204  

  6. 客戶端:192.168.0.205 

下載安裝包:

  
  
  
  
  1. wget http://pro.hit.gemius.pl/hitredir/id=p4CVHPOzkVa0JJIK.m0Ee6dyHZEgoQb1KaiPmVK29EX.M7/url=moosefs.org/tl_files/mfscode/mfs-1.6.26.tar.gz 

添加相關用戶與用戶組:

  
  
  
  
  1. groupadd mfs  

  2. useradd -g mfs mfs -s /sbin/nologin

編譯安裝MFS

整個MFS安裝很簡單,只有以下幾步。 

  
  
  
  
  1. tar zxvf mfs-1.6.26.tar.gz  

  2. cd mfs-1.6.26  

  3. ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount 

  4. make  

  5. make install 

注意客戶端部分在安裝以前,須要查看是否安裝了fuse。沒有安裝請執行以下部分:

  
  
  
  
  1. yum install fuse  

  2. yum install fuse-devel 

配置使用

管理服務器(192.168.0.201):

mfsmaster.cfg的配置

  
  
  
  
  1. cd /usr/local/mfs/etc   

  2. cp mfsmaster.cfg.dist mfsmaster.cfg

  3. vim mfsmaster.cfg

mfsmaster.cfg文件內容以下,

  
  
  
  
  1. 帶#號的均爲默認配置,不帶#號的需手工配置。

  2. # WORKING_USER = mfs   運行mfsmaster的用戶  

  3. # WORKING_GROUP = mfs  運行mfsmaster的組  

  4. # SYSLOG_IDENT = mfsmaster  是Master Server在syslog中的標識  

  5. # LOCK_MEMORY = 0   是否執行mlockall()以免mfsmaster進程溢出  

  6. # NICE_LEVEL = -19  運行的優先級  

  7. # EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg   被掛接目錄及其權限控制文件的存放路徑  

  8. # TOPOLOGY_FILENAME = /usr/local/mfs/etc/mfstopology.cfg    

  9. # DATA_PATH = /usr/local/mfs/var/mfs  數據存放路徑,存放了三類文件,changelog、sessions、stats  

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

  11. # BACK_META_KEEP_PREVIOUS = 1    

  12. # REPLICATIONS_DELAY_INIT = 300   延遲複製時間  

  13. # REPLICATIONS_DELAY_DISCONNECT = 3600  Chunk Server斷開復制的延時  

  14. # MATOML_LISTEN_HOST = *  元數據日誌服務器監聽的IP地址  

  15. # MATOML_LISTEN_PORT = 9419  元數據日誌服務器監聽的端口地址  

  16. # MATOCS_LISTEN_HOST = *  用於Chunk Server鏈接的IP地址  

  17. # MATOCS_LISTEN_PORT = 9420  用於Chunk Server鏈接的端口地址  

  18. # MATOCL_LISTEN_HOST = *  用於客戶端掛接鏈接的IP地址  

  19. # MATOCL_LISTEN_PORT = 9421  用於客戶端掛接鏈接的端口地址  

  20. # CHUNKS_LOOP_CPS = 100000    

  21. # CHUNKS_LOOP_TIME = 300  chunks的迴環頻率  

  22. # CHUNKS_SOFT_DEL_LIMIT = 10    

  23. # CHUNKS_HARD_DEL_LIMIT = 25    

  24. # CHUNKS_WRITE_REP_LIMIT = 2  在一個循環裏複製到一個Chunk Server的最大chunks數目  

  25. # CHUNKS_READ_REP_LIMIT = 10  在一個循環裏從一個Chunk Server中複製的最大chunks數目  

  26. # REJECT_OLD_CLIENTS = 0  彈出低版本的客戶端掛接  

  27. # deprecated:    

  28. # CHUNKS_DEL_LIMIT - use CHUNKS_SOFT_DEL_LIMIT instead

  29. # LOCK_FILE - lock system has been changed, and this optionis used onlyto search for old lockfile 

 mfsexports.cfg的配置

  
  
  
  
  1. cd /usr/local/mfs/etc     

  2. cp mfsexports.cfg.dist mfsexports.cfg  

  3. vim mfsexports.cfg 

mfsexports.cfg文件的內容以下:

  
  
  
  
  1. 該配置文件中每一個條目分爲三部分,客戶端IP地址、掛接的目錄、客戶端擁有的權限。默認帶#號的配置是不生效的。

  2. *                       /       rw,alldirs,maproot=0  

  3. #192.168.1.0/24         /       rw,alldirs,maproot=0,password=passcode  

  4. #10.0.0.0-10.0.0.5      /test   rw,maproot=nobody,password=test  

  5. #10.1.0.0/255.255.0.0   /public rw,mapall=1000:1000  

  6. #10.2.0.0/16            /       rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w 

複製元數據文件

  
  
  
  
  1. cd /usr/local/mfs/var/mfs/  

  2. mv metadata.mfs.empty metadata.mfs 

與管理服務器相關的命令:

  
  
  
  
  1. 啓動命令:/usr/local/mfs/sbin/mfsmaster start  

  2. 安全中止命令:/usr/local/mfs/sbin/mfsmaster –s  

  3. 更多幫助信息:/usr/local/mfs/sbin/mfsmaster –h 

元數據日誌服務器(192.168.0.202):

mfsmetalogger.cfg的配置

  
  
  
  
  1. cd /usr/local/mfs/etc     

  2. cp mfsmetalogger.cfg.dist mfsmetalogger.cfg  

  3. vim mfsmetalogger.cfg 

mfsmetalogger.cfg文件的內容以下:

  
  
  
  
  1. 帶#號的均爲默認配置,不帶#號的需手工配置。  

  2. # WORKING_USER = mfs  

  3. # WORKING_GROUP = mfs  

  4. # SYSLOG_IDENT = mfsmetalogger  

  5. # LOCK_MEMORY = 0  

  6. # NICE_LEVEL = -19  

  7. # DATA_PATH = /usr/local/mfs/var/mfs  

  8. # BACK_LOGS = 50  

  9. # BACK_META_KEEP_PREVIOUS = 3  

  10. # META_DOWNLOAD_FREQ = 24  元數據備份文件下載請求頻率,默認是24小時。  

  11. # MASTER_RECONNECTION_DELAY = 5  

  12. MASTER_HOST = 192.168.0.201  此處須要修改成Master Server的IP  

  13. # MASTER_PORT = 9419  

  14. # MASTER_TIMEOUT = 60  

  15. # deprecated, to be removed in MooseFS 1.7  

  16. # LOCK_FILE = /var/run/mfs/mfsmetalogger.lock 

與元數據日誌服務器相關的命令:

  
  
  
  
  1. 啓動命令:/usr/local/mfs/sbin/mfsmetalogger start  

  2. 安全中止命令:/usr/local/mfs/sbin/mfsmetalogger –s  

  3. 更多幫助信息:/usr/local/mfs/sbin/mfsmetalogger –h 

數據存儲服務器(192.168.0.203和192.168.0.204):

mfschunkserver.cfg的配置

  
  
  
  
  1. cd /usr/local/mfs/etc     

  2. cp mfschunkserver.cfg.dist mfschunkserver.cfg  

  3. vim mfschunkserver.cfg 

mfschunkserver.cfg文件的內容以下:

  
  
  
  
  1. 帶#號的均爲默認配置,不帶#號的需手工配置。  

  2. # WORKING_USER = mfs  

  3. # WORKING_GROUP = mfs  

  4. # SYSLOG_IDENT = mfschunkserver  

  5. # LOCK_MEMORY = 0  

  6. # NICE_LEVEL = -19  

  7. # DATA_PATH = /usr/local/mfs/var/mfs  

  8. # MASTER_RECONNECTION_DELAY = 5  

  9. # BIND_HOST = *  

  10. MASTER_HOST = 192.168.0.201  元數據服務器的名稱或地址,能夠是主機名或IP地址  

  11. MASTER_PORT = 9420  

  12. # MASTER_TIMEOUT = 60  

  13. # CSSERV_LISTEN_HOST = *  

  14. # CSSERV_LISTEN_PORT = 9422  該端口用於與其餘數據存儲服務器間的鏈接,一般是數據複製。  

  15. # HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg  分配給MFS使用的磁盤空間配置文件的位置。  

  16. # HDD_TEST_FREQ = 10  

  17. # deprecated, to be removed in MooseFS 1.7  

  18. # LOCK_FILE = /var/run/mfs/mfschunkserver.lock  

  19. # BACK_LOGS = 50  

  20. # CSSERV_TIMEOUT = 5 

mfshdd.cfg的配置

  
  
  
  
  1. cd /usr/local/mfs/etc     

  2. cp mfshdd.cfg.dist mfshdd.cfg  

  3. vim mfshdd.cfg 

mfshdd.cfg文件的內容以下:

  
  
  
  
  1. /data 

上面的/data是一個MFS分區,須要將此分區的屬主改成mfs

  
  
  
  
  1. chown –R mfs.mfs /data 

與數據存儲服務器相關的命令:

  
  
  
  
  1. 啓動命令:/usr/local/mfs/sbin/mfschunkserver start  

  2. 安全中止命令:/usr/local/mfs/sbin/mfschunkserver –s  

  3. 更多幫助信息:/usr/local/mfs/sbin/mfschunkserver –h 

客戶端(192.168.0.205):

建立掛接點

  
  
  
  
  1. mkdir –p /data/mfs 

掛載MFS的命令

  
  
  
  
  1. /usr/local/mfs/bin/mfsmount /data/mfs -H 192.168.0.201 

查看掛載狀況:

查看掛載信息:

卸載MFS掛載:

  
  
  
  
  1. umount /data/mfs 

查看更多幫助信息:

  
  
  
  
  1. /usr/local/mfs/bin/mfsmount –h 

相關文章
相關標籤/搜索