mooseFS(moose 駝鹿)是一款網絡分佈式文件系統。它把數據分散在多臺服務器上,但對於用戶來說,看到的只是一個源。MFS也像其餘類unix文件系統同樣,包含了層級結構(目錄樹),存儲着文件屬性(權限,最後訪問和修改時間),能夠建立特殊的文件(塊設備,字符設備,管道,套接字),符號連接,硬連接。html
MooseFS[MFS]是一個具備容錯性的網絡分佈式文件系統。它把數據分散存放在多個物理服務器上,而呈現給用戶的則是一個統一的資源。linux
當咱們存儲服務器的容量達到瓶頸以後,那咱們就須要採用分佈式的文件系統來擴大存儲容量,相似與百度雲的存儲,也是採用分佈式存儲!
談及MooseFS的應用場景,其實就是去談分佈式文件系統的應用場景。 1)大規模高併發的數據存儲及訪問(小文件、大文件), 2)大規模的數據處理,如日誌分析
http://www.moosefs.com/
http://www.moosefs.org/reference-guide.html //安裝和幫助文檔c++
MooseFS 是一種分佈式文件系統,MooseFS 文件系統結構包括如下四種角色:web
負責各個數據存儲服務器的管理,文件讀寫調度,文件空間回收以及恢復.多節點拷貝vim
負責備份 master 服務器的變化日誌文件,文件類型爲 changelog_ml.*.mfs,以便於在 master server 出問題的時候接替其進行工做瀏覽器
遵從管理服務器調度,提供存儲空間,併爲客戶提供數據傳輸.。 真正存儲用戶數據的服務器。存儲文件時,首先把文件分紅塊,而後這些塊在數據服務器 chunkserver之間復 制(複製份數能夠手工指定,建議設置副本數爲 3)。數據服務器能夠是多個,而且數量越多,可以使用的「磁盤空間」越大,可靠性也越高。bash
客戶端掛載遠程mfs服務器共享出的存儲並使用。 經過 fuse 內核接口掛載進程管理服務器上所管理的數據存儲服務器共享出的硬盤。 共享的文件系統的用法和 nfs 類似。 使用 MFS 文件系統來存儲和訪問的主機稱爲 MFS 的客戶端,成功掛接 MFS 文件系統之後,就能夠像之前使用 NFS 同樣共享這個虛擬性的存儲了。服務器
1:客戶端請求訪問存儲,請求發送到了MFS Master 2:MFS Master根據咱們的請求,查詢所須要的文件分佈在那些服務器上 3:客戶端直接和存儲服務器進行數據存儲和讀寫
9420 : MFS master和MFS chunck通訊端口網絡
9421 : MFS master和MFS Client端通訊端口session
9419 : MFS master和MFS metalogger端通訊端口
9422 : MFS chunck 和MFS Client端通訊端口
9425 : MFS master web界面監聽端口,查看總體運行狀態
服務器 角色
harry63 管理服務器managing server (master) 和元數據日誌服務器(Metalogger)
harry64 數據存儲服務器data servers (chunk servers )
harry62 客戶機掛載使用client computers
全部服務器端和客戶端都要支持fuse內核模塊。
因爲mfs的客戶端程序也就是加載mfs磁盤系統的命令是使用了fuse,所以只要是想掛載mfs的服務器,必要的前提條件就是先安裝fuse,這樣編譯mfs的時候才能順利經過。
用戶空間文件系統(Filesystem in Userspace,簡稱FUSE)是操做系統中的概念,指徹底在用戶態實現的文件系統。目前Linux經過內核模塊對此進行支持。一些文件系統如NTFS-3G(做用:讓Linux中對NTFS文件系統提供支持) 使用FUSE實現。
注:2.6以上內核,都自帶fuse
部署MFS分佈式文件系統
部署MFS架構,咱們按照上面的拓撲,從Master開始部署
[root@harry63 ~]# yum install rpm-build gcc gcc-c++ fuse-devel zlib-devel –y [root@harry63 ~]# useradd -s /sbin/nologin mfs #運行mfs的用戶 [root@harry63 ~]# unzip moosefs-master.zip.zip && cd moosefs-master [root@harry63 moosefs-master]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs [root@harry63 moosefs-master]# make -j 4 && make install [root@harry63 moosefs-master]# cd /usr/local/mfs/ [root@harry63 mfs]# ls #看下安裝完成生成的目錄 bin #客戶端工具 etc #服務器的配置文件都放在該目錄中 sbin #服務端啓動程序。如:元數據服務器端程序 mfsmaster、數據存儲服務器端服務程序mfschunkserver share #文檔 var #元數據目錄(可在配置文件中自定義到其餘目錄) 生成配置文件 [root@harry63 etc]# cd /usr/local/mfs/etc/mfs/ [root@harry63 mfs]# ll -rw-r--r-- 1 root root 531 Dec 24 14:13 mfschunkserver.cfg.sample -rw-r--r-- 1 root root 4060 Dec 24 14:13 mfsexports.cfg.sample -rw-r--r-- 1 root root 57 Dec 24 14:13 mfshdd.cfg.sample -rw-r--r-- 1 root root 1020 Dec 24 14:13 mfsmaster.cfg.sample -rw-r--r-- 1 root root 417 Dec 24 14:13 mfsmetalogger.cfg.sample -rw-r--r-- 1 root root 404 Dec 24 14:13 mfsmount.cfg.sample -rw-r--r-- 1 root root 1123 Dec 24 14:13 mfstopology.cfg.sample [root@harry63 mfs]# cp mfsmaster.cfg.sample mfsmaster.cfg //Master配置文件 [root@harry63 mfs]# cp mfsexports.cfg.sample mfsexports.cfg //輸出目錄配置文件 [root@harry63 mfs]# cp mfsmetalogger.cfg.sample mfsmetalogger.cfg //元數據日誌 [root@harry63 mfs]# cd /usr/local/mfs/var/mfs/ [root@harry63 mfs]# cp metadata.mfs.empty metadata.mfs //首次安裝 master 時,會自動生成一個名爲metadata.mfs.empty 的元數據文件 metadata,該文件是空的。MooseFS master 運必須有文件 metadata.mfs [root@harry63 mfs]# cd /usr/local/mfs/etc/mfs/ 配置文件瞭解 [root@harry63 mfs]# vim mfsmaster.cfg //這個文件不須要修改,但你須要瞭解下面這幾個字段 23 # MATOCS_LISTEN_HOST = * #監聽全部 IP,也直接寫一個 IP 地址,如 192.168.1.63 24 # MATOCS_LISTEN_PORT = 9420 11 # DATA_PATH = /usr/local/mfs/var/mfs 注:這個配置文件中全部注掉的設置都是默認的配置。 若是有須要還能夠修改 DATA_PATH 的設置將元數據目錄存儲到其餘的分區或磁盤。其餘的參數都很簡單根據須要調整便可。 master 會打開 9420 端口等待 mfschunkserver 數據存儲服務器鏈接 [root@harry63 mfs]# chown -R mfs:mfs /usr/local/mfs/ [root@harry63 mfs]# /usr/local/mfs/sbin/mfsmaster start //各個端口開始起來 working directory: /usr/local/mfs/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/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 [root@harry63 mfs]# netstat -antup | grep 94* tcp 0 0 0.0.0.0:9419 0.0.0.0:* LISTEN 49618/mfsmaster tcp 0 0 0.0.0.0:9420 0.0.0.0:* LISTEN 49618/mfsmaster tcp 0 0 0.0.0.0:9421 0.0.0.0:* LISTEN 49618/mfsmaster [root@harry63 mfs]# echo "/usr/local/mfs/sbin/mfsmaster start" >> /etc/rc.local [root@harry63 mfs]# chmod +x /etc/rc.local [root@harry63 mfs]# /usr/local/mfs/sbin/mfsmaster stop //服務的關閉方法 [root@harry63 mfs]# ll /usr/local/mfs/var/mfs/ //查看生成的日誌文件 -rw-r----- 1 mfs mfs 95 Dec 24 14:30 metadata.mfs -rw-r----- 1 mfs mfs 95 Dec 24 14:28 metadata.mfs.back.1 -rw-r--r-- 1 mfs mfs 8 Dec 24 14:13 metadata.mfs.empty -rw-r----- 1 mfs mfs 10 Dec 24 14:28 sessions.mfs -rw-r----- 1 mfs mfs 762516 Dec 24 14:30 stats.mfs 指定須要共享的權限 [root@harry63 mfs]# cd /usr/local/mfs/etc/mfs [root@harry63 mfs]# vim mfsexports.cfg # Allow everything but "meta". * / rw,alldirs,maproot=0 # Allow "meta". * . rw #下面添加兩行 192.168.1.64/24 / rw,alldirs,maproot=0 192.168.1.0/24 / rw,alldirs,mapproot=0 mfsexports.cfg文件每一條由三部分組成,第一部分表示客戶端的 IP 地址,第二部分表示被掛接的目錄,第三部分表示客戶端擁有的權限,下面對三給部分迚行解釋 1.客戶端 IP 地址 * 全部 IP 地址 x.x.x.x 單個 IP 地址 x.x.x.x/m.m.m.m IP 網絡地址/子網掩碼 f.f.f.f-t.t.t.t IP 段 2.被掛載的目錄 / 表示 MooseFS 的根 . 表示 MFSMETA 文件系 3.客戶端擁有的權限 ro 只讀 rw 讀寫 alldirs 容許掛載任何指定的子目錄 maproot 映射爲 root 用戶仍是指定的用戶 password 指定客戶端密碼 [root@harry63 mfs]# sh /etc/rc.local //啓動服務 安裝MFS元數據日誌服務器 元數據日誌守護進程是在安裝master server 時一同安裝的,最小的要求並不比master 自己大,能夠被運行在任何機器上(例如任一臺chunkserver),可是最好是放置在MooseFS master 的備份機上,備份master 服務器的變化日誌文件,文件類型爲changelog_ml.*.mfs。由於主要的master server 一旦失效,可能就會將這臺metalogger 機器取代而做爲master server。 [root@harry63 mfs]# cd [root@harry63 ~]# rm -rf moosefs-master #元數據又是另一臺服務器,這裏咱們在一臺機器上作,那麼咱們也要從新編譯 [root@harry63 ~]# unzip moosefs-master.zip && cd moosefs-master #編譯的時候,用戶在若在其餘設備,須要新建運行mfsmetalogger角色的用戶,harry63上在安裝master的時候,已經新建,略過,其餘機器上,應該執行useradd -s /sbin/nologin mfs [root@harry63 moosefs-master]# ./configure --prefix=/usr/local/mfsmeta --with-default-user=mfs --with-default-group=mfs [root@harry63 moosefs-master]# make && make install [root@harry63 moosefs-master]# cd /usr/local/mfsmeta/etc/mfs/ [root@harry63 mfs]# cp mfsmetalogger.cfg.sample mfsmetalogger.cfg [root@harry63 mfs]# vim mfsmetalogger.cfg # META_DOWNLOAD_FREQ = 24 #24元數據備份文件下載請求頻率。默認爲24小時,即每隔一天從元數據服務器 #(MASTER) 下載一個 metadata.mfs.back 文 件 。 當 元 數 據 服 務 器 關 閉 戒 者 出 故 障 時 , matedata.mfs.back 文件將消失,那麼要恢復整個 mfs,則需從 metalogger 服務器取得該文件。請特別注意這個文件,它與日誌文件一塊兒,纔可以恢復整個被損壞的分佈式文件系統。 MASTER_HOST = 192.168.1.63 #此行原來註釋了,修改,並啓用 #MASTER_HOST,這個文件中須要修改的是 MASTER_HOST 變量,這個變量的值是 MASTER SERVER 的 IP 地址 [root@harry63 mfs]# chown -R mfs:mfs /usr/local/mfsmeta/ 啓動元數據日誌服務器 [root@harry63 mfs]# /usr/local/mfsmeta/sbin/mfsmetalogger start working directory: /usr/local/mfsmeta/var/mfs lockfile created and locked initializing mfsmetalogger modules ... mfsmetalogger daemon initialized properly [root@harry63 mfs]# echo "/usr/local/mfsmeta/sbin/mfsmetalogger start" >> /etc/rc.local 服務關閉方法 [root@harry63 mfs]# /usr/local/mfsmeta/sbin/mfsmetalogger stop 查看端口 [root@harry63 mfs]# /usr/local/mfsmeta/sbin/mfsmetalogger start [root@harry63 mfs]# netstat -anput | grep 9419 tcp 0 0 0.0.0.0:9419 0.0.0.0: LISTEN 7266/sbin/mfsmaster tcp 0 0 192.168.1.63:9419 192.168.1.63:49776 ESTABLISHED 7266/sbin/mfsmaster到此爲止,咱們Master和Metalogger服務器安裝完成,且在一臺機器上 Chunk Server安裝配置 安裝數據服務器(chunkservers),這些機器的磁盤上要有適當的剩餘空間,並且操做系統要遵循POSIX 標準(驗證了的有這些: Linux, FreeBSD, Mac OS X and OpenSolaris)。 Chunkserver存儲數據時,是在一個普通的文件系統如ext4上儲存數據塊或碎片(chunks/fragments)做爲文件。 你在chunkserver上看不到完整的文件。 [root@harry64 ~]# useradd -s /sbin/nologin mfs [root@harry64 ~]# unzip moosefs-master.zip [root@harry64 ~]# cd moosefs-master && ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs && make && make install 配置文件修改 [root@harry64 mfs]# cp mfschunkserver.cfg.sample mfschunkserver.cfg#主配置文件 [root@harry64 mfs]# cp mfshdd.cfg.sample mfshdd.cfg #使用的磁盤空間配置文件 [root@harry64 mfs]# vim mfschunkserver.cfg MASTER_HOST = 192.168.1.63 #元數據服務器的名稱或地址,能夠是主機名,也能夠是 ip 地址 MASTER_PORT = 9420 #能夠啓用它,也能夠不啓用,不啓用,默認就是9420 # CSSERV_LISTEN_PORT = 9422 #這個監聽端口用於與其它數據存儲服務器間的鏈接,一般是數據複製 # HDD_CONF_FILENAME = /usr/local/mfs/etc/mfs/mfshdd.cfg #分配給 MFS 使用的磁盤空間配置文件的位置 [root@harry64 mfs]# vim mfshdd.cfg # mount points of HDD drives # #/mnt/hd1 #/mnt/hd2 #etc. /tmp #在這裏/tmp 是一個給 mfs 的分區,但在生產環境是一個獨立的磁盤的掛載目錄 [root@harry64 mfs]# chown -R mfs:mfs /usr/local/mfs/ 服務器啓動關閉 [root@harry64 mfs]# /usr/local/mfs/sbin/mfschunkserver start working directory: /usr/local/mfs/var/mfs lockfile created and locked initializing mfschunkserver modules ... hdd space manager: path to scan: /tmp/ hdd space manager: start background hdd scanning (searching for available chunks) main server module: listen on *:9422 no charts data file - initializing empty charts mfschunkserver daemon initialized properly [root@harry64 mfs]# echo "/usr/local/mfs/sbin/mfschunkserver start" >> /etc/rc.local [root@harry64 mfs]# chmod +x /etc/rc.local [root@harry64 mfs]# ls /tmp #分塊存儲,人工時沒法認識的 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF 01 12 23 34 45 56 67 78 89 9A AB BC CD DE EF keyring-J8XeaN 02 13 24 35 46 57 68 79 8A 9B AC BD CE DF F0 orbit-gdm 03 14 25 36 47 58 69 7A 8B 9C AD BE CF E0 F1 orbit-root 04 15 26 37 48 59 6A 7B 8C 9D AE BF D0 E1 F2 pulse-oErxG6JvcJR1 05 16 27 38 49 5A 6B 7C 8D 9E AF C0 D1 E2 F3 pulse-ZvGMw7hIpLaC 06 17 28 39 4A 5B 6C 7D 8E 9F B0 C1 D2 E3 F4 vgauthsvclog.txt.0 07 18 29 3A 4B 5C 6D 7E 8F A0 B1 C2 D3 E4 F5 virtual-root.qMLdFF 08 19 2A 3B 4C 5D 6E 7F 90 A1 B2 C3 D4 E5 F6 VMwareDnD 09 1A 2B 3C 4D 5E 6F 80 91 A2 B3 C4 D5 E6 F7 vmware-root 0A 1B 2C 3D 4E 5F 70 81 92 A3 B4 C5 D6 E7 F8 0B 1C 2D 3E 4F 60 71 82 93 A4 B5 C6 D7 E8 F9 0C 1D 2E 3F 50 61 72 83 94 A5 B6 C7 D8 E9 FA 0D 1E 2F 40 51 62 73 84 95 A6 B7 C8 D9 EA FB 0E 1F 30 41 52 63 74 85 96 A7 B8 C9 DA EB FC 0F 20 31 42 53 64 75 86 97 A8 B9 CA DB EC FD 10 21 32 43 54 65 76 87 98 A9 BA CB DC ED FE [root@harry64 mfs]# /usr/local/mfs/sbin/mfschunkserver stop #關閉方法 配置客戶端 [root@harry62 ~]# yum install rpm-build gcc gcc-c++ fuse-devel zlib-devel -y [root@harry62 ~]# useradd -s /sbin/nologin mfs [root@harry62 ~]# unzip moosefs-master.zip && cd moosefs-master [root@harry62 moosefs-master]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount #開啓mfsmount必須有,做爲客戶端必須有的這一個選項。 [root@harry62 moosefs-master]# make -j 2 && make install [root@harry62 moosefs-master]# mkdir /mfs [root@harry62 moosefs-master]# lsmod | grep fuse fuse 73530 4 [root@harry62 moosefs-master]# modprobe fuse #若沒有,加載一下 [root@harry62 moosefs-master]# ln -s /usr/local/mfs/bin/mfsmount /usr/bin/mfsmount 將mfs共享出來的存儲空間掛載到harry62的/ /mfs目錄下: [root@harry62 moosefs-master]# mfsmount /mfs/ -H 192.168.1.63 -p MFS Password: #無密碼 直接回車 mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root [root@harry62 moosefs-master]# df –h …… 192.168.1.63:9421 5.3G 0 5.3G 0% /mfs [root@harry62 moosefs-master]# echo "modprobe fuse" >> /etc/rc.local [root@harry62 moosefs-master]# echo "/usr/local/mfs/bin/mfsmount /mfs -H 192.168.1.63" >> /etc/rc.local [root@harry62 moosefs-master]# chmod +x /etc/rc.local 測試 [root@harry64 mfs]# yum install -y tree #64上用tree監控狀態 [root@harry64 mfs]# tree /tmp/ /tmp/ ├── 00 ├── 01 ├── 02 ├── 03 ├── 04 ├── 05 ├── 06 ├── 07 ├── 08 ├── 09 ├── 0A ├── 0B ├── 0C ├── 0D ├── 0E [root@harry62 moosefs-master]# cp -r /boot/* /mfs/ #客戶端寫入數據 [root@harry64 mfs]# tree /tmp/ #存儲服務器監控 /tmp/ ├── 00 ├── 01 │ └── chunk_0000000000000001_00000001.mfs ├── 02 │ └── chunk_0000000000000002_00000001.mfs ├── 03 │ └── chunk_0000000000000003_00000001.mfs ├── 04 │ └── chunk_0000000000000004_00000001.mfs ├── 05 │ └── chunk_0000000000000005_00000001.mfs [root@harry62 moosefs-master]# ls /mfs #客戶端是看獲得的文件內容,而在咱們的Chunk Server上看到的都是一些碎片 config-2.6.32-431.el6.x86_64 lost+found efi symvers-2.6.32-431.el6.x86_64.gz grub System.map-2.6.32-431.el6.x86_64 initramfs-2.6.32-431.el6.x86_64.img vmlinuz-2.6.32-431.el6.x86_64 配置web監控 主用來監控 MFS 各節點狀態信息,可部署在任一節點服務器。 [root@harry63 mfs]# /usr/local/mfs/sbin/mfscgiserv #啓動網頁監控 瀏覽器:http://192.168.1.63:9425/(如需指定服務器ip修改share/mfscgi/mfs.cgi) 磁盤使用 權限 CPU資源 拓展 關於密碼設置和添加一臺存儲設置以及複製份數 配置密碼 [root@harry63 ~]# cd /usr/local/mfs/etc/mfs/ [root@harry63 mfs]# vim mfsexports.cfg //權限後面跟上密碼便可 # Allow everything but "meta". * / rw,alldirs,maproot=0 # Allow "meta". * . rw 192.168.1.64/24 / rw,alldirs,maproot=0,password=123456 192.168.1.0/24 / rw,alldirs,mapproot=0 添加Chunk Server
開啓一臺新主機並添加爲Chunk Server
[root@pualinux11 ~]# yum install rpm-build gcc gcc-c++ fuse-devel zlib-devel –y [root@pualinux11 ~]# useradd -s /sbin/nologin mfs [root@pualinux11 ~]# unzip moosefs-master.zip && cd moosefs-master [root@pualinux11 moosefs-master]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs && make && make install [root@pualinux11 moosefs-master]# cd /usr/local/mfs/etc/mfs/ [root@pualinux11 mfs]# cp mfschunkserver.cfg.sample mfschunkserver.cfg [root@pualinux11 mfs]# vim mfschunkserver.cfg MASTER_HOST = 192.168.1.63 #修改管理IP MASTER_PORT = 9420 #去掉註釋 [root@pualinux11 mfs]# cp mfshdd.cfg.sample mfshdd.cfg [root@pualinux11 mfs]# vim mfshdd.cfg # mount points of HDD drives # #/mnt/hd1 #/mnt/hd2 #etc. /opt #添加一行 [root@pualinux11 mfs]# chown -R mfs:mfs /usr/local/mfs/ [root@pualinux11 mfs]# chown -R mfs:mfs /opt/ [root@pualinux11 mfs]# /usr/local/mfs/sbin/mfschunkserver start working directory: /usr/local/mfs/var/mfs lockfile created and locked initializing mfschunkserver modules ... hdd space manager: path to scan: /opt/ hdd space manager: start background hdd scanning (searching for available chunks) main server module: listen on *:9422 no charts data file - initializing empty charts mfschunkserver daemon initialized properly [root@pualinux11 mfs]# yum install -y tree [root@harry63 ~]# /usr/local/mfs/sbin/mfsmaster stop #重啓管理 [root@harry63 ~]# /usr/local/mfs/sbin/mfsmaster start [root@harry63 ~]# /usr/local/mfsmeta/sbin/mfsmetalogger stop #元數據日誌 [root@harry63 ~]# /usr/local/mfsmeta/sbin/mfsmetalogger start [root@harry62 moosefs-master]# cp /etc/passwd /mfs/ #寫入數據 [root@harry62 moosefs-master]# cp /etc/hosts /mfs/ [root@pualinux11 mfs]# tree /opt/ #看到也有數據過來了 /tmp/ ├── 00 │ ├── chunk_0000000000000001_00000001.mfs │ ├── chunk_0000000000000002_00000001.mfs │ ├── chunk_0000000000000003_00000001.mfs │ ├── chunk_0000000000000004_00000001.mfs │ ├── chunk_0000000000000005_00000001.mfs │ ├── chunk_0000000000000006_00000001.mfs │ ├── chunk_0000000000000007_00000001.mfs │ ├── chunk_0000000000000008_00000001.mfs │ ├── chunk_0000000000000009_00000001.mfs ├── 16 │ └── chunk_0000000000000016_00000001.mfs ├── 17
設置複製份數
[root@harry62 moosefs-master]# cd /usr/local/mfs/bin/ #客戶端 [root@harry62 bin]# ./mfssetgoal -r 2 /mfs/ #設置2份 [root@harry62 bin]# ./mfsgetgoal /mfs # 查看份數 /mfs: 2
查看複製份數,都保存在哪兒:
[root@harry62 bin]# ./mfsfileinfo /mfs/initramfs-2.6.32-431.el6.x86_64.img /mfs/initramfs-2.6.32-431.el6.x86_64.img: chunk 0: 0000000000000012_00000001 / (id:18 ver:1) copy 1: 192.168.1.11:9422 copy 2: 192.168.1.64:9422
停掉Harry64
[root@harry62 mfs]# cp /etc/group /mfs/ [root@harry62 mfs]# ls //文件仍然可寫 config-2.6.32-431.el6.x86_64 lost+found efi passwd group symvers-2.6.32-431.el6.x86_64.gz grub System.map-2.6.32-431.el6.x86_64 hosts vmlinuz-2.6.32-431.el6.x86_64 initramfs-2.6.32-431.el6.x86_64.img
回收站清空時間
修改MFS文件刪除延遲時間(都在client端下操做)
[root@harry62 ~]# cd /usr/local/mfs/bin [root@harry62 bin]# ./mfssettrashtime 600 /mnt/mfs/
查看MFS文件刪除延遲時間
[root@harry62 bin]# ./mfsgettrashtime /mnt/mfs /mnt/mfs: 3600 #爲何不是600? 由於設置的時間是按照小時計算,設置的單位是秒,不滿一小時就按一小時計算
mfsmaster配置文件
# WORKING_USER = mfs #運行master server 用戶 # WORKING_GROUP = mfs #運行master server 組 # SYSLOG_IDENT = mfsmaster #master server 在syslog中的標識,說明是由master產生的 # LOCK_MEMORY = 0 #是否執行mlockall()避免mfsmaster 進程溢出(默認爲0) # NICE_LEVEL = -19 #運行的優先級(若是能夠默認-19;注意:進程必須是用root啓動) # EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg #被掛接的目錄及其權限控制文件的存放位置 # DATA_PATH = /usr/local/mfs/var/mfs #數據存放路徑,此目錄分三類文件,changelog ,sessions 和stats # BACK_LOGS = 50 #metadata的改變log文件數目(默認是50) # REPLICATIONS_DELAY_INIT = 300 #延遲複製的時間(默認是300s) # REPLICATIONS_DELAY_DISCONNECT = 3600 #chunkserver 斷開的複製延遲(默認是3600) # MATOCS_LISTEN_HOST = * #metalogger 監聽的ip地址(默認是*,表明任何ip) # MATOCS_LISTEN_PORT = 9419 #metalogger 監聽的端口地址(默認是9419) # MATOCS_LISTEN_HOST = * #用於chunkserver 鏈接的ip地址(默認是*,表明任何ip) # MATOCS_LISTEN_PORT = 9420 #用於chunkserver 鏈接的端口地址(默認是9420) # MATOCU_LISTEN_HOST = * #用於客戶端掛接的ip地址(默認*,表明任何ip) # MATOCU_LISTEN_PORT = 9421 #用於客戶端掛接鏈接的端口地址(默認9421) # CHUNKS_LOOP_TIME = 300 #chunksde 迴環頻率(默認是:300秒) # CHUNKS_WRITE_REP_LIMIT = 1 #在一個循環裏複製到一個chunkserver的最大chunk數目 # CHUNKS_READ_REP_LIMIT = 5 #在一個循環裏從一個chunkserver複製的最大chunk數目 #CHUNKS_READ_REP_LIMIT = 0 彈出低於1.6.0的客戶端掛接(0或1,默認是0
MFS集羣啓動:
1 啓動master server
2 啓動chunk server
3 啓動metalogger
4 啓動客戶端,使用mfsmount掛載相關目錄
MFS集羣中止:
1 全部客戶端卸載MooseFS文件系統
2 中止chunkserver
3 中止metalogger
4 中止master server