色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 用開源軟件建立一個(gè)經(jīng)濟(jì)型SAN

          用開源軟件建立一個(gè)經(jīng)濟(jì)型SAN

          作者: 時(shí)間:2017-06-12 來源:網(wǎng)絡(luò) 收藏
          Simon Brock和Ian Wrigley使用現(xiàn)成的開源軟件建立了一個(gè)使用iSCSI設(shè)備的。

          近年來,存儲(chǔ)區(qū)域網(wǎng)絡(luò)或受到許多人關(guān)注,但只有極少數(shù)人知道它究竟是什么,為什么想要建立一個(gè),一個(gè)最主要的原因是當(dāng)你坐下來仔細(xì)看一看它的造價(jià)時(shí),事情就明白了,本文會(huì)一一為你解答什么是SAN,你為什么想要建立一個(gè),以及如何使用開源軟件建立一個(gè)經(jīng)濟(jì)型的SAN。

          根據(jù)你的IT背景不同,你可能會(huì)認(rèn)為SAN是一個(gè)偉大的重新也可能會(huì)認(rèn)為是一個(gè)很老的想法,但我們跳過歷史因素認(rèn)為SAN是一個(gè)新的創(chuàng)意,在普通PC中,任何東西都是安裝在一個(gè)盒子(機(jī)箱)中的:如CPU,內(nèi)存,硬盤。當(dāng)你向其中添加硬盤時(shí),可能會(huì)很困難,因此有人想出了在盒子(機(jī)箱)外面再放一個(gè)盒子來安放新添加的設(shè)備,硬盤盒子可能有它自身的一些功能,如通過某種類型的RAID控制器基于條帶,鏡像(或二者同時(shí))實(shí)現(xiàn)彈性存儲(chǔ),如何將這個(gè)硬盤盒子附加到包括處理器的盒子就顯得非常重要了。

          SCSI就是一種可以實(shí)現(xiàn)這個(gè)任務(wù)的技術(shù),它在短距離環(huán)境下工作得很好,但在長(zhǎng)距離(長(zhǎng)線纜)環(huán)境下就不行了,就是在這種情況下,光纖通道出現(xiàn)了,正好彌補(bǔ)SCSI技術(shù)的不足,說簡(jiǎn)單點(diǎn)就是:光纖通道使用的是光纖維發(fā)送SCSI命令而不是傳統(tǒng)的電信號(hào)電纜,光纖通道也實(shí)現(xiàn)了類似以太網(wǎng)交換的交換技術(shù),它允許多臺(tái)PC同時(shí)與同一個(gè)硬盤盒子進(jìn)行會(huì)話,或一臺(tái)PC同時(shí)與多個(gè)硬盤盒子會(huì)話,此外,這些機(jī)器有多種途徑從硬盤盒子獲取數(shù)據(jù)(訪問路徑冗余),這就是SAN最基本的功能,SAN是通過光纖網(wǎng)絡(luò)連接到硬盤盒子的機(jī)器集合,它的速度非???,最初的第一代光纖通道就達(dá)到了1Gb/sec,目前已經(jīng)出現(xiàn)了10Gb/sec的光纖通道產(chǎn)品。

          乍一看,SAN并不是如傳說中那么優(yōu)秀,如果你的數(shù)據(jù)非常多,并且需要從多個(gè)不同的地方訪問(實(shí)現(xiàn)冗余),搭建一個(gè)SAN拓?fù)涫墙鉀Q你的需求的一種辦法,你必須要為此進(jìn)行存儲(chǔ)投資預(yù)算,而不是簡(jiǎn)單地分布式部署多臺(tái)機(jī)器。

          最近,部分廠家指出1Gb/sec產(chǎn)品會(huì)大幅降價(jià),不過這種產(chǎn)品不是采用的的光纖通道技術(shù),而是利用了1000Base T以太網(wǎng)技術(shù),使用傳統(tǒng)的銅纜作為傳輸介質(zhì),但為了讓SCSI命令能在以太網(wǎng)上傳輸,需要尋找一種新的方法,以便SAN能在1000Base T上正常運(yùn)轉(zhuǎn),于是iSCSI誕生了,它將所有SCSI命令都封裝在ip包中進(jìn)行傳輸,也就是說,如果你手上有一臺(tái)機(jī)器并有一個(gè)支持iSCSI的硬盤盒子,那你現(xiàn)在就可以利用現(xiàn)有的以太網(wǎng)獲得一個(gè)SAN,它允許你利用以太網(wǎng)和ip提供的所有特性對(duì)路線進(jìn)行排序,并輸出可選的路徑,不用考慮光纖通道是如何完成轉(zhuǎn)換的,這樣iSCSI SAN就誕生了,目前大量廠家都開始支持iSCSI SAN,本文剩下的部分,我將向你介紹如何使用開源軟件(大部分開源)搭建一個(gè)可靠的,有彈性的iSCSI SAN。

          Initiator和target

          在繼續(xù)之前,我們先了解幾個(gè)iSCSI術(shù)語,在iSCSI下,分兩部分:initiator(需要數(shù)據(jù)的機(jī)器)和target(提供數(shù)據(jù)的機(jī)器),在基于光纖通道的SAN下,initiator是一臺(tái)計(jì)算機(jī),target是一個(gè)RAID陣列,但在我們的例子中,我們將要建立一個(gè)由兩臺(tái)PC組成的主--被動(dòng)服務(wù)器對(duì)的iSCSI target,其中一臺(tái)機(jī)器擔(dān)任target處理來自initiator的iSCSI請(qǐng)求,然后將其磁盤鏡像到另一臺(tái)作為后備主機(jī)的機(jī)器是,如果活動(dòng)主機(jī)失效,后備主機(jī)將接管并提供iSCSI服務(wù),當(dāng)主服務(wù)器修好后,重新同步后備機(jī)器的磁盤,并重新取回iSCSI服務(wù)權(quán),這個(gè)任務(wù)非常艱巨,寫本文時(shí)我都沒有信心它是否能正常工作,可能會(huì)正常運(yùn)轉(zhuǎn),我們?cè)嚹恳源桑?

          為了實(shí)現(xiàn)這個(gè)計(jì)劃,我們將使用兩臺(tái)一樣的Dell 1U機(jī)架式服務(wù)器,用兩個(gè)千兆以太網(wǎng)端口交叉連接,在這兩臺(tái)服務(wù)器上我們將安裝一組開源軟件,首先,我們需要安裝一個(gè)操作系統(tǒng),我們選擇使用Linux,千萬不要覺得驚奇,在各種發(fā)行版中我們選擇了CentOS 4,它是基于Red Hat Enterprise Linux(RHEL)的社區(qū)企業(yè)級(jí)Linux發(fā)行版,如果你不想支付Red Hat的年度升級(jí)服務(wù)費(fèi)用,但又想使用優(yōu)秀的RHEL,那么CentOS就是你的首選,CentOS只是獲取RHEL的源碼,重新編譯,重新進(jìn)行打包并發(fā)布,因此你可以免費(fèi)獲取來自RHEL的優(yōu)秀軟件包,即使你不能獲取Red Hat的升級(jí)服務(wù),你也能進(jìn)行升級(jí)。

          最近,CentOS已經(jīng)開始吸收額外的軟件進(jìn)入它自己的發(fā)行版,我們將使用到其中的兩個(gè),第一個(gè)是Heartbeat,它來自Linux高可用項(xiàng)目(http://www.linux-ha.org/),使用它我們可以實(shí)現(xiàn)主--被動(dòng)服務(wù)器故障轉(zhuǎn)移,正如它的名字暗示的那樣,Heartbeat允許一組PC相互監(jiān)視對(duì)方的活動(dòng)(通過心跳信號(hào)),檢測(cè)到‘死亡’信號(hào)就接管該節(jié)點(diǎn)的服務(wù),第二個(gè)軟件包是DRBD,它允許在兩臺(tái)機(jī)器之間共享一個(gè)塊設(shè)備(通常是一個(gè)磁盤分區(qū)),使用該設(shè)備的機(jī)器就是主服務(wù)器,它對(duì)設(shè)備產(chǎn)生的任何更新都會(huì)傳輸給后備服務(wù)器,如果主服務(wù)器失效,后備服務(wù)器就成為主服務(wù)器,當(dāng)失效的服務(wù)器修好后,重新同步當(dāng)前的主服務(wù)器,然后接管資源提供服務(wù),后備服務(wù)器重新成為后備。

          在CentOS上安裝這兩個(gè)軟件非常簡(jiǎn)單,輸入命令‘yum groupinstall drbd-heartbeat’,然后將drbd安裝為內(nèi)核模塊,用‘uname -r’獲取操作系統(tǒng)的版本,在我們的系統(tǒng)上輸出內(nèi)容是‘2.6.9-22.0.1.ELsmp’,因此要將drbd安裝為內(nèi)核模塊,只需要輸入‘yum install kernel-module-drbd-2.6.9-22.0.1.ELsmp’。

          剩下的就是安裝iSCSI target軟件本身了,在互聯(lián)網(wǎng)上一搜會(huì)搜到一大把,但很多都是不能用的,我們選擇了最近才創(chuàng)建的項(xiàng)目,叫做iSCSI Enterprise Target(http://iscsitarget.sourceforge.net/),但從其網(wǎng)站上的消息指出它不能在我們的CentOS 4上運(yùn)行,因?yàn)橹辽傩枰?.6.13或更高的內(nèi)核支持(我們的內(nèi)核是2.6.9),然而,這是由Red Hat提供的內(nèi)核,多少都經(jīng)過特殊修改,Red Hat所有的軟件包都傾向于從基層開始(這里是2.6.9),然后不停地打補(bǔ)丁,因此在2.6.9和以后的內(nèi)核之間有差別,但已經(jīng)被集成到Red Hat的內(nèi)核中去了,在基于Wiki的文檔上已經(jīng)有如何在Red Hat上安裝的記錄了,按照這些命令在這兩臺(tái)機(jī)器上安裝好target軟件。

          本文引用地址:http://cafeforensic.com/article/201706/354623.htm

          配置iSCSI

          讓我們從一個(gè)簡(jiǎn)單的情景開始,我們?cè)谝慌_(tái)只有一塊硬盤的機(jī)器,通過iSCSI將其發(fā)布出去,所有配置都放在一個(gè)文件中,/etc/ietd.conf,編輯這個(gè)文件,包括下面三行內(nèi)容:

          IncomingUser joe secretsecret

          這一行設(shè)置只允許一個(gè)用戶訪問(我們使用了12個(gè)字母的密碼secretsecret,它在Windows下也能工作),下一行是:

          Target iqn.2005-11.uk.co.widearea:storage2.diskc

          這一行安裝常規(guī)iSCSI規(guī)范命名了一個(gè)target,它由年-月,后面跟一個(gè)反向的域名和主機(jī)標(biāo)識(shí)符組成,最后一行必須縮進(jìn):

          Lun 0 Path=/dev/sdb,Type=fileio

          這一行指出我們將要使用SCSI磁盤/dev/sdb作為iSCSI設(shè)備,然后我們?cè)诹硪慌_(tái)機(jī)器上做類似的事情。

          現(xiàn)在我們需要一個(gè)initiator,為了證明能跨平臺(tái)運(yùn)行,我們選擇了Microsoft iSCSI initiator,boxout顯示了它如何與iSCSI Enterprise Target一起工作,在我們的例子中,我們從每個(gè)機(jī)器上加載了在Windows機(jī)器上的iSCSI磁盤,我們將它們?cè)O(shè)為動(dòng)態(tài)磁盤并加入鏡像,在格式化和同步后,這樣我們就在Windows機(jī)器上具有一個(gè)彈性的鏡像,它是通過在Linux盒子上建立IP SAN實(shí)現(xiàn)的,如果其中一臺(tái)機(jī)器消失了,鏡像會(huì)中斷,但Windows會(huì)繼續(xù)向其他機(jī)器更新,當(dāng)其他機(jī)器返回時(shí),鏡像可能已經(jīng)修復(fù),Windows將會(huì)進(jìn)行磁盤同步,然而,最大的問題是Microsoft還不支持使用iSCSI作為動(dòng)態(tài)磁盤,因此我們必須另覓它法。

          首先我們要做的是要讓DRBD運(yùn)行起來,如果你參閱了預(yù)安裝的/etc/drbd.conf文件,這會(huì)非常簡(jiǎn)單,需要做的是從這個(gè)文件中找到第一個(gè)有兩個(gè)“on”標(biāo)志的資源小節(jié),它定義了如何將磁盤塊設(shè)備整合到一起,需要提供機(jī)器名,ip地址和磁盤分區(qū),然后將這個(gè)文件拷貝到兩臺(tái)機(jī)器上,運(yùn)行/etc/init.d/drbd start,所有都會(huì)工作起來,文件/proc/drbd顯示了探測(cè)到的東西和兩臺(tái)機(jī)器上的輔助、輔助狀態(tài)的磁盤,當(dāng)它正常工作起來后,其中一臺(tái)機(jī)器就成為主服務(wù)器,另一臺(tái)就成為后備機(jī)器,然而,最初會(huì)顯示狀態(tài)不一致,不允許你將某一臺(tái)機(jī)器設(shè)為主服務(wù)器,第一次設(shè)備DRBD設(shè)備時(shí),你需要告訴哪一臺(tái)是主服務(wù)器,然后你才能在其上運(yùn)行‘drbdadm’命令完成主服務(wù)器的設(shè)置,然后再看/proc/drbd時(shí)就會(huì)發(fā)現(xiàn)正在做同步操作。

          現(xiàn)在DRBD設(shè)備已經(jīng)運(yùn)行起來了,需要修改/etc/ietd.conf,要將新設(shè)備/dev/drbd0包括進(jìn)來,也就是前面談到的/dev/sdb,然后啟動(dòng)iSCSI target,并在另一臺(tái)機(jī)器上掛載。

          如果一切工作正常,開始下一步工作,下一階段就是安裝Heartbeat軟件,我們需要修改三個(gè)文件,/etc/ha.d目錄下的Readme文件會(huì)告訴你在哪里去找例子,首先需要安裝ha.cf文件,每臺(tái)機(jī)器上都應(yīng)該不一樣,在這個(gè)文件中,我們需要添加‘node’行指出這兩個(gè)節(jié)點(diǎn)的名字,并且還要一行‘ucast’指出其他機(jī)器的地址,然后我們需要安裝authkeys文件,在這兩臺(tái)機(jī)器上這個(gè)文件應(yīng)該一樣,最后我們需要在這兩臺(tái)機(jī)器上安裝haresources文件,它的內(nèi)容如下:

          machine1 10.0.0.46 drbddisk::r0 iscsi-target

          這里的machine1是在ha.cf中定義的主服務(wù)器名,ip地址是對(duì)外提供服務(wù)的地址,它與普通的ip地址有點(diǎn)不一樣,最后兩項(xiàng)告訴Heartbeat軟件使用drbd磁盤r0,并啟動(dòng)iscsi-target服務(wù)。

          啟動(dòng)好Heartbeat和iscsi-target服務(wù)后,從Windows機(jī)器掛載新的卷,并格式化,拷貝一些文件看是否能正常工作,接下來干一件齷齪的事情,拷貝一個(gè)非常大的文件,然后將主服務(wù)器上的Heartbeat關(guān)閉,這時(shí)拷貝過程肯定會(huì)暫停,但當(dāng)Windows重新發(fā)現(xiàn)ip地址后,又會(huì)恢復(fù)繼續(xù)拷貝。

          然后我們干點(diǎn)更具破壞性的操作,拔下主服務(wù)器的電源線,看它是否還會(huì)繼續(xù)工作,正如預(yù)料之中的,Heartbeat會(huì)從主服務(wù)器將資源轉(zhuǎn)移到后備服務(wù)器,Windows initiator看上去好像暫停了一下,但馬上接著又繼續(xù)拷貝直至結(jié)束,我不太相信在這種破壞環(huán)境下它還能工作得很好,于是我用MD5校驗(yàn)工具校驗(yàn)了放在iSCSI驅(qū)動(dòng)器上的文件,結(jié)果報(bào)告與源文件的校驗(yàn)值一致,意味著它的確工作得很好,所有的數(shù)據(jù)塊都被正確地傳輸過去了。

          最后關(guān)于iSCSI target軟件要注意的是它在Linux上的可用性:它允許你導(dǎo)出塊設(shè)備,前面我們已經(jīng)看到,包括raw磁盤,磁盤上的分區(qū),仿真塊設(shè)備等。在這個(gè)例子中,我們使用DRBD仿真塊設(shè)備,當(dāng)我們?cè)?jīng)從系統(tǒng)中導(dǎo)出過軟RAID設(shè)備,在寫本文的時(shí)候,開源解決方案還不支持導(dǎo)出字符設(shè)備,意味著你還不能導(dǎo)出磁帶驅(qū)動(dòng)器,即使iSCSI協(xié)議支持,目前只有一些商業(yè)解決方案支持導(dǎo)出字符設(shè)備。

          我們使用開源軟件建立起一套經(jīng)濟(jì)的SAN,也只接觸到最基礎(chǔ)的知識(shí),SAN是什么,iSCSI是什么,但這是一個(gè)偉大的開始。



          Windows上的iSCSI

          在文章的前面部分,我們使用Linux作為服務(wù)器,Windows作為客戶端,但我們認(rèn)為多寫幾行文字來描述如何Windows上實(shí)現(xiàn)iSCSI也是值得的,可以從微軟公司的存儲(chǔ)網(wǎng)站http://www.microsoft.com/windowsserversystem/storage下載到Microsoft iSCSI initiator軟件,安裝它非常簡(jiǎn)單,安裝后會(huì)有一個(gè)控制面板,從它可以訪問到iSCSI服務(wù)器,假設(shè)你已經(jīng)按照我前面說的方法安裝了一臺(tái)Linux服務(wù)器,打開控制面板,然后點(diǎn)擊Discovery標(biāo)簽,然后點(diǎn)擊Add按鈕,將會(huì)顯示如下圖所示的一個(gè)對(duì)話框。

          1、輸入服務(wù)器或集群的ip地址,端口保持不變,然后點(diǎn)擊Advanced按鈕,顯示



          2、如果你沒有看到輸出設(shè)備,點(diǎn)Refresh,選擇你想要的設(shè)備,然后點(diǎn)擊Log On,顯示

          3、在General標(biāo)簽頁,你需要開啟CHAP登陸,并輸入與ietd.conf中一樣的登錄名和密碼,然后點(diǎn)兩次Ok按鈕回到控制面板,如果你的密碼少于16個(gè)字符,會(huì)提示你,但這樣還是能工作的,選擇Target標(biāo)簽,顯示

          4、如果你打算每次重啟系統(tǒng)都使用iSCSI卷,請(qǐng)選中'Automatically restore'選項(xiàng),至此,你就擁有一個(gè)附加的磁盤了,在磁盤管理器中也能看到它,并可以當(dāng)正常磁盤使用了,值得注意的是目前在Windows上iSCSI還不支持動(dòng)態(tài)磁盤,它可以用于諸如exchange,sql server等應(yīng)用程序。



          關(guān)鍵詞: SAN

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉