亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 2206 | 回復(fù): 0
打印 上一主題 下一主題

[mooseFS] 分布式文件系統(tǒng)MFS(moosefs)實(shí)現(xiàn)存儲(chǔ)共享 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-04-09 10:52 |只看該作者 |倒序?yàn)g覽


分布式文件系統(tǒng)MFS(moosefs)實(shí)現(xiàn)存儲(chǔ)共享
作者:田逸(
sery@163.com
) from http://net.it168.com/a2009/0403/270/000000270867.shtml

由于用戶數(shù)量的不斷攀升,我對(duì)訪問量大的應(yīng)用實(shí)現(xiàn)了可擴(kuò)展、高可靠的集群部署(即lvs+keepalived的方式),但仍然有用戶反饋訪問慢的問題。通過排查個(gè)服務(wù)器的情況,發(fā)現(xiàn)問題的根源在于共享存儲(chǔ)服務(wù)器NFS。在我這個(gè)網(wǎng)絡(luò)環(huán)境里,N個(gè)服務(wù)器通過nfs方式共享一個(gè)服務(wù)器的存儲(chǔ)空間,使得NFS服務(wù)器不堪重負(fù)。察看系統(tǒng)日志,全是nfs服務(wù)超時(shí)之類的報(bào)錯(cuò)。一般情況下,當(dāng)nfs客戶端數(shù)目較小的時(shí)候,NFS性能不會(huì)出現(xiàn)問題;一旦NFS服務(wù)器數(shù)目過多,并且是那種讀寫都比較頻繁的操作,所得到的結(jié)果就不是我們所期待的。下面是某個(gè)集群使用nfs共享的示意圖:
  

這種架構(gòu)除了性能問題而外,還存在單點(diǎn)故障,一旦這個(gè)NFS服務(wù)器發(fā)生故障,所有靠共享提供數(shù)據(jù)的應(yīng)用就不再可用,盡管用rsync方式同步數(shù)據(jù)到另外一個(gè)服務(wù)器上做nfs服務(wù)的備份,但這對(duì)提高整個(gè)系統(tǒng)的性能毫無(wú)幫助;谶@樣一種需求,我們需要對(duì)nfs服務(wù)器進(jìn)行優(yōu)化或采取別的解決方案,然而優(yōu)化并不能對(duì)應(yīng)對(duì)日益增多的客戶端的性能要求,因此唯一的選擇只能是采取別的解決方案了;通過調(diào)研,分布式文件系統(tǒng)是一個(gè)比較合適的選擇。采用分布式文件系統(tǒng)后,服務(wù)器之間的數(shù)據(jù)訪問不再是一對(duì)多的關(guān)系(1個(gè)NFS服務(wù)器,多個(gè)NFS客戶端),而是多對(duì)多的關(guān)系,這樣一來(lái),性能大幅提升毫無(wú)問題。

到目前為止,有數(shù)十種以上的分布式文件系統(tǒng)解決方案可供選擇,如lustre,hadoop,Pnfs等等。我嘗試了PVFS,hadoop,moosefs這三種應(yīng)用,參看了lustre、KFS等諸多技術(shù)實(shí)施方法,最后我選擇了moosefs(以下簡(jiǎn)稱MFS)這種分布式文件系統(tǒng)來(lái)作為我的共享存儲(chǔ)服務(wù)器。為什么要選它呢?我來(lái)說說我的一些看法:
1、  實(shí)施起來(lái)簡(jiǎn)單。MFS的安裝、部署、配置相對(duì)于其他幾種工具來(lái)說,要簡(jiǎn)單和容易得多?纯磍ustre 700多頁(yè)的pdf文檔,讓人頭昏吧。
2、  不停服務(wù)擴(kuò)容。MFS框架做好后,隨時(shí)增加服務(wù)器擴(kuò)充容量;擴(kuò)充和減少容量皆不會(huì)影響現(xiàn)有的服務(wù)。注:hadoop也實(shí)現(xiàn)了這個(gè)功能。
3、  恢復(fù)服務(wù)容易。除了MFS本身具備高可用特性外,手動(dòng)恢復(fù)服務(wù)也是非?旖莸,原因參照第1條。
4、  我在實(shí)驗(yàn)過程中得到作者的幫助,這讓我很是感激。

MFS特性(根據(jù)官方網(wǎng)站翻譯)
★     高可靠性(數(shù)據(jù)能被分成幾個(gè)副本存儲(chǔ)在不同的計(jì)算機(jī)里)
   

★     通過增加計(jì)算機(jī)或增加新的硬盤動(dòng)態(tài)擴(kuò)充可用磁盤空間
★     可以設(shè)置刪除文件的空間回收時(shí)間
[root@mysql-bk serydir]# mfsgettrashtime bind-9.4.0.tar.gz
bind-9.4.0.tar.gz: 600
   文件被刪除10分鐘后(600秒),才真正刪除文件,回收磁盤空間。
★     為文件創(chuàng)建快照

MFS文件系統(tǒng)的組成
1、  元數(shù)據(jù)服務(wù)器。在整個(gè)體系中負(fù)責(zé)管理管理文件系統(tǒng),目前MFS只支持一個(gè)元數(shù)據(jù)服務(wù)器master,這是一個(gè)單點(diǎn)故障,需要一個(gè)性能穩(wěn)定的服務(wù)器來(lái)充當(dāng)。希望今后MFS能支持多個(gè)master服務(wù)器,進(jìn)一步提高系統(tǒng)的可靠性。
2、  數(shù)據(jù)存儲(chǔ)服務(wù)器chunkserver。真正存儲(chǔ)用戶數(shù)據(jù)的服務(wù)器。存儲(chǔ)文件時(shí),首先把文件分成塊,然后這些塊在數(shù)據(jù)服務(wù)器chunkserver之間復(fù)制(復(fù)制份數(shù)可以手工指定,建議設(shè)置副本數(shù)為3)。數(shù)據(jù)服務(wù)器可以是多個(gè),并且數(shù)量越多,可使用的“磁盤空間”越大,可靠性也越高。
3、  客戶端。使用MFS文件系統(tǒng)來(lái)存儲(chǔ)和訪問的主機(jī)稱為MFS的客戶端,成功掛接MFS文件系統(tǒng)以后,就可以像以前使用NFS一樣共享這個(gè)虛擬性的存儲(chǔ)了。

元數(shù)據(jù)服務(wù)器安裝和配置
元數(shù)據(jù)服務(wù)器可以是linux,也可以是unix,你可以根據(jù)自己的使用習(xí)慣選擇操作系統(tǒng),在我的環(huán)境里,我是用freebsd做為MFS元數(shù)據(jù)的運(yùn)行平臺(tái)。GNU源碼,在各種類unix平臺(tái)的安裝都基本一致。

(一)   安裝元數(shù)據(jù)服務(wù)
1、下載GNU源碼 wget
http://www.moosefs.com/files/mfs-1.5.12.tar.gz
2、解包 tar zxvf mfs-1.5.12.tar.gz
3、切換目錄 cd mfs-1.5.12
4、創(chuàng)建用戶 useradd mfs –s /sbin/nologin  
5、配置 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
6、編譯安裝 make ; make install

(二)   配置元數(shù)據(jù)服務(wù)
元數(shù)據(jù)服務(wù)器的配置文件是mfsmaster.cfg,我在安裝MFS時(shí)指定了前綴,因此這個(gè)文件的位置在/usr/local/mfs/etc/mfsmaster.cfg.我們打開這個(gè)配置文件,看看都有哪些內(nèi)容:
  # WORKING_USER = mfs
  # WORKING_GROUP = mfs

  # LOCK_FILE = /var/run/mfs/mfsmaster.pid
  # DATA_PATH = /usr/local/mfs/var/mfs
  # SYSLOG_IDENT = mfsmaster

  # BACK_LOGS = 50

  # REPLICATIONS_DELAY_INIT = 300
  # REPLICATIONS_DELAY_DISCONNECT = 3600

  # MATOCS_LISTEN_HOST = *
  # MATOCS_LISTEN_PORT = 9420

  # MATOCU_LISTEN_HOST = *
  # MATOCU_LISTEN_PORT = 9421

  # CHUNKS_LOOP_TIME = 300
  # CHUNKS_DEL_LIMIT = 100
  # CHUNKS_REP_LIMIT = 15

盡管每行都被注釋掉了,但它們卻是配置文件的默認(rèn)值,要改變這些值,需要取消注釋,然后明確指定其取值。接下來(lái)說明一下其中一些項(xiàng)目的含義。
◆     LOCK_FILE = /var/run/mfs/mfsmaster.pid 文件鎖所在的位置,它的功能是避免啟動(dòng)多次啟動(dòng)同一個(gè)守護(hù)進(jìn)程。由于系統(tǒng)中本來(lái)不存在目錄 /var/run/mfs,因此需要手動(dòng)創(chuàng)建 mkdir /var/run/mfs,然后更改其屬主 chown –R mfs:mfs /var/run/mfs 這樣MFS 服務(wù)就能對(duì)這個(gè)目錄有創(chuàng)建/寫入 mfsmaster.pid 文件的權(quán)限了。
◆     DATA_PATH = /usr/local/mfs/var/mfs 數(shù)據(jù)存放路徑,只元數(shù)據(jù)的存放路徑。那么這些數(shù)據(jù)都包括哪些呢?進(jìn)目錄看看,大致分3種類型的文件:

這些文件也同樣要存儲(chǔ)在其他數(shù)據(jù)存儲(chǔ)服務(wù)器的相關(guān)目錄。
◆     MATOCS_LISTEN_PORT = 9420 MATOCS--master to chunkserver,即元數(shù)據(jù)服務(wù)器使用9420這個(gè)監(jiān)聽端口來(lái)接受數(shù)據(jù)存儲(chǔ)服務(wù)器chunkserver端的連接。
◆     MATOCU_LISTEN_PORT = 9421 元數(shù)據(jù)服務(wù)器在9421端口監(jiān)聽,用以接受客戶端對(duì)MFS進(jìn)行遠(yuǎn)程掛接(客戶端以mfsmount掛接MFS)
◆     其他部分看字面意思都不難理解。還有幾個(gè)與時(shí)間有關(guān)的數(shù)值,其單位是秒。
這個(gè)配置文件,不必做修改就能工作了。

(三)   元數(shù)據(jù)服務(wù)器master啟動(dòng)
元數(shù)據(jù)服務(wù)器可以單獨(dú)啟動(dòng),即使沒有任何數(shù)據(jù)存儲(chǔ)服務(wù)器(chunkserver)也是能正常工作的,因此當(dāng)我們安裝配置完MFS后,即可啟動(dòng)它。執(zhí)行命令 /usr/local/mfs/sbin/mfsmaster start ,如果沒有意外,元數(shù)據(jù)庫(kù)服務(wù)器就應(yīng)該作為一個(gè)守護(hù)進(jìn)程運(yùn)行起來(lái),F(xiàn)在我們可以通過3個(gè)方面來(lái)檢查一下MFS master的運(yùn)行狀況:
1、  檢查進(jìn)程
2、  檢查網(wǎng)絡(luò)狀態(tài)
3、  檢查系統(tǒng)日志
MFS的日志會(huì)直接寫入系統(tǒng)日志。當(dāng)我們?cè)黾訑?shù)據(jù)存儲(chǔ)服務(wù)器(chunkserver)或數(shù)據(jù)存儲(chǔ)服務(wù)器(chunkserver)處故障時(shí),都能在系統(tǒng)日志找到這些記錄。注意,這個(gè)日志跟元數(shù)據(jù)變化日志不是一回事情。

(四)、關(guān)閉元數(shù)據(jù)服務(wù)器
關(guān)閉元數(shù)據(jù)服務(wù)器,務(wù)必使用 /usr/local/mfs/sbin/mfsmaster –s 這種方式,如果直接使用kill殺死進(jìn)程,將導(dǎo)致下次啟動(dòng)時(shí)出現(xiàn)找不到相關(guān)文件,而不能正常啟動(dòng)服務(wù)器。這個(gè)一定要謹(jǐn)慎。當(dāng)然,如果發(fā)生了這個(gè)事情,還是可以通過 mfsmetastore 來(lái)恢復(fù)的。

數(shù)據(jù)存儲(chǔ)chunkserver服務(wù)器的安裝配置
數(shù)據(jù)存儲(chǔ)服務(wù)器chunkserver也是可以運(yùn)行在各種類unix平臺(tái)的,因此不再多說。一個(gè)MFS環(huán)境到底能集群多少服務(wù)器,作者的說法是上PB容量,個(gè)人建議,最好3臺(tái)以上;并且專門用來(lái)做存儲(chǔ),不要把它跟master搞到一個(gè)機(jī)器(理論上沒問題,實(shí)現(xiàn)也是可以的,但這不是一個(gè)好策略)。因?yàn)槊總(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器的安裝和配置都是相同的,所以只需按照一個(gè)服務(wù)器的操作就可以了。

(一)、安裝數(shù)據(jù)存儲(chǔ)服務(wù)器 chunkserver
1、下載GNU源碼 wget
http://www.moosefs.com/files/mfs-1.5.12.tar.gz
2、解包 tar zxvf mfs-1.5.12.tar.gz
3、切換目錄 cd mfs-1.5.12
4、創(chuàng)建用戶 useradd mfs –s /sbin/nologin  
5、配置 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
6、編譯安裝 make ; make install

(二)配置數(shù)據(jù)存儲(chǔ)服務(wù)器chunkserver
數(shù)據(jù)存儲(chǔ)服務(wù)器有2個(gè)配置服務(wù)器需要修改,一個(gè)是主配置文件 mfschunkserver.cfg ,另一個(gè)配置文件是 mfshdd.cfg。每個(gè)服務(wù)器用來(lái)分配給 MFS使用的空間最好是一個(gè)單獨(dú)的硬盤或者一個(gè)raid卷,最低要求是一個(gè)分區(qū)。作者舉的例子是創(chuàng)建一個(gè)大文件,然后掛接在本地,這不好,只能用來(lái)做實(shí)驗(yàn)了。
1、修改配置文件 /usr/local/mfs/etc/mfschunkserver.cfg。下面是修改了的配置文件:
#WORKING_USER = mfs
#WORKING_GROUP = mfs

# DATA_PATH = /usr/local/mfs/var/mfs
# LOCK_FILE = /var/run/mfs/mfschunkserver.pid
# SYSLOG_IDENT = mfschunkserver

# BACK_LOGS = 50

# MASTER_RECONNECTION_DELAY = 30

MASTER_HOST = 192.168.0.19
MASTER_PORT = 9420

# MASTER_TIMEOUT = 60

# CSSERV_LISTEN_HOST = *
# CSSERV_LISTEN_PORT = 9422

# CSSERV_TIMEOUT = 60

# CSTOCS_TIMEOUT = 60

# HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg
這個(gè)配置文件里,沒有注釋符號(hào)“#”就是被修改過的項(xiàng)了,接下來(lái)是里面某些項(xiàng)的含義說明:
◆     MASTER_HOST = 192.168.0.19 元數(shù)據(jù)服務(wù)器的名稱或地址,可以是主機(jī)名,也可以是ip地址,只要數(shù)據(jù)存儲(chǔ)服務(wù)器能訪問到元數(shù)據(jù)服務(wù)器就行。
◆     LOCK_FILE = /var/run/mfs/mfschunkserver.pid 與元數(shù)據(jù)服務(wù)器master的處理完全相同.
◆     CSSERV_LISTEN_PORT = 9422 CSSERV—chunkserver,這個(gè)監(jiān)聽端口用于與其它數(shù)據(jù)存儲(chǔ)服務(wù)器間的連接,通常是數(shù)據(jù)復(fù)制。
◆     HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg 分配給MFS使用的磁盤空間配置文件的位置。
2、修改配置文件/usr/local/mfs/etc/mfshdd.cfg。在我的服務(wù)器上,只有一個(gè)1T的SATA硬盤,分了一個(gè)800G容量的分區(qū)來(lái)做為MFS存儲(chǔ)服務(wù)的組成部分。為了使mfs擁有寫目錄的權(quán)限,需要修改目錄的屬主。我的服務(wù)器的分區(qū)掛接點(diǎn)是 /data , 用 chown –R mfs:mfs /data 把屬主改變。因?yàn)槲业拿總(gè)服務(wù)器只需貢獻(xiàn)一個(gè)分區(qū)做為MFS,因此配置文件只需要如下一行內(nèi)容就可以了:
/data
這個(gè)文件默認(rèn)情況下有好幾行,我們最好把它刪掉,因?yàn)榘闯R?guī)情況用注釋符號(hào)“#”好像不起作用。

(三)啟動(dòng)數(shù)據(jù)存儲(chǔ)服務(wù)器chunkserver
在數(shù)據(jù)存儲(chǔ)服務(wù)器chunkserver執(zhí)行命令 /usr/local/mfs/sbin/mfschunkserver start 啟動(dòng)數(shù)據(jù)存儲(chǔ)守護(hù)進(jìn)程.通過以下幾種方式來(lái)檢查chunkserver的運(yùn)行狀態(tài).
1、  查看進(jìn)程 ps aux | grep mfschunkserver
2、  查看網(wǎng)絡(luò)狀態(tài),正常情況下應(yīng)該看見9422處于監(jiān)聽狀態(tài),如果有其他數(shù)據(jù)存儲(chǔ)服務(wù)器chunkserver在同一個(gè)元數(shù)據(jù)服務(wù)器master管理下運(yùn)行的話,應(yīng)該能看見其他chunkserver跟本機(jī)的連接情況:
3、  查看元數(shù)據(jù)服務(wù)器的系統(tǒng)日志,可以看見新增的數(shù)據(jù)存儲(chǔ)服務(wù)器chunkserver被加入。
tail -f /var/log/messages
Mar 27 14:28:00 mfs-ctrl mfsmaster[29647]: server 3 (192.168.0.71): usedspace: 65827913728 (61 GB), totalspace: 879283101696 (818 GB), usage: 7.49%
  
(四)   關(guān)閉數(shù)據(jù)存儲(chǔ)服務(wù)器
跟元數(shù)據(jù)服務(wù)器master相似,執(zhí)行命令 /usr/local/mfs/sbin/mfschunkserver –s , chunkserver服務(wù)就停下來(lái)了。為了使系統(tǒng)重啟過程能自動(dòng)啟動(dòng)chunkserver 服務(wù),可以通過在/etc/rc.local文件追加行  /usr/local/mfs/sbin/mfschunkserver start 來(lái)達(dá)到這個(gè)目的(master的自動(dòng)重啟處理也可同樣處理)。

MFS客戶端的安裝及配置
我的生產(chǎn)環(huán)境,只有centos和freebsd兩種環(huán)境,因此下面的描述,只有centos及freebsd掛接MFS文件系統(tǒng)的情形,其他類型的unix系統(tǒng),待日后嘗試。對(duì)比前面的操作過程,客戶端掛接后使用MFS集群文件系統(tǒng)才是最費(fèi)時(shí)的事情。

一、centos作為MFS的客戶端。
(一)   安裝MFS客戶端
◆Mfsmount需要依賴FUSE,因此需要先安裝好fuse,這里我選用 fuse-2.7.4.tar.gz。
1、解包 tar zxvf fuse-2.7.4.tar.gz
2、切換目錄 cd fuse-2.7.4.
3、配置  ./configure
4、編譯安裝  make;make install
如果系統(tǒng)已經(jīng)安裝了fuse,則跳過這個(gè)步驟。
◆安裝MFS客戶端程序
1、修改環(huán)境變量文件/etc/profile ,追加下面的行,然后再執(zhí)行命令source /etc/profile使修改生效。
export KG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
如果不執(zhí)行這個(gè)操作,在后面安裝MFS的過程中,執(zhí)行命令
./configure --enable-mfsmount時(shí)可能出現(xiàn)"checking for FUSE... no  configure: error: mfsmount build was forced, but fuse development package is not installed"這樣的錯(cuò)誤,而不能正確安裝MFS客戶端程序。
2、解包 tar zxvf mfs-1.5.12.tar.gz
3、切換目錄 cd mfs-1.5.12
4、創(chuàng)建用戶 useradd mfs –s /sbin/nologin  
5、配置 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
6、編譯安裝 make ; make install
◆檢查MFS客戶端安裝的結(jié)果。通過查看目錄/usr/local/mfs/bin目錄的文件,應(yīng)該發(fā)現(xiàn)如下文件:
(二)掛接和使用MFS文件系統(tǒng)
1、創(chuàng)建掛接點(diǎn) mkdir /mnt/mfs
2、掛接MFS /usr/local/mfs/bin/mfsmount –h 192.168.0.19 .注意,所有的MFS都是掛接同一個(gè)元數(shù)據(jù)服務(wù)器master,而不是其他數(shù)據(jù)存儲(chǔ)服務(wù)器chunkserver !
3、通過查看磁盤使用情況來(lái)檢查是否被掛接成功。
[root@mysql-bk ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1              19G  2.7G   16G  15% /
/dev/hda7              51G  180M   48G   1% /backup
/dev/hdc1             145G  6.4G  131G   5% /data
/dev/hda5              19G  173M   18G   1% /home
/dev/hda3              24G  217M   23G   1% /var
/dev/hda2              29G  1.6G   26G   6% /usr
tmpfs                 1.7G     0  1.7G   0% /dev/shm
MFS                   2.5T  256G  2.2T  11% /mnt/mfs
4、  進(jìn)入目錄/mnt/mfs,上傳一個(gè)文件,看是否正常?接著在手動(dòng)用touch 創(chuàng)建一個(gè)文件,然后再刪除它們,看是否可以正常操作。
5、  設(shè)置文件副本數(shù)量,建議以3份為佳。
設(shè)置副本數(shù)目
mfsrsetgoal 3 /mnt/mfs
查看設(shè)置是否如我所愿
mfsgetgoal /mnt/mfs/serydir/bind-9.4.0.tar.gz
/mnt/mfs/serydir/bind-9.4.0.tar.gz: 3
6、設(shè)置刪除文件后空間回收時(shí)間。默認(rèn)的回收時(shí)間為7天(604800秒)
修改回收時(shí)間為10分鐘
mfsrsettrashtime 600 /mnt/mfs
6、  把掛接命令追加到文件/etc/rc.local,可實(shí)現(xiàn)開機(jī)自動(dòng)啟動(dòng)掛接MFS.

二、freebsd作為MFS客戶端
Freebsd安裝和掛接MFS集群文件系統(tǒng),比centos操作起來(lái)要復(fù)雜一些.mfsmount需要依賴fuse,并且需要在內(nèi)核中加載fusefs模塊。

(一)安裝fuse
1、解包 tar zxvf fuse-2.7.4.tar.gz
2、切換目錄 cd fuse-2.7.4.
3、配置  ./configure
4、編譯安裝  make;make install
如果系統(tǒng)已經(jīng)安裝了fuse,則跳過這個(gè)步驟。

(二) 安裝內(nèi)核模塊fusefs-kmod
1、執(zhí)行系統(tǒng)命令sysinstall
   
2、光標(biāo)選定Configure,進(jìn)入下一步。
   
3、選擇“Packages”,進(jìn)入下一步。
   
4、選擇“FTP”作為安裝源,進(jìn)入下一步。
   
5、選擇“kld”后,回車執(zhí)行默認(rèn)動(dòng)作“[OK]”,進(jìn)入下一步選軟件包。
   
6、選擇“fusefs-kmod-0.3.9.p1_2”,按[OK]返回到第“4”步出現(xiàn)的那個(gè)操作界面。這時(shí)我們用“Tab”鍵選中底部右邊的“Install”,完成安裝后,會(huì)出現(xiàn)一個(gè)安裝成功的提示,然后瞬間消失。
◆ 加載fusefs模塊 kldload /usr/local/modules/fuse.ko .如果加載不成功,請(qǐng)檢查是否存在模塊文件fuse.ko.
◆ 檢查fusefs模塊是否被加載到內(nèi)核:
   
如果沒有類似上面館的輸出,就表明fusefs模塊沒有加載成功。

(三)安裝包 pkg-config:
1、cd /usr/ports/devel/pkg-config
2、make install clean

(四)安裝MFS客戶端
1、解包 tar zxvf mfs-1.5.12.tar.gz
2、切換目錄 cd mfs-1.5.12
3、創(chuàng)建用戶 pw useradd mfs –s /sbin/nologin  
4、配置 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
5、編譯安裝 make ; make install
◆檢查MFS客戶端安裝的結(jié)果。通過查看目錄/usr/local/mfs/bin目錄的文件,應(yīng)該發(fā)現(xiàn)如下文件:

(五)掛接和使用MFS文件系統(tǒng)
1、創(chuàng)建掛接點(diǎn) mkdir /mnt/mfs
2、掛接MFS /usr/local/mfs/bin/mfsmount –h 192.168.0.19 .注意,所有的MFS都是掛接同一個(gè)元數(shù)據(jù)服務(wù)器master,而不是其他數(shù)據(jù)存儲(chǔ)服務(wù)器chunkserver !
3、通過查看磁盤使用情況來(lái)檢查是否被掛接成功。
[root@mysql-bk ~]# df -h
Filesystem                      Size    Used   Avail Capacity  Mounted on
/dev/ad4s1a                     26G    570M     24G     2%    /
devfs                          1.0K    1.0K      0B   100%    /dev
/dev/ad4s1g                     356G    157G    170G    48%    /data
/dev/ad4s1f                     17G    215M     15G     1%    /home
/dev/ad4s1d                     28G    1.1G     25G     4%    /usr
/dev/ad4s1e                     24G    362M     21G     2%    /var
/dev/fuse0                      2.5T    256G     2.2T    11%  /mnt/mfs
4、  進(jìn)入目錄/mnt/mfs,我們可以看見前面步驟用centos 上傳到分布式文件系統(tǒng)MFS里的文件。
5、  設(shè)置文件副本數(shù)量,建議以3份為佳。
設(shè)置副本數(shù)目
mfsrsetgoal 3 /mnt/mfs
查看設(shè)置是否如我所愿
mfsgetgoal /mnt/mfs/serydir/bind-9.4.0.tar.gz
/mnt/mfs/serydir/bind-9.4.0.tar.gz: 3
6、設(shè)置刪除文件后空間回收時(shí)間。默認(rèn)的回收時(shí)間為7天(604800秒)
修改回收時(shí)間為10分鐘
mfsrsettrashtime 600 /mnt/mfs

(六)自動(dòng)掛接MFS
創(chuàng)建文件/etc/rc.local,加入如下內(nèi)容:.
#!/bin/sh
/sbin/kldload /usr/local/modules/fuse.ko
/usr/local/mfs/bin/mfsmount -h 192.168.0.19
就能實(shí)現(xiàn)開機(jī)或重啟系統(tǒng)自動(dòng)掛接MFS文件系統(tǒng)。

破壞性測(cè)試
一、測(cè)試數(shù)據(jù)存儲(chǔ)服務(wù)器
我用5個(gè)服務(wù)器組成了MFS的存儲(chǔ)平臺(tái),其中一個(gè)是master,其余四個(gè)服務(wù)器是chunkserver.先停止一個(gè)chunkserver服務(wù),然后在某個(gè)MFS客戶端往掛接點(diǎn)的目錄(/mnt/mfs)里復(fù)制數(shù)據(jù)或者創(chuàng)建目錄/文件、或者讀取文件、或者刪除文件,觀察操作是否能正常進(jìn)行。再停止第2個(gè)chunkserver,重復(fù)執(zhí)行上述操作;然后再停止第3個(gè)服務(wù)器,執(zhí)行類似的文件讀些操作。減少chunkserver試驗(yàn)后,我們?cè)賮?lái)逐步增加chunkserver服務(wù)器,然后對(duì)MFS執(zhí)行讀寫等相關(guān)訪問操作,檢驗(yàn)其正確性。

通過增減chunkserver服務(wù)器的測(cè)試,服務(wù)的可靠性確實(shí)不錯(cuò),哪怕只剩下最后一個(gè)服務(wù)器,也能正常提供存儲(chǔ)訪問服務(wù)。

二、測(cè)試元數(shù)據(jù)服務(wù)器
元數(shù)據(jù)服務(wù)器最重要的文件在目錄 /usr/local/mfs/var/mfs ,MFS每一個(gè)數(shù)據(jù)的變化,都被記錄在這個(gè)目錄的文件里,我們可以通過備份這個(gè)目錄的全部文件,來(lái)保障整個(gè)MFS文件系統(tǒng)的可靠性.在正常情況下,元數(shù)據(jù)服務(wù)器的改變?nèi)罩疚募?changelogs) 實(shí)時(shí)地、自動(dòng)地復(fù)制到所有的數(shù)據(jù)存儲(chǔ)服務(wù)器,并且以changelog_csback.*.mfs的形式命名。換句換說,即使元數(shù)據(jù)服務(wù)器報(bào)廢了,也能再部署一個(gè)元數(shù)據(jù)服務(wù)器,然后從數(shù)據(jù)存儲(chǔ)服務(wù)器chunkserver取得恢復(fù)所需要的文件。

(一)本地測(cè)試
1、停止元數(shù)據(jù)服務(wù) /usr/local/mfs/sbin/mfsmaster
2、備份元數(shù)據(jù)服務(wù)器數(shù)據(jù) cd /usr/local/mfs/var; tar czvf mfs.tgz mfs
3、刪除目錄 mv mfs mfs.bk 或 rm –rf mfs
4、啟動(dòng)元數(shù)據(jù)服務(wù) ../sbin/mfsmaster start 啟動(dòng)失敗,提示不能初始化數(shù)據(jù)。
5、解包 tar zxvf mfs.tgz
6、執(zhí)行恢復(fù)操作 .. /sbin/mfsmetarestore –a
7、啟動(dòng)元數(shù)據(jù)服務(wù) ../sbin/mfsmaster start
8、在MFS客戶端檢查MFS存儲(chǔ)的數(shù)據(jù)是否跟恢復(fù)前一致?能否正常訪問等等。

(二)   遷移測(cè)試
1、  安裝新的MFS元數(shù)據(jù)服務(wù)器。
2、  復(fù)制元數(shù)據(jù)服務(wù)器數(shù)據(jù)目錄(/usr/local/mfs/var/mfs)到這個(gè)新的元數(shù)據(jù)服務(wù)器。
3、  停止原先的那個(gè)元數(shù)據(jù)服務(wù)器(關(guān)閉計(jì)算機(jī)或停止它的網(wǎng)絡(luò)服務(wù))。
4、  更改新的元數(shù)據(jù)服務(wù)器的ip為原來(lái)那個(gè)服務(wù)器的ip.
5、  啟動(dòng)新的元數(shù)據(jù)服務(wù) /usr/local/mfs/sbin/mfsmaster start
6、  在MFS客戶端檢查MFS存儲(chǔ)的數(shù)據(jù)是否跟恢復(fù)前一致?能否正常訪問等等。

感謝Pawel Kalinowski (mfs作者)提供幫助!

                                              2009/3/30


本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u1/40131/showart_1895203.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP