压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

分布式文件系統之MooseFS----部署

  1、架構規劃

  由于在整個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

  由于這次測試空閑服務器不夠,因此采用了虛擬機進行測試(好蛋疼)。但是在實際生產環境中,針對每個組件的服務器選型問題,還是必須要注意的。這里提供如下幾條建議:

  1、Master Server

  由于 Master Server 控制著整個 MooseFS 中的各個組件,并且負責對外提供服務,因此我們一定需要保證 Master Server 處于非常穩定的狀態。比如,針對 Master Server采用雙電源雙路配置,多塊磁盤使用RAID1或RAID10,進行冗余。

  前面也提到,Master Server 將所有訪問的元數據信息都放在內存當中,提供用戶訪問。因此,當文件數量增加的時候,內存使用量也會增加。根據官方的數據,100萬個文件chunk信息,大概需要300M的內存空間來進行。對于磁盤來講,Master Server 對磁盤的使用量不是很大,這個取決于所用的文件和chunk塊的數目(記錄在主元數據文件)以及對文件作出操作的數量(記錄在元數據更改日志),一般情況下 20G 可以用來存儲信息 2500 萬個文件變更記錄長達50小時。由此看來,作為Master Server 內存量夠大才是重中之重。

  2、Metalogger Server

  在 MooseFS 的設計中,雖然 Metalogger Server 只是用來收集 MooseFS 主服務器的元數據(文件更改的信息的變化)的備份,對硬件的要求不應該高于主服務器的備份。但是需要注意的是,如果在Master Server沒有做高可用的情況下,主服務器宕機之后,我們是需要啟用Metalogger Server 來頂替主服務器的。因此,從這方面考慮,Metalogger Server 至少也是和 Master Server 的配置相同的,這點切記!

  3、Chunk Server

  針對 Chunk Server,它是真正存儲數據的載體。因此,我們對它的要求就簡單粗暴了很多,只要保障硬盤的性能即可。如果是普通的業務,可以選擇多塊盤做RAID5即可,當然RAID0或RAID10都是可以的。

  需要注意的是,由于 MooseFS 的默認負載均衡算法的問題,我建議所有 Chunk Server 的磁盤大小保持一致。這樣子,我們才能保證 MooseFS 在使用過程中,各個 Chunk 節點的數據使用量是大致一致的。否則,磁盤容量大的 Chunk Server 使用量會加大,而磁盤容量小的 Chunk Server 的使用量會變小。切記,切記!

  當然,如果公司員工有能力的話,也可以對 MooseFS 的負載均衡算法中每次對carry 變量的增加算法這一部分進行改進,來避免默認算法的缺點,使存儲數據能夠均衡分布在各個 Chunk Server 上。

  2、部署 Master Server

  1、編譯參數介紹

  我們已經知道 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用戶組

  2、安裝 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雙機之后,就可以解決這個問題。

  3、配置 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

  4、啟動 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

  5、停止 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

  6、掃尾操作

  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 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

  以上,就是 Master Server 部署的全部操作。

  3、部署 Metalogger Server

  1、安裝 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

  2、配置 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 的地址

  3、啟動 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)

  4、關閉 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

  5、掃尾操作

  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

  4、部署 Chunk Servers

  1、安裝 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

  2、配置 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_PORT = 9420

  # MASTER_TIMEOUT = 60

  CSSERV_LISTEN_HOST = 172.16.100.1    # 該地址為 Master Server 的IP地址或者主機名

  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

  在常規的使用過程中,我們只需要修改一個 CSSERV_LISTEN_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

  3、啟動 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

  4、關閉 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)

  5、掃尾操作

  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

  5、部署 Client

  1、安裝 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.modules2、安裝 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

  [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

  3、從客戶端上掛載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

  4、掛載后本地寫入文件測試

  寫入測試前,我們查看下主和備服務器的元數據文件及變化日志文件。

  [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)

  5、掃尾操作

  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

    文章來源:http://nolinux.blog.51cto.com/4824967/1601385

上一篇:安卓防火墻 PS DroidWall

下一篇:分布式文件系統之MooseFS----管理優化