日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

MooseFS的簡介、部署及應(yīng)用

 huhuwoo 2015-10-12

MFS也像其他類unix文件系統(tǒng)一樣,包含了層級結(jié)構(gòu)(目錄樹),存儲著文件屬性(權(quán)限,最后訪問和修改時間),可以創(chuàng)建特殊的文件(塊設(shè)備,字符設(shè)備,管道,套接字),符號鏈接,硬鏈接。

mooseFS簡介

MooseFS正式的推出是在2008-05-30,到2009-10-12為止,最新的版本是1.5.12。

mooseFS是一款網(wǎng)絡(luò)分布式文件系統(tǒng)。它把數(shù)據(jù)分散在多臺服務(wù)器上,但對于用戶來講,看到的只是一個源。MFS也像其他類unix文件系統(tǒng)一樣,包含了層級結(jié)構(gòu)(目錄樹),存儲著文件屬性(權(quán)限,最后訪問和修改時間),可以創(chuàng)建特殊的文件(塊設(shè)備,字符設(shè)備,管道,套接字),符號鏈接,硬鏈接。

mooseFS系統(tǒng)的組成

1.master(元數(shù)據(jù)服務(wù)器)

master負(fù)責(zé)在整個系統(tǒng)中管理數(shù)據(jù)。是整個系統(tǒng)的維護(hù)者。但是它有個弱點(diǎn)就是master只有一個!也就是說如果master壞掉,整個系統(tǒng)將停止工作!不過這算不上致命弱點(diǎn),因為我們做好數(shù)據(jù)備份以后,恢復(fù)master是很簡單的事。

2.chunkserver(數(shù)據(jù)存儲服務(wù)器)

chunkserver是mfs系統(tǒng)中的數(shù)據(jù)存儲者。真正的用戶數(shù)據(jù)按照算法被分成chunk,并分發(fā)到各個chunkserver上。這樣就保證了數(shù)據(jù)的安全性。

3.client

凡是使用mfs文件系統(tǒng)的機(jī)器都可以被稱為client。client是mfs系統(tǒng)的使用者。當(dāng)client把mfs文件系統(tǒng)掛載到本機(jī)以后,它可以像使用一個普通的磁盤分區(qū)一樣,來使用mfs。

 

試驗環(huán)境

本文只介紹moosefs的部署與應(yīng)用,出于試驗的目的,并沒有考慮性能因素,因此所有的服務(wù)器均使用虛擬機(jī)來實(shí)現(xiàn)。以后有機(jī)會做單獨(dú)的物理服務(wù)器,然后對其性能進(jìn)行測試。

拓?fù)鋱D

備注:

(1) chunkserver1-4 均添加了一塊虛擬的磁盤sda(磁盤空間一定要大于1G,我這里設(shè)置了4G),掛載到系統(tǒng)的/data下。所有服務(wù)器均升級內(nèi)核為2.6.18-164本版,為什么要升級內(nèi)核,下文會有介紹。

(2) 所有服務(wù)器均安裝了完整版的mfs組件

安裝與配置

安裝mfs的前提條件

由于mfs的客戶端程序也就是加載mfs磁盤系統(tǒng)的命令是使用fuse編寫的,因此只要是想掛載mfs的服務(wù)器,必要的前提條件就是先安裝fuse,這樣編譯mfs的時候才能順利通過。另外一點(diǎn)需要注意:linux 2.6.18-164.e15 版本的linux內(nèi)核中已經(jīng)內(nèi)置了fuse模塊。但在該版本之前的linux內(nèi)核中是不包含這個模塊的。另fuse 從2.8.0-pre1 版本的源碼包中去掉了fuse系統(tǒng)模塊的源碼部分,原因就是上一點(diǎn)提到的。這樣我們在編譯安裝當(dāng)前最新版本的fuse(2.8以上版本) 且正在使用的linux內(nèi)核版本低于2.6.18-164.e15版本,則系統(tǒng)中是不包含fuse模塊的。

解決的方法:

1、升級系統(tǒng)內(nèi)核為2.6.18-164版本

為了方便起見直接利用yum升級系統(tǒng)內(nèi)核即可。yum install kernel

安裝成功后需重啟系統(tǒng)

2、使用fuse 2.7x版本編譯安裝

該版本的fuse中包含了linux內(nèi)核需要的fuse模塊,配置編譯選項時指定 –enable-kernel-module 選項,make的時候就會編譯相應(yīng)的fuse模塊,make intall會將fuse.ko復(fù)制到 /lib/modules/`uname -r`/kernel/fs/fuse/ 目錄下 安裝后利用

  1. # modprobe -l | grep fuse  
  2.  
  3. /lib/modules/2.6.18-128.el5xen/kernel/fs/fuse/fuse.ko 

查看是否正常安裝

3、利用yum安裝當(dāng)前內(nèi)核版本的fuse模塊

  1. yum install -y dkms-fuse dkms 

安裝fuse

如果只編譯元數(shù)據(jù)服務(wù)端或數(shù)據(jù)存儲服務(wù)端的話是沒有必要安裝fuse的。只有mfsmount需要fuse支持(編譯時需要fuse的開發(fā)包,使用mfsmount掛載時需要fuse.ko系統(tǒng)模塊)??梢允褂迷创a或yum兩種方式安裝fuse

1、源碼安裝

  1. # wget http://ncu.dl./project/fuse/fuse-2.X/2.8.1/fuse-2.8.1.tar.gz  
  2.  
  3. # tar -xvzf fuse-2.8.1.tar.gz  
  4.  
  5. # cd fuse-2.8.1  
  6.  
  7. # ./configure –prefix=/usr/ –libdir=/usr/lib64  
  8.  
  9. # make && make install 

由于我系統(tǒng)為64位,因此在編譯fuse時將lib目錄定為/usr/lib64。這樣在下面編譯安裝mfs時就不會因為找不到fuse的lib文件報錯了。

2、yum安裝

  1. # yum install -y fuse fuse-devel 

安裝mfs

  1. # useradd mfs -s /sbin/nologin  
  2.  
  3. # ./configure –prefix=/usr/local/mfs –with-default-user=mfs –with-default-group=mfs –enable-mfsmount  
  4.  
  5. # make && make install 

查看安裝后目錄結(jié)構(gòu)

  1. # ll /usr/local/mfs/  
  2.  
  3. total 20  
  4.  
  5. drwxr-xr-x 2 root root 4096 Oct 14 15:14 bin  
  6.  
  7. drwxr-xr-x 2 root root 4096 Oct 14 12:13 etc  
  8.  
  9. drwxr-xr-x 2 root root 4096 Oct 14 15:14 sbin  
  10.  
  11. drwxr-xr-x 3 root root 4096 Oct 14 12:13 share  
  12.  
  13. drwxr-xr-x 3 root root 4096 Oct 14 12:13 var 

bin – 客戶端工具

etc – 元數(shù)據(jù)服務(wù)器,數(shù)據(jù)存儲服務(wù)器的配置文件都放在該目錄中

sbin – 元數(shù)據(jù)服務(wù)器端程序mfsmaster、數(shù)據(jù)存儲服務(wù)器端服務(wù)程序mfschunkserver

share – 文檔

var – 元數(shù)據(jù)目錄(可在配置文件中自定義到其他目錄)

配置master(元數(shù)據(jù)服務(wù)器)

IP:192.168.108.108

  1. [root@master~]#vi/usr/local/mfs/etc/mfsmaster.cfg
  2. #WORKING_USER=mfs
  3. #WORKING_GROUP=mfs
  4.  
  5. #LOCK_FILE=/var/run/mfs/mfsmaster.pid
  6. #DATA_PATH=/usr/local/mfs/var/mfs
  7. #SYSLOG_IDENT=mfsmaster
  8.  
  9. #BACK_LOGS=50
  10.  
  11. #REPLICATIONS_DELAY_INIT=300
  12. #REPLICATIONS_DELAY_DISCONNECT=3600
  13.  
  14. MATOCS_LISTEN_HOST=192.168.108.108
  15. #MATOCS_LISTEN_PORT=9420
  16.  
  17. #MATOCU_LISTEN_HOST=*
  18. #MATOCU_LISTEN_PORT=9421
  19.  
  20. #CHUNKS_LOOP_TIME=300
  21. #CHUNKS_DEL_LIMIT=100
  22. #CHUNKS_REP_LIMIT=15

注:這個配置文件中所有注掉的設(shè)置都是默認(rèn)的配置。在這里我只更改了MATOCS_LISTEN_HOST的值,也就是將它修改為本機(jī)的ip地址:192.168.108.108 。如果又需要還可以修改DATA_PATH的設(shè)置將元數(shù)據(jù)目錄存儲到其他的分區(qū)或磁盤。其他的參數(shù)都很簡單根據(jù)需要調(diào)整即可。

master會打開9420端口等待 mfschunkserver 連接

啟動mfsmaster

  1. [root@master~]#/usr/local/mfs/sbin/mfsmaster
  2. [root@master~]#ps-ef|grepmfsmaster|grep-vgrep
  3. mfs101321017:37?00:00:00/usr/local/mfs/sbin/mfsmaster
  4. [root@master~]#netstat-tulnp|grepmfsmaster
  5. tcp00192.168.108.108:94200.0.0.0:*LISTEN10132/mfsmaster
  6. tcp000.0.0.0:94210.0.0.0:*LISTEN10132/mfsmaster

查看系統(tǒng)日志

  1. [root@master~]#tail-f/var/log/messages
  2. Oct1417:37:35mastermfsmaster:config:usingdefaultvalueforoption‘SYSLOG_IDENT’–‘mfsmaster’
  3. Oct1417:37:35mastermfsmaster[10130]:config:usingdefaultvalueforoption‘WORKING_USER’–‘mfs’
  4. Oct1417:37:35mastermfsmaster[10130]:config:usingdefaultvalueforoption‘WORKING_GROUP’–‘mfs’
  5. Oct1417:37:35mastermfsmaster[10132]:config:usingdefaultvalueforoption‘CHUNKS_LOOP_TIME’–’300′

# 以上日志內(nèi)容省略的很多,主要是程序讀取配置的過程。

# 下面的部分為檢查元數(shù)據(jù)和檢查數(shù)據(jù)存儲服務(wù)器的情況(每1分鐘檢查一次)。

# 由于我這里還沒有啟動chunkservers 因此在chunkservers status:的顯示結(jié)果為空。total: usedspace: 的結(jié)果也為空。

  1. Oct1417:38:00mastermfsmaster[10132]:inodes:45
  2. Oct1417:38:00mastermfsmaster[10132]:dirnodes:3
  3. Oct1417:38:00mastermfsmaster[10132]:filenodes:42
  4. Oct1417:38:00mastermfsmaster[10132]:chunks:14
  5. Oct1417:38:00mastermfsmaster[10132]:chunkstodelete:0
  6. Oct1417:38:00mastermfsmaster[10132]:chunkserversstatus:
  7. Oct1417:38:00mastermfsmaster[10132]:total:usedspace:0(0GB),totalspace:0(0GB),usage:0.00%

設(shè)置服務(wù)隨系統(tǒng)啟動

  1. [root@master~]#echo“/usr/local/mfs/sbin/mfsmaster”>>/etc/rc.local

配置chunkserver(數(shù)據(jù)存儲服務(wù)器)

IP:192.168.108.161~164

  1. [root@chunkserver-1~]#vi/usr/local/mfs/etc/mfschunkserver.cfg
  2. #WORKING_USER=mfs
  3. #WORKING_GROUP=mfs
  4.  
  5. #DATA_PATH=/usr/local/mfs/var/mfs
  6. #LOCK_FILE=/var/run/mfs/mfschunkserver.pid
  7. #SYSLOG_IDENT=mfschunkserver
  8.  
  9. #BACK_LOGS=50
  10.  
  11. #MASTER_RECONNECTION_DELAY=30
  12.  
  13. MASTER_HOST=192.168.108.108
  14. #MASTER_PORT=9420
  15.  
  16. #MASTER_TIMEOUT=60
  17.  
  18. #CSSERV_LISTEN_HOST=*
  19. #CSSERV_LISTEN_PORT=9422
  20.  
  21. #CSSERV_TIMEOUT=60
  22.  
  23. #CSTOCS_TIMEOUT=60
  24.  
  25. #HDD_CONF_FILENAME=/usr/local/mfs/etc/mfshdd.cfg

配置存儲分區(qū)

  1. [root@chunkserver-1~]#vi/usr/local/mfs/etc/mfshdd.cfg
  2. 刪除
  3. /mnt/hd1
  4. /mnt/hd2
  5. /mnt/hd3
  6. /mnt/hd4

添加獨(dú)立的分區(qū)

/data

修改分區(qū)所有者為mfs

  1. [root@chunkserver-1~]#chownmfs.mfs/data

注:mfschunkserver 服務(wù)器的主配置很簡單,沒有特殊要求只需要修改MASTER_HOST的地址即可。存儲分區(qū)的配置選擇一個獨(dú)立的磁盤分區(qū)(分區(qū)必須大于1G)。

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多