上篇博文對 MooseFS 的結構,組件和特性作了相關介紹。那麼,本篇博文天然就是如何去部署實施 MooseFS 這樣一個分佈式文件系統嘍。
linux
廢話很少說,下面就是整個部署流程!git
一、架構規劃github
因爲在整個MooseFS的架構中,默認是一臺 Master,一臺 Metalogger ,三臺 Chunk Servers。所以,在本次實施規劃當中,咱們就使用5臺虛擬機來進行整個架構的實施部署。算法
其中 IP地址 的規劃狀況以下:安全
元數據服務器 mfs-master-1 172.16.100.2 備份服務器 mfs-metalogger 172.16.100.4 數據存儲服務器 mfs-chunkserver-1 172.16.100.5 數據存儲服務器 mfs-chunkserver-2 172.16.100.6 數據存儲服務器 mfs-chunkserver-3 172.16.100.7
因爲此次測試空閒服務器不夠,所以採用了虛擬機進行測試(好蛋疼)。可是在實際生產環境中,針對每一個組件的服務器選型問題,仍是必需要注意的。這裏提供以下幾條建議:bash
一、Master Server服務器
因爲 Master Server 控制着整個 MooseFS 中的各個組件,而且負責對外提供服務,所以咱們必定須要保證 Master Server 處於很是穩定的狀態。好比,針對 Master Server採用雙電源雙路配置,多塊磁盤使用RAID1或RAID10,進行冗餘。網絡
前面也提到,Master Server 將全部訪問的元數據信息都放在內存當中,提供用戶訪問。所以,當文件數量增長的時候,內存使用量也會增長。根據官方的數據,100萬個文件chunk信息,大概須要300M的內存空間來進行。對於磁盤來說,Master Server 對磁盤的使用量不是很大,這個取決於所用的文件和chunk塊的數目(記錄在主元數據文件)以及對文件做出操做的數量(記錄在元數據更改日誌),通常狀況下 20G 能夠用來存儲信息 2500 萬個文件變動記錄長達50小時。由此看來,做爲Master Server 內存量夠大才是重中之重。session
二、Metalogger Server數據結構
在 MooseFS 的設計中,雖然 Metalogger Server 只是用來收集 MooseFS 主服務器的元數據(文件更改的信息的變化)的備份,對硬件的要求不該該高於主服務器的備份。可是須要注意的是,若是在Master Server沒有作高可用的狀況下,主服務器宕機以後,咱們是須要啓用Metalogger Server 來頂替主服務器的。所以,從這方面考慮,Metalogger Server 至少也是和 Master Server 的配置相同的,這點切記!
三、Chunk Server
針對 Chunk Server,它是真正存儲數據的載體。所以,咱們對它的要求就簡單粗暴了不少,只要保障硬盤的性能便可。若是是普通的業務,能夠選擇多塊盤作RAID5便可,固然RAID0或RAID10都是能夠的。
須要注意的是,因爲 MooseFS 的默認負載均衡算法的問題,我建議全部 Chunk Server 的磁盤大小保持一致。這樣子,咱們才能保證 MooseFS 在使用過程當中,各個 Chunk 節點的數據使用量是大體一致的。不然,磁盤容量大的 Chunk Server 使用量會加大,而磁盤容量小的 Chunk Server 的使用量會變小。切記,切記!
固然,若是公司員工有能力的話,也能夠對 MooseFS 的負載均衡算法中每次對carry 變量的增長算法這一部分進行改進,來避免默認算法的缺點,使存儲數據可以均衡分佈在各個 Chunk Server 上。
二、部署 Master Server
一、編譯參數介紹
咱們已經知道 MooseFS是由 4 個組件組成的,可是 MooseFS 提供的安裝包卻只有一個,所以針對每一個組件的不一樣設置,都須要咱們在編譯以前的配置階段進行配置,好比安裝 Master Server 的時候,咱們須要使用 --disable-mfschunkserver和--disable-mfsmount參數;安裝 Chunk Server 的時候,咱們須要使用 --disable-mfsmaster 參數;安裝 Client 時,咱們須要使用--disable-mfsmaster和--disable-mfschunkserver參數;若是是安裝 Metalogger Server ,咱們使用和安裝 Master Server時的參數同樣便可。
下面,在部署 Master Server 以前,在詳細介紹下 MooseFS 安裝包的幾個關鍵的配置參數:
--disable-mfsmaster # 不建立成管理服務器(用於純節點的安裝) --disable-mfschunkserver # 不建立成數據存儲chunkserver服務器 --disable-mfsmount # 不建立mfsmount和mfstools(若是用開發包安裝,他們會被默認建立的) --enable-mfsmount # 肯定安裝mfsmount和mfstools(若是 --prefix=DIRECTORY # 鎖定安裝目錄(默認是/usr/local) --sysconfdir=DIRECTORY # 選擇配置文件目錄(默認是${prefix}/etc)) --localstatedir=DIRECTORY # 選擇變量數據目錄(默認是${prefix}/var,MFS元數據被存儲在mfs的子目錄下,默認是${prefix}/var/mfs ) --with-default-user # 運行守護進程的用戶,若是配置文件中沒有設定用戶,默認爲nobody用戶 --with-default-group # 運行守護進程的用戶組,若是配置文件中沒有設定用戶組,默認爲nogroup用戶組
二、安裝 Master Server
當咱們安裝主服務器mfs master時,因爲咱們的目的是安裝主服務器,所以在配置過程當中(./configure),能夠選擇加參數取消安裝 Chunk server(使用--disable-mfschunkserver)以及 MooseFS 客戶端(使用--disable-mfsmount)。
下面,我倆出安裝 MooseFS 主控服務器 Master Server 的詳細步驟:
[root@mfs-master-1 ~]# yum install zlib-devel -y [root@mfs-master-1 ~]# groupadd -g 1000 mfs [root@mfs-master-1 ~]# useradd -u 1000 -g mfs -s /sbin/nologin mfs [root@mfs-master-1 ~]# cd /usr/local/src [root@mfs-master-1 src]# wget http://moosefs.org/tl_files/mfscode/mfs-1.6.27-5.tar.gz [root@mfs-master-1 src]# tar zxf mfs-1.6.27-5.tar.gz [root@mfs-master-1 src]# cd mfs-1.6.27 [root@mfs-master-1 mfs-1.6.27]# ./configure --prefix=/usr/local/mfs-1.6.27 --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount [root@mfs-master-1 mfs-1.6.27]# make [root@mfs-master-1 mfs-1.6.27]# make install [root@mfs-master-1 mfs-1.6.27]# ln -s /usr/local/mfs-1.6.27 /usr/local/mfs [root@mfs-master-1 mfs-1.6.27]# ll -d /usr/local/mfs lrwxrwxrwx. 1 root root 21 Dec 28 23:28 /usr/local/mfs -> /usr/local/mfs-1.6.27 [root@mfs-master-1 mfs-1.6.27]# cd
這裏再補一份快捷操做命令:
yum install zlib-devel -y groupadd -g 1000 mfs;useradd -u 1000 -g mfs mfs -s /sbin/nologin cd /usr/local/src && wget http://moosefs.org/tl_files/mfscode/mfs-1.6.27-5.tar.gz tar zxf mfs-1.6.27-5.tar.gz && cd mfs-1.6.27 ./configure --prefix=/usr/local/mfs-1.6.27 --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount make && make install ln -s /usr/local/mfs-1.6.27 /usr/local/mfs ll -d /usr/local/mfs cd
以上就是 MooseFS 的 Master Server 的安裝過程。Master Server 安裝成功之後,會在安裝目錄 /usr/local/mfs-1.6.27 下生成幾個目錄文件。其中etc目錄爲mfs配置文件目錄,裏面有不少默認配置文件樣例(結尾後綴爲*.dist),後續咱們將借用這些樣例做爲 MFS 服務器的目標配置文件。
這裏來看下每一個目錄的用途:
[root@mfs-master-1 ~]# ll /usr/local/mfs/
total 16
drwxr-xr-x. 3 root root 4096 Dec 29 00:10 etc # MFS 的配置文件目錄,裏面放了不少模板文件
drwxr-xr-x. 2 root root 4096 Dec 29 00:10 sbin # MFS 命令路徑
drwxr-xr-x. 4 root root 4096 Dec 29 00:10 share # MFS 幫助文件目錄
drwxr-xr-x. 3 root root 4096 Dec 29 00:10 var # MFS 數據及日誌目錄,例如:metadata 數據
提示:etc和var須要備份。
注意:
etc和var目錄裏面存放的是配置文件和MFS的數據結構信息,所以請及時作好備份,防止災難損毀。後面作了 Master Server雙機以後,就能夠解決這個問題。
三、配置 Master Server
上面簡單看了 MooseFS 的目錄結構,其中 Master Server 的配置文件是位於/MooseFS根目錄/etc 目錄下。在該目錄下有不少模板配置文件,包括 Master,Metalogger、ChunkServer等,有關 Master 的配置文件主要有兩個,一個是 mfsmaster.cfg,另外一個是 mfsexports.cfg。其中,mfsmaster.cfg 是主配置文件,mfsexports.cfg 用來指定那些客戶端主機能夠遠程掛載 MooseFS 文件系統以及賦予掛載客戶端什麼樣的訪問權限。
如今,咱們去掉 Master 相關的兩個配置文件的註釋。
須要注意的是,這裏必定要使用 cp,而不是 mv。這樣,在操做以前保留原文件,一方面方便更改後對比變化,另外一方面也修改出錯後的回滾。
下面列出配置步驟以及每一個配置文件的詳解!
[root@mfs-master-1 ~]# /usr/local/mfs/etc/mfs [root@mfs-master-1 mfs]# cp mfsexports.cfg.dist mfsexports.cfg [root@mfs-master-1 mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg 這裏咱們先來看下主配置文件mfsmaster.cfg [root@mfs-master-1 ~]# cat /usr/local/mfs/etc/mfs/mfsmaster.cfg # WORKING_USER = mfs # 運行 master server 的用戶 # WORKING_GROUP = mfs # 運行 master server 的組 # SYSLOG_IDENT = mfsmaster # 是master server在syslog中的標識,也就是說明這是由master serve產生的 # LOCK_MEMORY = 0 # 是否執行mlockall()以免mfsmaster 進程溢出(默認爲0) # NICE_LEVEL = -19 # 運行的優先級(若是能夠默認是 -19; 注意: 進程必須是用root啓動) # EXPORTS_FILENAME = /usr/local/mfs-1.6.27/etc/mfs/mfsexports.cfg # 被掛載目錄及其權限控制文件的存放路徑 # TOPOLOGY_FILENAME = /usr/local/mfs-1.6.27/etc/mfs/mfstopology.cfg # mfstopology.cfg文件的存放路徑 # DATA_PATH = /usr/local/mfs-1.6.27/var/mfs # 數據存放路徑,此目錄下大體有三類文件,changelog,sessions和stats; # BACK_LOGS = 50 # metadata的改變log文件數目(默認是 50) # BACK_META_KEEP_PREVIOUS = 1 # metadata的默認保存份數(默認爲1) # REPLICATIONS_DELAY_INIT = 300 # 延遲複製的時間(默認是300s) # REPLICATIONS_DELAY_DISCONNECT = 3600 # chunkserver斷開的複製延遲(默認是3600) # MATOML_LISTEN_HOST = * # metalogger監聽的IP地址(默認是*,表明任何IP) # MATOML_LISTEN_PORT = 9419 # metalogger監聽的端口地址(默認是9419) # MATOML_LOG_PRESERVE_SECONDS = 600 # MATOCS_LISTEN_HOST = * # 用於chunkserver鏈接的IP地址(默認是*,表明任何IP) # MATOCS_LISTEN_PORT = 9420 # 用於chunkserver鏈接的端口地址(默認是9420) # MATOCL_LISTEN_HOST = * # 用於客戶端掛接鏈接的IP地址(默認是*,表明任何IP) # MATOCL_LISTEN_PORT = 9421 # 用於客戶端掛接鏈接的端口地址(默認是9421) # CHUNKS_LOOP_MAX_CPS = 100000 # chunks的最大回環頻率(默認是:100000秒) # CHUNKS_LOOP_MIN_TIME = 300 # chunks的最小回環頻率(默認是:300秒) # CHUNKS_SOFT_DEL_LIMIT = 10 # 一個chunkserver中soft最大的可刪除數量爲10個 # CHUNKS_HARD_DEL_LIMIT = 25 # 一個chuankserver中hard最大的可刪除數量爲25個 # CHUNKS_WRITE_REP_LIMIT = 2 # 在一個循環裏複製到一個chunkserver的最大chunk數目(默認是1) # CHUNKS_READ_REP_LIMIT = 10 # 在一個循環裏從一個chunkserver複製的最大chunk數目(默認是5) # ACCEPTABLE_DIFFERENCE = 0.1 # 每一個chunkserver上空間使用率的最大區別(默認爲0.01即1%) # SESSION_SUSTAIN_TIME = 86400 # 客戶端會話超時時間爲86400秒,即1天 # REJECT_OLD_CLIENTS = 0 # 彈出低於1.6.0的客戶端掛接(0或1,默認是0) # deprecated: # CHUNKS_DEL_LIMIT - use CHUNKS_SOFT_DEL_LIMIT instead # LOCK_FILE - lock system has been changed, and this option is used only to search for old lockfile
下面附上官方地址:http://moosefs.com/Content/Downloads/moosefs-users-manual.pdf
該配置文件默認所有都爲註釋。mfs官方默認這樣規定的,每個註釋的配置都是mfs此項配置的默認值。其實,咱們linux中不少配置文件的設計風格都是這樣子的,好比sshd_config.若是打算更改這些配置文件中某些項的參數,只須要取消註釋,而且更改對應的參數便可。
針對master來說,mfsmaster.cfg的默認配置無需更改便可投入使用。
下面,就是權限控制配置文件mfsexports.cfg。
該配置文件制定了哪些客戶端能夠遠程掛接MFS文件系統,以及授予掛載客戶端什麼樣的訪問權限。例如,咱們制定只有172.16.0.0/24網段的主機能夠讀寫模式訪問MFS的整個共享結構資源(/)。在配置文件mfsexports.cfg中寫入以下信息便可。
[root@mfs-master-1 ~]# cat /usr/local/mfs/etc/mfs/mfsexports.cfg * / rw,alldirs,mapall=mfs:mfs,password=redhat * . rw # 若是須要使用 moosefs的回收站功能,請開啓此行。若是不使用,關閉便可
這裏,我列出該文件的配置規範:
mfsexports.cfg 文件中,每個條目就是一個配置規則,而每個條目又分爲三個部分,其中第一部分是mfs客戶端的ip地址或地址範圍,第二部分是被掛載的目錄,第三個部分用來設置mfs客戶端能夠擁有的訪問權限。
第一部分:mfs客戶端的ip地址或地址範圍
地址能夠指定的幾種表現形式:
* 全部的 I P 地址 n.n.n.n 單個 I P 地址 n.n.n.n/b I P 網絡地址/位數掩碼 n.n.n.n/m.m.m.m I P 網絡地址/子網掩碼 f.f.f.f-t.t.t.t I P 段
第二部分:被掛載的目錄
目錄部分須要注意兩點:
/ 標識MooseFS根 . 表示MFSMETA文件系統
第三部分:設置mfs客戶端能夠擁有的訪問權限
權限部分:
ro 只讀模式共享 rw 讀寫模式共享 alldirs 容許掛載任何指定的子目錄 maproot 映射爲root,仍是指定的用戶 password 指定客戶端密碼
OK,以上兩個配置文件配置完畢以後,咱們還須要注意一個文件。在 Master Server 首次安裝以後,會在 /usr/local/mfs/var/mfs/ 目錄下生成一個名爲 metadata.mfs.empty 的元數據metadata文件,該文件默認是爲空的。(當你整個MooseFS配置好以後,它就有數據了)
Master Server 的運行必須有metadata.mfs,而這個文件就是從metadata.mfs.empty改名而來的。固然,這個改名操做須要咱們本身手動來完成。操做以下:
[root@mfs-master-1 mfs]# cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs
四、啓動 Master Server
在 MooseFS 的架構中,Master Server 是不依附於其它幾個組件的,它能夠單獨啓動。可是須要注意,其它組件必需要等 Master Server 起來以後才能啓動!切記!!!
在經過上面的簡單配置以後,咱們就能夠啓動 Master Server 了!
下面列出啓動和檢查過程。
[root@mfs-master-1 mfs]# /usr/local/mfs/sbin/mfsmaster start # 啓動mfs主服務器 working directory: /usr/local/mfs-1.6.27/var/mfs lockfile created and locked initializing mfsmaster modules ... loading sessions ... file not found if it is not fresh installation then you have to restart all active mounts !!! exports file has been loaded mfstopology configuration file (/usr/local/mfs-1.6.27/etc/mfstopology.cfg) not found - using defaults loading metadata ... create new empty filesystemmetadata file has been loaded no charts data file - initializing empty charts master <-> metaloggers module: listen on *:9419 master <-> chunkservers module: listen on *:9420 main master server module: listen on *:9421 mfsmaster daemon initialized properly
下面進行檢查,針對 Master Server 的啓動檢查主要有3個方面,第一看進程,第二看端口,第三看日誌。
[root@mfs-master-1 ~]# ps -ef|grep mfs # 查看進程是否正常 mfs 28867 1 0 19:44 ? 00:00:00 /etc/ha.d/resource.d/mfsmaster start root 29087 26249 0 19:48 pts/1 00:00:00 grep mfs [root@mfs-master-1 ~]# netstat -lnt |grep 94 # 查看端口看是否起來 tcp 0 0 0.0.0.0:9419 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:9420 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:9421 0.0.0.0:* LISTEN
開啓 master 的日誌狀況
[root@mfs-master-1 ~]# tailf /var/log/messages # 觀察 Master Server 啓動時的日誌變化 Dec 31 19:52:10 mfs-master-1 mfsmaster[29112]: set gid to 1000 Dec 31 19:52:10 mfs-master-1 mfsmaster[29112]: set uid to 1000 Dec 31 19:52:10 mfs-master-1 mfsmaster[29112]: sessions have been loaded Dec 31 19:52:10 mfs-master-1 mfsmaster[29112]: exports file has been loaded Dec 31 19:52:10 mfs-master-1 mfsmaster[29112]: mfstopology configuration file (/usr/local/mfs-1.6.27/etc/mfstopology.cfg) not found - network topology not defined Dec 31 19:52:10 mfs-master-1 mfsmaster[29112]: stats file has been loaded Dec 31 19:52:10 mfs-master-1 mfsmaster[29112]: master <-> metaloggers module: listen on *:9419 Dec 31 19:52:10 mfs-master-1 mfsmaster[29112]: master <-> chunkservers module: listen on *:9420 Dec 31 19:52:10 mfs-master-1 mfsmaster[29112]: main master server module: listen on *:9421 Dec 31 19:52:10 mfs-master-1 mfsmaster[29112]: open files limit: 5000
五、中止 Master Server
Master Server 服務和其它普通服務不同,它千萬不能使用 kill -9 去強制殺掉進程。每次非正常關閉服務,都須要使用 MooseFS 自帶的恢復工具進行數據恢復,很是悲劇。所以,安全的關閉 Master Server 是很是重要。
[root@mfs-master-1 ~]# /usr/local/mfs/sbin/mfsmaster stop sending SIGTERM to lock owner (pid:29112) waiting for termination ... terminated [root@mfs-master-1 ~]# tailf /var/log/messages # 觀察 Master Server 關閉時的日誌變化 Dec 31 19:53:16 mfs-master-1 mfsmaster[29113]: set gid to 1000 Dec 31 19:53:16 mfs-master-1 mfsmaster[29113]: set uid to 1000 Dec 31 19:53:16 mfs-master-1 mfsmaster[29112]: terminate signal received Dec 31 19:53:16 mfs-master-1 mfsmaster[29112]: main master server module: closing *:9421 Dec 31 19:53:16 mfs-master-1 mfsmaster[29112]: master <-> chunkservers module: closing *:9420 Dec 31 19:53:16 mfs-master-1 mfsmaster[29112]: master <-> metaloggers module: closing *:9419
六、掃尾操做
a、配置環境變量
爲了方便操做 MooseFS,咱們須要把他的sbin目錄加入到系統的PATH變量中去。
[root@mfs-metalogger ~]# echo '# add moosefs to the path variable' >> /etc/profile [root@mfs-metalogger ~]# echo 'PATH=/usr/local/mfs/sbin/:$PATH' >> /etc/profile [root@mfs-metalogger ~]# tail -2 /etc/profile # add moosefs to the path variable PATH=/usr/local/mfs/sbin/:$PATH [root@mfs-metalogger ~]# source /etc/profile
b、配置開機自啓動
開機自啓動的目的,這裏就很少解釋了。
[root@mfs-metalogger ~]# echo '# Configure the mfsmaster service startup' >> /etc/rc.local [root@mfs-metalogger ~]# echo '/usr/local/mfs/sbin/mfsmaster start' >> /etc/rc.local [root@mfs-metalogger ~]# tail -2 /etc/rc.local # Configure the metalogger service startup /usr/local/mfs/sbin/mfsmetalogger start
以上,就是 Master Server 部署的所有操做。
三、部署 Metalogger Server
一、安裝 Metalogger Server
前面已經介紹了,Metalogger Server 是 Master Server 的備份服務器。所以,Metalogger Server 的安裝步驟和 Master Server 的安裝步驟相同。而且,最好使用和 Master Server 配置同樣的服務器來作 Metalogger Server。這樣,一旦主服務器master宕機失效,咱們只要導入備份信息changelogs到元數據文件,備份服務器可直接接替故障的master繼續提供服務。
這裏僅列出安裝步驟:
[root@mfs-metalogger-1 ~]# yum install zlib-devel -y [root@mfs-metalogger-1 ~]# groupadd -g 1000 mfs [root@mfs-metalogger-1 ~]# useradd -u 1000 -g mfs mfs -s /sbin/nologin [root@mfs-metalogger-1 ~]# cd /usr/local/src [root@mfs-metalogger-1 src]# wget http://moosefs.org/tl_files/mfscode/mfs-1.6.27-5.tar.gz [root@mfs-metalogger-1 src]# tar zxf mfs-1.6.27-5.tar.gz [root@mfs-metalogger-1 src]# cd mfs-1.6.27 [root@mfs-metalogger-1 mfs-1.6.27]# ./configure --prefix=/usr/local/mfs-1.6.27 --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount [root@mfs-metalogger-1 mfs-1.6.27]# make [root@mfs-metalogger-1 mfs-1.6.27]# make install [root@mfs-metalogger-1 mfs-1.6.27]# ln -s /usr/local/mfs-1.6.27 /usr/local/mfs [root@mfs-metalogger-1 mfs-1.6.27]# ll -d /usr/local/mfs lrwxrwxrwx. 1 root root 21 Dec 28 23:28 /usr/local/mfs -> /usr/local/mfs-1.6.27 [root@mfs-metalogger-1 mfs-1.6.27]# cd
二、配置 Metalogger Server
雖然,Metalogger Server 的安裝步驟和 Master Server 同樣,可是配置文件確定是有所差異的。這裏將介紹,如何配置Metalogger Server。
[root@mfs-metalogger ~]# cd /usr/local/mfs/etc/mfs/ [root@mfs-metalogger mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg [root@mfs-metalogger mfs]# ll mfsmetalogger.cfg -rw-r--r--. 1 root root 423 Dec 28 23:55 mfsmetalogger.cfg [root@mfs-metalogger mfs]# cat mfsmetalogger.cfg # WORKING_USER = mfs # WORKING_GROUP = mfs # SYSLOG_IDENT = mfsmetalogger # LOCK_MEMORY = 0 # NICE_LEVEL = -19 # DATA_PATH = /usr/local/mfs-1.6.27/var/mfs # BACK_LOGS = 50 # BACK_META_KEEP_PREVIOUS = 3 # META_DOWNLOAD_FREQ = 24 # 元數據備份文件下載請求頻率,默認爲24小時,即每一個一天從元數據服務器下載一個metadata.mfs.back文件。當元數據服務器關閉或者出故障時,metadata.mfs.back文件將小時,那麼要恢復整個mfs,則須要從metalogger服務器取得該文件。請注意該文件,它與日誌文件在一塊兒,纔可以恢復整個被損壞的分佈式文件系統。 # MASTER_RECONNECTION_DELAY = 5 MASTER_HOST = 172.16.100.1 # 這裏是須要鏈接的 mfs master server 的地址 #MASTER_PORT = 9419 # 這裏是須要鏈接的 mfs master server 的端口 # MASTER_TIMEOUT = 60 # deprecated, to be removed in MooseFS 1.7 # LOCK_FILE = /var/run/mfs/mfsmetalogger.lock
這個文件中須要修改的是MASTER_HOST變量,這個變量的值是 Master Server 的 IP 地址。若是對 Master Server 作了 host 解析也能夠不改任何內容。
這裏須要將它修改成以下參數:
MASTER_HOST = 172.16.100.1 # 這裏是須要鏈接的 mfs master server 的地址
三、啓動 Metalogger Server
啓動 Metalogger Server 以前,必定要確保 Master server 的服務是正常啓動的。
[root@mfs-metalogger ~]# nc -w 2 172.16.100.2 -z 9419 # 從輸出能夠看到,Master Server 已經正常啓動 Connection to 172.16.100.2 9419 port [tcp/*] succeeded! [root@mfs-metalogger ~]# /usr/local/mfs/sbin/mfsmetalogger start # 啓動 Metalogger Server working directory: /usr/local/mfs-1.6.27/var/mfs lockfile created and locked initializing mfsmetalogger modules ... mfsmetalogger daemon initialized properly [root@mfs-metalogger ~]# netstat -lantp|grep metalogger # 查看進程 tcp 0 0 172.16.100.4:50193 172.16.100.1:9419 ESTABLISHED 17201/mfsmetalogger [root@mfs-metalogger ~]# tailf /var/log/messages # 開啓 Metalogger Server 時的日誌狀況 Dec 30 16:44:25 localhost mfsmetalogger[17275]: set gid to 1000 Dec 30 16:44:25 localhost mfsmetalogger[17275]: set uid to 1000 Dec 30 16:44:26 localhost mfsmetalogger[17275]: connecting ... Dec 30 16:44:26 localhost mfsmetalogger[17275]: open files limit: 5000 Dec 30 16:44:26 localhost mfsmetalogger[17275]: connected to Master Dec 30 16:44:26 localhost mfsmetalogger[17275]: metadata downloaded 2461B/0.002353s (1.046 MB/s) Dec 30 16:44:26 localhost mfsmetalogger[17275]: changelog_0 downloaded 0B/0.000001s (0.000 MB/s) Dec 30 16:44:26 localhost mfsmetalogger[17275]: changelog_1 downloaded 0B/0.000001s (0.000 MB/s) Dec 30 16:44:26 localhost mfsmetalogger[17275]: sessions downloaded 547B/0.001027s (0.533 MB/s) Dec 30 16:44:28 localhost kernel: nfs: server 172.16.100.3 not responding, timed out 去 Master Server 上進行檢查: [root@mfs-master-1 ~]# netstat -lantp|grep 9419 tcp 0 0 0.0.0.0:9419 0.0.0.0:* LISTEN 25665/mfsmaster tcp 0 0 172.16.100.1:9419 172.16.100.4:50194 ESTABLISHED 25665/mfsmaster
咱們能夠看到Metalogger Server已經和Master Server的9419端口創建了長鏈接
另外,在上面的日誌中,咱們能夠看到他在下載一些文件,這些文件就是以前介紹過的Master Server上的文件,咱們能夠在如下目錄看到這些文件。
[root@mfs-metalogger ~]# ll /usr/local/mfs/var/mfs/ total 8 -rw-r-----. 1 mfs mfs 0 Dec 30 16:26 changelog_ml_back.0.mfs -rw-r-----. 1 mfs mfs 0 Dec 30 16:26 changelog_ml_back.1.mfs -rw-r-----. 1 mfs mfs 2461 Dec 30 16:26 metadata_ml.mfs.back -rw-r-----. 1 mfs mfs 547 Dec 30 16:27 sessions_ml.mfs
最後,在貼出 Metalogger Server 運行時的日誌輸出狀況:
[root@mfs-metalogger ~]# tailf /var/log/messages Dec 30 16:45:00 localhost mfsmetalogger[17275]: sessions downloaded 547B/0.000842s (0.650 MB/s) Dec 30 16:46:00 localhost mfsmetalogger[17275]: sessions downloaded 547B/0.000428s (1.278 MB/s) Dec 30 16:47:00 localhost mfsmetalogger[17275]: sessions downloaded 547B/0.000551s (0.993 MB/s) Dec 30 16:48:00 localhost mfsmetalogger[17275]: sessions downloaded 547B/0.001091s (0.501 MB/s) Dec 30 16:49:00 localhost mfsmetalogger[17275]: sessions downloaded 547B/0.000471s (1.161 MB/s)
四、關閉 Metalogger Server
[root@mfs-metalogger ~]# /usr/local/mfs/sbin/mfsmetalogger stop sending SIGTERM to lock owner (pid:17201) waiting for termination ... terminated [root@mfs-metalogger ~]# tailf /var/log/messages # 中止 Metalogger Server 時的日誌狀況 Dec 30 16:43:42 localhost mfsmetalogger[17272]: set gid to 1000 Dec 30 16:43:42 localhost mfsmetalogger[17272]: set uid to 1000 Dec 30 16:43:42 localhost mfsmetalogger[17271]: terminate signal received 此時 Master Server 上會有提示: [root@mfs-master-1 ~]# tailf /var/log/messages Dec 31 10:56:28 mfs-master-1 mfsmaster[25665]: connection with ML(172.16.100.4) has been closed by peer
五、掃尾操做
a、配置全局變量
[root@mfs-metalogger ~]# echo '# add moosefs to the path variable' >> /etc/profile [root@mfs-metalogger ~]# echo 'PATH=/usr/local/mfs/sbin/:$PATH' >> /etc/profile [root@mfs-metalogger ~]# tail -2 /etc/profile # add moosefs to the path variable PATH=/usr/local/mfs/sbin/:$PATH [root@mfs-metalogger ~]# source /etc/profile
b、配置開機自啓動
[root@mfs-metalogger ~]# echo '# Configure the metalogger service startup' >> /etc/rc.local [root@mfs-metalogger ~]# echo '/usr/local/mfs/sbin/mfsmetalogger start' >> /etc/rc.local [root@mfs-metalogger ~]# tail -2 /etc/rc.local # Configure the metalogger service startup /usr/local/mfs/sbin/mfsmetalogger start
四、部署 Chunk Servers
一、安裝 Chunk Servers
數據存儲服務器也被稱爲 Chunk Server。在 MooseFS 文件系統中,每一個 Chunk Server 的配置是徹底相同的。所以,這裏咱們僅以一臺 Chunk Server 的安裝爲例進行演示,其它兩臺的安裝步驟這裏再也不復述。
[root@mfs-chunkserver-1 ~]# yum install zlib-devel -y [root@mfs-chunkserver-1 ~]# groupadd -g 1000 mfs [root@mfs-chunkserver-1 ~]# useradd -u 1000 -g mfs mfs -s /sbin/nologin [root@mfs-chunkserver-1 ~]# cd /usr/local/src [root@mfs-chunkserver-1 src]# wget http://moosefs.org/tl_files/mfscode/mfs-1.6.27-5.tar.gz [root@mfs-chunkserver-1 src]# tar zxf mfs-1.6.27-5.tar.gz [root@mfs-chunkserver-1 src]# cd mfs-1.6.27 [root@mfs-chunkserver-1 mfs-1.6.27]# ./configure --prefix=/usr/local/mfs-1.6.27 --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount [root@mfs-chunkserver-1 mfs-1.6.27]# make [root@mfs-chunkserver-1 mfs-1.6.27]# make install [root@mfs-chunkserver-1 mfs-1.6.27]# ln -s /usr/local/mfs-1.6.27 /usr/local/mfs [root@mfs-chunkserver-1 mfs-1.6.27]# ll -d /usr/local/mfs lrwxrwxrwx. 1 root root 21 Dec 28 23:28 /usr/local/mfs -> /usr/local/mfs-1.6.27 [root@mfs-chunkserver-1 mfs-1.6.27]# cd
二、配置 Chunk Servers
配置 Chunk Server 須要兩個配置文件,分別是 mfschunkserver.cfg 和 mfshdd.cfg 。其中,mfschunkserver.cfg 是主配置文件,而 mfshdd.cfg 是服務器用來分配給 MFS 使用的空間的配置文件,最好是一個單獨的磁盤或者一個raid卷,最低要求是一個分區。
在每一個mfs chunk server 上的配置及操做以下:
[root@mfs-chunkserver-1 ~]# cd /usr/local/mfs/etc/mfs/ [root@mfs-chunkserver-1 mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg [root@mfs-chunkserver-1 mfs]# cp mfshdd.cfg.dist mfshdd.cfg [root@mfs-chunkserver-1 mfs]# grep -v '^$' mfschunkserver.cfg # WORKING_USER = mfs # WORKING_GROUP = mfs # SYSLOG_IDENT = mfschunkserver # LOCK_MEMORY = 0 # NICE_LEVEL = -19 # DATA_PATH = /usr/local/mfs-1.6.27/var/mfs # MASTER_RECONNECTION_DELAY = 5 # BIND_HOST = * MASTER_HOST = mfsmaster # 該地址爲 Master Server 的IP地址或者主機名 # MASTER_PORT = 9420 # MASTER_TIMEOUT = 60 # CSSERV_LISTEN_HOST = * # CSSERV_LISTEN_PORT = 9422 # 該端口用於與其它chunk server之間的通訊,主要是數據複製 # HDD_CONF_FILENAME = /usr/local/mfs-1.6.27/etc/mfs/mfshdd.cfg # HDD_TEST_FREQ = 10 # deprecated, to be removed in MooseFS 1.7 # LOCK_FILE = /var/run/mfs/mfschunkserver.lock # BACK_LOGS = 50 # CSSERV_TIMEOUT = 5
在常規的使用過程當中,咱們只須要修改一個 MASTER_HOST參數,將該參數設置爲咱們 Master Server 的IP地址或者主機名便可。
配置mfshdd.cfg主配置文件
mfshdd.cfg該文件用來設置你將 Chunk Server 的哪一個目錄共享出去給 Master Server進行管理。固然,雖然這裏填寫的是共享的目錄,可是這個目錄後面最好是一個單獨的分區。分區的相關操做,這裏就不佔篇幅了。
[root@mfs-chunkserver-1 ~]# cat /usr/local/mfs/etc/mfs/mfshdd.cfg /mfsdata
三、啓動 Chunk Server
和 Metalogger Server 同樣,在啓動 chunk servers以前,必需要先確保 Master Server 的服務是正常啓動的,不然啓動會報錯。
[root@mfs-chunkserver-1 ~]# nc -w 2 172.16.100.2 -z 9420 Connection to 172.16.100.2 9420 port [tcp/*] succeeded! [root@mfs-chunkserver-1 ~]# /usr/local/mfs/sbin/mfschunkserver start working directory: /usr/local/mfs-1.6.27/var/mfs lockfile created and locked initializing mfschunkserver modules ... hdd space manager: path to scan: /mfsdata/ hdd space manager: start background hdd scanning (searching for available chunks) main server module: listen on *:9422 stats file has been loaded mfschunkserver daemon initialized properly [root@mfs-chunkserver-1 ~]# netstat -lantp|grep 9420 tcp 0 0 172.16.100.5:59486 172.16.100.1:9420 ESTABLISHED 7825/mfschunkserver [root@mfs-chunkserver-1 ~]# tailf /var/log/messages # 啓動 Chunk Server 時的日誌變化 Dec 30 19:05:34 mfs-chunkserver-1 mfschunkserver[7825]: set gid to 1000 Dec 30 19:05:34 mfs-chunkserver-1 mfschunkserver[7825]: set uid to 1000 Dec 30 19:05:34 mfs-chunkserver-1 mfschunkserver[7825]: hdd space manager: folder /mfsdata/ will be scanned Dec 30 19:05:34 mfs-chunkserver-1 mfschunkserver[7825]: main server module: listen on *:9422 Dec 30 19:05:34 mfs-chunkserver-1 mfschunkserver[7825]: connecting ... Dec 30 19:05:34 mfs-chunkserver-1 mfschunkserver[7825]: stats file has been loaded Dec 30 19:05:34 mfs-chunkserver-1 mfschunkserver[7825]: open files limit: 10000 Dec 30 19:05:34 mfs-chunkserver-1 mfschunkserver[7825]: connected to Master Dec 30 19:05:34 mfs-chunkserver-1 mfschunkserver[7825]: scanning folder /mfsdata/: complete (0s) Dec 30 19:05:43 mfs-chunkserver-1 mfschunkserver[7825]: testing chunk: /mfsdata/D0/chunk_00000000000000D0_00000001.mfs Dec 30 19:05:53 mfs-chunkserver-1 mfschunkserver[7825]: testing chunk: /mfsdata/CD/chunk_00000000000000CD_00000001.mfs
查看 Master Server 上的變化:
[root@mfs-master-1 ~]# tailf /var/log/messages # 啓動 Chunk Server 時的Master Server 的日誌變化 Dec 31 11:31:47 mfs-master-1 mfsmaster[26053]: chunkserver register begin (packet version: 5) - ip: 172.16.100.5, port: 9422 Dec 31 11:31:47 mfs-master-1 mfsmaster[26053]: chunkserver register end (packet version: 5) - ip: 172.16.100.5, port: 9422, usedspace: 0 (0.00 GiB), totalspace: 0 (0.00 GiB) [root@mfs-master-1 ~]# netstat -lantp|grep 9420 tcp 0 0 0.0.0.0:9420 0.0.0.0:* LISTEN 26053/mfsmaster tcp 0 0 172.16.100.1:9420 172.16.100.5:59486 ESTABLISHED 26053/mfsmaster tcp 0 0 172.16.100.1:9420 172.16.100.7:41816 ESTABLISHED 26053/mfsmaster tcp 0 0 172.16.100.1:9420 172.16.100.6:39261 ESTABLISHED 26053/mfsmaster
四、關閉 Chunk Server
[root@mfs-chunkserver-1 ~]# /usr/local/mfs/sbin/mfschunkserver stop sending SIGTERM to lock owner (pid:7068) waiting for termination ... terminated [root@mfs-chunkserver-1 ~]# tailf /var/log/messages Dec 30 19:11:08 mfs-chunkserver-1 mfschunkserver[7884]: set gid to 1000 Dec 30 19:11:08 mfs-chunkserver-1 mfschunkserver[7884]: set uid to 1000 Dec 30 19:11:08 mfs-chunkserver-1 mfschunkserver[7859]: terminate signal received Dec 30 19:11:08 mfs-chunkserver-1 mfschunkserver[7859]: closing *:9422 [root@mfs-master-1 ~]# tailf /var/log/messages Dec 31 11:35:16 mfs-master-1 mfsmaster[26053]: connection with CS(172.16.100.5) has been closed by peer Dec 31 11:35:16 mfs-master-1 mfsmaster[26053]: chunkserver disconnected - ip: 172.16.100.5, port: 9422, usedspace: 1186041856 (1.10 GiB), totalspace: 8022986752 (7.47 GiB)
五、掃尾操做
a、配置全局變量
[root@mfs-chunkserver-1 ~]# echo '# add moosefs to the path variable' >> /etc/profile [root@mfs-chunkserver-1 ~]# echo 'PATH=/usr/local/mfs/sbin/:$PATH' >> /etc/profile [root@mfs-chunkserver-1 ~]# tail -2 /etc/profile # add moosefs to the path variable PATH=/usr/local/mfs/sbin/:$PATH [root@mfs-chunkserver-1 ~]# source /etc/profile
b、配置開機自啓動
[root@mfs-chunkserver-1 ~]# echo '# Configure the metalogger service startup' >> /etc/rc.local [root@mfs-chunkserver-1 ~]# echo '/usr/local/mfs/sbin/mfsmetalogger start' >> /etc/rc.local [root@mfs-chunkserver-1 ~]#tail -2 /etc/rc.local # Configure the metalogger service startup /usr/local/mfs/sbin/mfsmetalogger start
五、部署 Client
一、安裝 FUSE
因爲 MFS 文件系統客戶端的掛載依賴於 FUSE 工具,所以須要先安裝 FUSE 工具。
官方註解:
mfsmount requires FUSE to work; FUSE is available on several operating systems: Linux, FreeBSD, OpenSolaris and MacOS X, with the following notes:
In case of Linux a kernel module with API 7.8 or later is required (it can be checked with dmesgcommand - after loading kernel module there should be a line fuse init (API version 7.8)). It is available in fuse package 2.6.0 (or later) or in Linux kernel 2.6.20 (or later). Due to some minor bugs, the newer module is recommended (fuse 2.7.2 or Linux 2.6.24, although fuse 2.7.x standalone doesn't contain getattr/write race condition fix).
In case of FreeBSD we recommed using fuse-freebsd (https://github.com/glk/fuse-freebsd) which is a successor to fuse4bsd.
For MacOSX we recommend using OSXFUSE (http://osxfuse.github.com/), which is a successor to MacFUSE and has been tested on MacOSX 10.6 and 10.7.
所以,安裝以前,咱們須要先查看內核支持狀況。若是已經支持了,而且版本也達到要求以後,就無須安裝FUSE了。
[root@mfs-client ~]# lsmod|grep fuse fuse 73530 2
若是你的系統版本內核中沒有支持FUSE或者版本不夠,那麼可使用下面的方式進行安裝,這裏推薦使用 2.8.5 版本。
a、安裝fuse
[root@mfs-client src]# wget http://jaist.dl.sourceforge.net/project/fuse/fuse-2.X/2.9.3/fuse-2.9.3.tar.gz [root@mfs-client src]# tar zxf fuse-2.9.3.tar.gz [root@mfs-client src]# cd fuse-2.9.3 [root@mfs-client fuse-2.9.3]# ls [root@mfs-client fuse-2.9.3]# ./configure [root@mfs-client fuse-2.9.3]# make && make install [root@mfs-client fuse-2.9.3]#cd ..
b、調整環境變量
[root@mfs-client src]# echo 'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' > /etc/profile [root@mfs-client src]# tail -1 /etc/profile export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
c、加載fuse模塊到內核並配置開機自啓
[root@mfs-client mfs-1.6.27]# lsmod |grep fuse [root@mfs-client mfs-1.6.27]# modprobe fuse [root@mfs-client mfs-1.6.27]# lsmod |grep fuse fuse 73530 0 [root@mfs-client mfs-1.6.27]# echo 'modeprobe fuse' >> /etc/sysconfig/modules/fuse.modules [root@mfs-client mfs-1.6.27]# cat /etc/sysconfig/modules/fuse.modules modeprobe fuse [root@mfs-client mfs-1.6.27]# chmod 755 /etc/sysconfig/modules/fuse.modules二、安裝 mfsmount [root@mfs-client ~]# yum install zlib-devel -y [root@mfs-client ~]# groupadd -g 1000 mfs [root@mfs-client ~]# useradd -u 1000 -g mfs mfs -s /sbin/nologin [root@mfs-client ~]# cd /usr/local/src [root@mfs-client src]# wget http://moosefs.org/tl_files/mfscode/mfs-1.6.27-5.tar.gz [root@mfs-client src]# tar zxf mfs-1.6.27-5.tar.gz [root@mfs-client src]# cd mfs-1.6.27 [root@mfs-client mfs-1.6.27]# ./configure --prefix=/usr/local/mfs-1.6.27 --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount [root@mfs-client mfs-1.6.27]# make [root@mfs-client mfs-1.6.27]# make install [root@mfs-client mfs-1.6.27]# ln -s /usr/local/mfs-1.6.27 /usr/local/mfs [root@mfs-client mfs-1.6.27]# ll -d /usr/local/mfs lrwxrwxrwx. 1 root root 21 Dec 28 23:28 /usr/local/mfs -> /usr/local/mfs-1.6.27 [root@mfs-client mfs-1.6.27]# ll /usr/local/mfs/ total 20 drwxr-xr-x. 2 root root 4096 Dec 28 16:41 bin # bin 目錄下是客戶端的命令 drwxr-xr-x. 3 root root 4096 Dec 28 16:41 etc drwxr-xr-x. 2 root root 4096 Dec 28 16:41 sbin drwxr-xr-x. 4 root root 4096 Dec 28 16:41 share drwxr-xr-x. 3 root root 4096 Dec 28 16:41 var
三、從客戶端上掛載mfs文件系統
a、建立數據目錄掛載點
[root@mfs-client mfs-1.6.27]# mkdir /mfsdata [root@mfs-client mfs-1.6.27]# chown -R mfs.mfs /mfsdata [root@mfs-client mfs-1.6.27]# ll -d /mfsdata drwxr-xr-x. 2 mfs mfs 4096 Dec 28 16:44 /mfsdata
b、掛載mfs文件系統
因爲咱們以前設置了須要密碼驗證才能掛載成功,所以這裏會提示咱們須要輸入密碼
[root@mfs-client mfs-1.6.27]# /usr/local/mfs/bin/mfsmount /mfsdata -H 172.16.100.2 mfsmaster register error: Password is needed [root@mfs-client mfs-1.6.27]# /usr/local/mfs/bin/mfsmount /mfsdata -H 172.16.100.2 -p # 使用 -p 後面,下面會提示輸入密碼 MFS Password: mfsmaster accepted connection with parameters: read-write,restricted_ip,map_all ; root mapped to mfs:mfs ; users mapped to root:root [root@mfs-client mfs-1.6.27]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 949M 16G 6% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 194M 28M 157M 15% /boot 172.16.100.1:9421 22G 0 22G 0% /mfsdata
四、掛載後本地寫入文件測試
寫入測試前,咱們查看下主和備服務器的元數據文件及變化日誌文件。
[root@mfs-client mfs-1.6.27]# cd /mfsdata/ [root@mfs-client mfsdata]# touch a [root@mfs-client mfsdata]# echo redhat > a [root@mfs-client mfsdata]# cat a redhat [root@mfs-client mfsdata]# rm -rf a [root@mfs-client mfsdata]# ls
在客戶端寫入完成以後,咱們能夠來觀察一下 Master Server 端的變化
[root@mfs-master-1 mfs]# cat changelog.0.mfs 1: 1419799640|SESSION():2 2: 1419799701|SESSION():3 3: 1419799756|CREATE(1,a,f,420,1000,1000,0):2 4: 1419799756|ACQUIRE(2,3) 5: 1419799756|ATTR(2,420,1000,1000,1419803408,1419803408) 6: 1419799759|LENGTH(2,0) 7: 1419799759|WRITE(2,0,1):1 8: 1419799759|LENGTH(2,7) 9: 1419799759|UNLOCK(1) 10: 1419799760|ACCESS(2) 11: 1419799761|RELEASE(2,3) 12: 1419799762|UNLINK(1,a):2 13: 1419799763|ACCESS(1)
咱們再來查看一下,Metalogger Server 端的變化:
[root@mfs-metalogger ~]# cd /usr/local/mfs/var/mfs/ [root@mfs-metalogger mfs]# cat changelog_ml.1.mfs 0: 1419799516|SESSION():1 1: 1419799640|SESSION():2 2: 1419799701|SESSION():3 3: 1419799756|CREATE(1,a,f,420,1000,1000,0):2 4: 1419799756|ACQUIRE(2,3) 5: 1419799756|ATTR(2,420,1000,1000,1419803408,1419803408) 6: 1419799759|LENGTH(2,0) 7: 1419799759|WRITE(2,0,1):1 8: 1419799759|LENGTH(2,7) 9: 1419799759|UNLOCK(1) 10: 1419799760|ACCESS(2) 11: 1419799761|RELEASE(2,3) 12: 1419799762|UNLINK(1,a):2 13: 1419799763|ACCESS(1)
五、掃尾操做
a、配置環境變量
[root@mfs-metalogger ~]# echo '# add moosefs to the path variable' >> /etc/profile [root@mfs-metalogger ~]# echo 'PATH=/usr/local/mfs/bin/:$PATH' >> /etc/profile [root@mfs-metalogger ~]# tail -2 /etc/profile # add moosefs to the path variable PATH=/usr/local/mfs/bin/:$PATH [root@mfs-metalogger ~]# source /etc/profile
b、配置客戶端開機自動掛載
若是須要Client可以在開機的時候自動掛載,咱們就須要自動把密碼傳遞進去。mfsmount自帶了-o參數,咱們能夠把密碼配置在其後來實現開機自動掛載。
[root@mfs-client mfs-1.6.27]# umount /mfsdata/ [root@mfs-client mfs-1.6.27]# /usr/local/mfs/bin/mfsmount /mfsdata -H 172.16.100.2 -o mfspassword=redhat mfsmaster accepted connection with parameters: read-write,restricted_ip,map_all ; root mapped to mfs:mfs ; users mapped to root:root [root@mfs-client mfs-1.6.27]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 949M 16G 6% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 194M 28M 157M 15% /boot 172.16.100.1:9421 22G 0 22G 0% /mfsdata [root@mfs-client mfs-1.6.27]# echo 'Moosefs boot automatically mount' >> /etc/rc.local [root@mfs-client mfs-1.6.27]# echo '/usr/local/mfs/bin/mfsmount /mfsdata -H 172.16.100.2 -o mfspassword=redhat' >> /etc/rc.local [root@mfs-client mfs-1.6.27]# tailf -2 /etc/rc.local Moosefs boot automatically mount /usr/local/mfs/bin/mfsmount /mfsdata -H 172.16.100.2 -o mfspassword=redhat
OK!
以上就是 MooseFS 的部署流程,但願能對51博友有所幫助。針對 MooseFS 更深一步的研究,好比 MooseFS的特性,MooseFS 的平常管理維護以及 MooseFS 的監控和災難恢復等等,我將會放在下一篇博文中去說。