成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關(guān)注微信公眾號

利用FAM和IMON在Linux下實現(xiàn)數(shù)據(jù)復(fù)制
2007-03-08   中國IT實驗室

在本文中我們將要討論的是,如何拋開昂貴的SAN(存貯區(qū)域網(wǎng)絡(luò)Storage Area Network,如全球文件系統(tǒng)GFS)或網(wǎng)絡(luò)塊設(shè)備在Linux下實現(xiàn)數(shù)據(jù)復(fù)制。我們在復(fù)制系統(tǒng)中采用了FAM(文件變更監(jiān)視模塊)和IMON(信息節(jié)點監(jiān)視模塊),這兩個系統(tǒng)都是SGI當(dāng)初為IRIX開發(fā)的。

SGI的員工真是非常的Cool,是他們將這兩個程序移植到了Linux上并且公開了源代碼。當(dāng)花費已不再是問題時,可以采用基于GFS(全球文件系統(tǒng))和SAN實現(xiàn)實時數(shù)據(jù)鏡像;否則,數(shù)據(jù)共享及其它許多的選擇就不可或缺了。

有幾個方法可供選擇。在本文中我們將會對這些方法進行討論,你將會看到它們各自的優(yōu)缺點。

為何要用復(fù)制替代共享?

難道假設(shè)文件服務(wù)器不向客戶端提供共享數(shù)據(jù)嗎?是的,假設(shè)的工作環(huán)境確實是這樣的。如果我們正在使用的文件服務(wù)器是通過NFS或SMB之類軟件的共享文件的,系統(tǒng)中就會存在一個”瓶頸”和”引起系統(tǒng)故障的關(guān)鍵點”。若是在GFS之上通過共享的存貯設(shè)備(SAN或多通道的SCSI)共享數(shù)據(jù),這種配置不但代價昂貴,并且這種存貯盒還會成為”引起系統(tǒng)故障的關(guān)鍵點”。也可以用NBD(網(wǎng)絡(luò)塊設(shè)備)建立一個網(wǎng)絡(luò)鏡像,但這不是一種常用的方式,NBD本身有些缺限,它非常難于設(shè)置管理,如果你只是要在少數(shù)幾個WEB服務(wù)器間復(fù)制數(shù)據(jù),用NBD只會給你帶來更多的麻煩。

盡量簡單

好的,下面我們來試著復(fù)制。

方案一:

兩臺WEB服務(wù)器中的一臺為主服務(wù)器,另外一臺是備份服務(wù)器。要求備份服務(wù)器上的文件要與主服務(wù)器上的保持相同。這很簡單吧。

但是如何使其自動工作呢?用戶每天得多次FTP到主服務(wù)器上復(fù)制數(shù)據(jù)。但當(dāng)主服務(wù)器發(fā)生錯誤、由備份服務(wù)器接管系統(tǒng)時會發(fā)生什么呢?由于這種備份操作不是實時的,備份服務(wù)器中的數(shù)據(jù)肯定與主服務(wù)器不一致,這時管理員會非常惱怒。你當(dāng)然可以運行一個計時守護程序,每隔5秒運行一次”rsync –av –delete source destination”,但這樣做會增加機器的負(fù)荷,影響系統(tǒng)的運轉(zhuǎn)。

方案二:

有一臺FTP服務(wù)器用來保存更新web數(shù)據(jù),而六個web服務(wù)器使用dns輪轉(zhuǎn)方式實現(xiàn)負(fù)載平衡,這樣可以保證每臺服務(wù)器上的數(shù)據(jù)都是相同的。這樣我們就可以避免使用NFS,但是這樣的解決方案并不能令人滿意。

那么最好的解決方法是什么呢?應(yīng)該是”只有在數(shù)據(jù)發(fā)生變化時才將文件復(fù)制到各個web服務(wù)器上”,如果文件沒有發(fā)生變化就什么也不作。這也就是我們使用”FAM”來做的工作。

使之智能工作

那么,我們怎么知道文件發(fā)了變化呢?我想M$ 的Windows程序開發(fā)員會這么說:我們可以每隔幾秒就搜尋目標(biāo)目錄一次,將其中的文件與緩存中保存的文件做比較,看文件時間戳及大小是否發(fā)生了變化。對,沒錯,是這樣。

這是種輪詢的工作方式,它的問題在于查找并比較文件的時間戳和大小,它的代價是昂貴的。你能想象在WEB服務(wù)器上每隔5秒就運行一次”ls –lR /somedirectory”造成的后果嗎?

最好的方法應(yīng)該是:文件被改動的時候能夠有人告訴我們,這樣我們可以采取相應(yīng)的動作。這正是”IMON”要做的工作。

什么是FAM

FAM就是文件變更監(jiān)視模塊,它向應(yīng)用程序提供了一組API,當(dāng)指定的文件或目錄發(fā)生變化時,由其向應(yīng)用程序發(fā)出通知。FAM由兩部分組成:后臺守護程序FAM,它負(fù)責(zé)接收請求和發(fā)送通知;庫文件LIBFAM,客戶端應(yīng)用程序用它來與FAM通信。若遠(yuǎn)程主機打開了受監(jiān)視的文件,本地的FAM會與遠(yuǎn)程主機的FAM聯(lián)系,將請求發(fā)送給遠(yuǎn)程FAM。

FAM也可以在某個文件開始或停止運行時通知它的客戶端。(比如:在IRIX交互桌面中,如果一個程序正在運行那么它的圖標(biāo)就會不會閃爍)。

FAM是由Bruce Karsh在1989年為IRIX編寫的,并由Bob Miller在1995年重寫。這個公開源代碼的FAM版本構(gòu)建并運行于Linux和IRIX之上,與IRIX6.5.8中的FAM相同。

什么是IMON?

IMON就是信息節(jié)點監(jiān)視模塊,它是內(nèi)核的一部分,當(dāng)文件有變動時由它通知FAM。由應(yīng)用程序告訴FAM對某個目錄或文件進行監(jiān)視,F(xiàn)AM再將這個請求傳送給IMON。當(dāng)被監(jiān)視的這些文件有變化時,內(nèi)核通知IMON,再由IMON通知FAM,最后由FAM通知負(fù)責(zé)監(jiān)視這個文件的應(yīng)用程序。

IMON是由Wiltse Carpenter在1989年為IRIX的內(nèi)核編寫的,再由Roger Chickering移植到Linux下。Linux下的IMON內(nèi)核補丁與IRIX下的IMON在許多方面都很類似,只是與內(nèi)核文件系統(tǒng)的掛接代碼不同。

安裝FAM和IMON

可從SGI的網(wǎng)站下載FAM和IMON,具體詳情請查看后面的資源列表。IMON是一個內(nèi)核補丁,內(nèi)核通過它監(jiān)視內(nèi)部信息節(jié)點。安裝補丁的方法如下:在內(nèi)核的源文件目錄下運行補丁程序。

cd/usr/src/linux
pathch –pi<pathchfile。

熱詞搜索:

上一篇:LINUX常用的系統(tǒng)狀態(tài)查詢命令
下一篇:利用FAM和IMON在Linux下實現(xiàn)數(shù)據(jù)復(fù)制 二

分享到: 收藏
主站蜘蛛池模板: 天天操免费视频| 电子元器件基础知识| 好心人| 白血公主| 打开免费观看视频在线观看高清 | 沦陷1937免费观看24集电视连续剧| 爱奈| 张达| 江苏卫视节目预告| 敬天法祖| 日韩在线日韩| 李慧慧| 电影《七天》| 我们的祖国是花园简谱| 你让我感动| 庞勇| 山西电视台直播在线观看| 每周食品安全排查治理报告表| 黑马配白马成功的视频| 刘海东| 韩义生| 刘洋演员| 就爱小姐姐| 鬼迷心窍1994| 金太阳教育试卷答案网| 安渡| 风间由美风间ゆみav| 黑之教室| 折叠画| 热天午后| 四年级上册第七课的生字拼音| 我们爱你| 《遇见你之后》电影在线观看| 不要抛弃我| 男插女b视频| 电影《uhaw》完整版| 神迹电影| 打开免费观看网站| 成龙电影全集大全| 社会主义道德原则| 红海行动2|