新聞中心

EEPW首頁 > 元件/連接器 > 設(shè)計(jì)應(yīng)用 > 基于SAN的網(wǎng)絡(luò)存儲(chǔ)共享系統(tǒng)

基于SAN的網(wǎng)絡(luò)存儲(chǔ)共享系統(tǒng)

——
作者: 時(shí)間:2008-01-14 來源: 收藏

  隨著科學(xué)實(shí)驗(yàn)的不斷開展,信息化的發(fā)展與多媒體網(wǎng)絡(luò)技術(shù)的推廣應(yīng)用,數(shù)據(jù)量變得越來越復(fù)雜與繁多。特別是電子商務(wù)的廣泛應(yīng)用,信息化的政務(wù)以及各行各業(yè)的網(wǎng)絡(luò)應(yīng)用,數(shù)據(jù)已成為一種無形的戰(zhàn)略資產(chǎn),如何利用現(xiàn)有的存儲(chǔ)結(jié)構(gòu)進(jìn)行數(shù)據(jù)存儲(chǔ)、變得越來越重要。數(shù)據(jù)存儲(chǔ)從單一的系統(tǒng)轉(zhuǎn)向網(wǎng)絡(luò)化方面發(fā)展,利用網(wǎng)絡(luò)的海量存儲(chǔ)能力與讀取的方便性,把數(shù)據(jù)進(jìn)行已經(jīng)成為數(shù)據(jù)存儲(chǔ)的一種趨勢,而傳統(tǒng)的SCSI存儲(chǔ)方案與目前應(yīng)用廣泛的NAS數(shù)據(jù)存儲(chǔ)共享方案均有不盡人意之處。因此希望有一種優(yōu)秀的解決方案來適應(yīng)當(dāng)今數(shù)據(jù)存儲(chǔ)共享的要求。

  1 當(dāng)前數(shù)據(jù)存儲(chǔ)共享的方案分析

  1.1 SCSI的數(shù)據(jù)存儲(chǔ)共享方案

  SCSI存儲(chǔ)結(jié)構(gòu)也就是最早使用的存儲(chǔ)方案,另一種說法是DAS存儲(chǔ),他的體系結(jié)構(gòu)如圖1所示。

  其核心思想是存儲(chǔ)介質(zhì)以SCSI協(xié)議連接在服務(wù)器后面,服務(wù)器為數(shù)據(jù)存儲(chǔ)共享的中轉(zhuǎn)接點(diǎn)。存儲(chǔ)介質(zhì)通過SCSI協(xié)議與服務(wù)器相連,SCSI結(jié)構(gòu)采用的連接端口與連接線長度都十分有限。因此能提供的存儲(chǔ)容量十分有限,當(dāng)需要增加存儲(chǔ)容量時(shí)就要增加SCSI的HUB用以進(jìn)行連接,但他們的數(shù)據(jù)量增加到一定的數(shù)量時(shí)會(huì)出現(xiàn)性能瓶頸,因此對于大數(shù)據(jù)量的存儲(chǔ)使用多個(gè)DAS系統(tǒng),存在著信息孤島現(xiàn)象,與數(shù)據(jù)的不統(tǒng)一現(xiàn)象,這對于合理的管理數(shù)據(jù)是十分的不利的。因此,此方案不利于進(jìn)行海量的數(shù)據(jù)存儲(chǔ)共享。

  SCSI方案是以服務(wù)器為中心的數(shù)據(jù)傳送方式,發(fā)展比較早,結(jié)構(gòu)簡單,便于實(shí)現(xiàn)與理解,在小規(guī)模數(shù)據(jù)存儲(chǔ)情況下運(yùn)行較好。但他沒有獨(dú)立的存儲(chǔ)操作系統(tǒng),數(shù)據(jù)共享與管理復(fù)雜,維護(hù)成本高。在SCSI存儲(chǔ)方案中還可能存在有大量相互獨(dú)立的、沒有統(tǒng)一控制的數(shù)據(jù),他們會(huì)浪費(fèi)系統(tǒng)的存儲(chǔ)資源,影響數(shù)據(jù)的一致性。SCSI存儲(chǔ)方案中接口連接設(shè)備數(shù)量與距離受限,存儲(chǔ)容量有限,當(dāng)要進(jìn)行擴(kuò)容時(shí)不得不使用HUB進(jìn)行配置,而且可配置擴(kuò)容的能力相當(dāng)有限,隨著共享數(shù)據(jù)容量的增加,存在因大量數(shù)據(jù)存取引起延遲的性能瓶頸,更有甚當(dāng)關(guān)鍵點(diǎn)服務(wù)器故障時(shí)會(huì)造成整個(gè)系統(tǒng)癱瘓,因此基于SCSI存儲(chǔ)方案構(gòu)建的網(wǎng)絡(luò)數(shù)據(jù)共享存儲(chǔ)不是一種理想的方案,他不適應(yīng)對數(shù)據(jù)的可管理性,海量與共享的要求。

  

  1.2 NAS存儲(chǔ)方案的數(shù)據(jù)共享方案

  NAS存儲(chǔ)是應(yīng)中目前數(shù)據(jù)存儲(chǔ)的熱點(diǎn)存儲(chǔ)方案,他的思想是以內(nèi)嵌的NAS服務(wù)器為中心的數(shù)據(jù)存儲(chǔ),其結(jié)構(gòu)如圖2所示。

  

  在此方案之中希望利用網(wǎng)絡(luò)進(jìn)行以數(shù)據(jù)為中心的存儲(chǔ)管理,在構(gòu)成上他從服務(wù)器的后面去掉,將連接布置在LAN中。NAS通常被理解為專用數(shù)據(jù)存儲(chǔ)服務(wù)器,包括存儲(chǔ)設(shè)備和內(nèi)嵌系統(tǒng)軟件。NAS通常被布置在LAN上某個(gè)特定的節(jié)點(diǎn)上,允許用戶在網(wǎng)絡(luò)上存取數(shù)據(jù),NAS設(shè)備支持NFS與CIFS兩種文件系統(tǒng),因此兼容了Windows文件系統(tǒng)與Unix文件系統(tǒng)進(jìn)行數(shù)據(jù)的共享存儲(chǔ),提供跨平臺(tái)文件共享功能。由于NAS可以集中管理和處理網(wǎng)絡(luò)上的所有數(shù)據(jù),數(shù)據(jù)以文件的形式按照網(wǎng)絡(luò)協(xié)議在客戶機(jī)與存儲(chǔ)設(shè)備之間流動(dòng),他可以利用NFS實(shí)現(xiàn)異構(gòu)平臺(tái)的客戶機(jī)對數(shù)據(jù)的共享,集成在存儲(chǔ)設(shè)備內(nèi)的專用文件服務(wù)器提高了文件的I/O速度。

{{分頁}}

  NAS解決SCSI數(shù)據(jù)存儲(chǔ)方案之中的擴(kuò)容困難,配置復(fù)雜,不提供集中數(shù)據(jù)管理與跨平臺(tái)數(shù)據(jù)共享的不足。NAS已經(jīng)成為一個(gè)可以自尋址的特殊服務(wù)器,存儲(chǔ)陣列完全從單個(gè)的服務(wù)器中解放出來,那么通過網(wǎng)絡(luò)取得存儲(chǔ)設(shè)備上的數(shù)據(jù)而不消耗服務(wù)器資源的設(shè)想就可以實(shí)現(xiàn)了。

  雖然克服了并行SCSI結(jié)構(gòu)的許多缺點(diǎn),但是NAS也存在很明顯的缺點(diǎn),這就是對LAN網(wǎng)絡(luò)帶寬的消耗。在NAS中,磁盤陣列的數(shù)據(jù)流也是通過網(wǎng)絡(luò)流動(dòng)的。使用UDP協(xié)議或者TCP/IP協(xié)議對用戶數(shù)據(jù)進(jìn)行打包傳送對一般的LAN或WAN事務(wù)是可以接受的;但是,對磁盤訪問事務(wù)進(jìn)行打包傳送,即使是1 000 Mb/s的以太網(wǎng),當(dāng)組建了大型網(wǎng)絡(luò)數(shù)據(jù)共享系統(tǒng)時(shí)也很難提供足夠的帶寬,特別是進(jìn)行多媒體應(yīng)用與高數(shù)據(jù)流量的實(shí)時(shí)數(shù)據(jù)共享應(yīng)用來說存在著幾乎不可容忍的不足;或者當(dāng)外界與NAS建立連接消耗大量帶寬時(shí)也會(huì)造成網(wǎng)絡(luò)性能急劇下降,因此對于組建海量存儲(chǔ)共享系統(tǒng)來說,基于NAS的系統(tǒng)并不是一種理想的系統(tǒng)。

  1.3 的數(shù)據(jù)存儲(chǔ)

  是目前正在流行的前沿?cái)?shù)據(jù)存儲(chǔ)方案,他的核心思想是用存儲(chǔ)區(qū)域網(wǎng)進(jìn)行數(shù)據(jù)的存儲(chǔ),他的結(jié)構(gòu)特點(diǎn)如圖3所示。

  

  他的主要思路是利用成熟的網(wǎng)絡(luò)技術(shù),把服務(wù)器與存儲(chǔ)分離,使用一個(gè)專用的網(wǎng)絡(luò)進(jìn)行存儲(chǔ)(也稱網(wǎng)絡(luò)),服務(wù)器以FC協(xié)議通過專用的集線器、交換機(jī)和網(wǎng)關(guān)建立服務(wù)器(Server)和磁盤陣列(Storage)之間的直接連接,將LAN上的存儲(chǔ)事務(wù)轉(zhuǎn)換到主要由存儲(chǔ)設(shè)備組成的SAN上。從構(gòu)成本質(zhì)上看SAN并非一種產(chǎn)品,他是配置網(wǎng)絡(luò)化存儲(chǔ)的一種方法,這種網(wǎng)絡(luò)技術(shù)支持遠(yuǎn)距離通信,并允許存儲(chǔ)設(shè)備真正與服務(wù)器隔離,使存儲(chǔ)設(shè)備不再單獨(dú)屬于某個(gè)專用的服務(wù)器,服務(wù)器可以對存儲(chǔ)設(shè)備中的任何單個(gè)設(shè)備進(jìn)行連接。SAN網(wǎng)絡(luò)中的存儲(chǔ)如磁帶庫與磁盤陣列等設(shè)備可以不通過服務(wù)器直接進(jìn)行相互之間的協(xié)作。

  SAN從結(jié)構(gòu)上解決了NAS數(shù)據(jù)訪問對網(wǎng)絡(luò)帶寬占用的問題,如果建立合適的存儲(chǔ)系統(tǒng)數(shù)據(jù)的訪問、備份和恢復(fù)不影響LAN的性能,在有大量數(shù)據(jù)訪問時(shí),不會(huì)大幅度降低網(wǎng)絡(luò)性能。在SAN架構(gòu)中,Server/Storage間的通訊采用SAN,而Client/Server間的通訊采用的是LAN。采用SAN適合Setver/Storage間大容量數(shù)據(jù)傳送,而Cli-ent/Server間的數(shù)據(jù)交換,LAN又可以發(fā)揮其靈活的優(yōu)勢。

  在SAN存儲(chǔ)方案中:存儲(chǔ)網(wǎng)中物理上分散的存儲(chǔ)設(shè)備在邏輯上完全一體,具有邏輯上的統(tǒng)一性;適合對數(shù)據(jù)進(jìn)行統(tǒng)一管理,降低了管理費(fèi)用;使用獨(dú)立的存儲(chǔ)網(wǎng)絡(luò)后,容易進(jìn)行海量存儲(chǔ)擴(kuò)充;具有很高的容錯(cuò)能力,如果出現(xiàn)某個(gè)存儲(chǔ)局部點(diǎn)故障,則可以利用網(wǎng)絡(luò)的可容單點(diǎn)故障進(jìn)行錯(cuò)誤糾正,提高了系統(tǒng)的可靠性;以光纖網(wǎng)絡(luò)為傳輸介質(zhì),充分利用網(wǎng)絡(luò)帶寬提高了存取速度。具有在線擴(kuò)充的能力,能滿足中數(shù)據(jù)的快速增長存儲(chǔ)需要,存儲(chǔ)網(wǎng)絡(luò)還具有很大的靈活性,能滿足在Internet計(jì)算大環(huán)境下各種計(jì)算變化對存儲(chǔ)的要求。

{{分頁}}

  當(dāng)然要利用好SAN存儲(chǔ)的優(yōu)秀從邏輯角度上來說,一個(gè)SAN的邏輯運(yùn)行要求有應(yīng)用程序和管理工具的參與,這些工具能夠?qū)Χ鄠€(gè)主機(jī)系統(tǒng)中的存儲(chǔ)資源進(jìn)行管理。這種邏輯管理體系結(jié)構(gòu)包括從數(shù)據(jù)管理應(yīng)用程序到設(shè)備管理在內(nèi)的幾個(gè)層次,以及每一層中的管理控制。

  正因?yàn)镾AN具有海量的擴(kuò)充能力,不受帶寬的限制,適應(yīng)網(wǎng)絡(luò)化環(huán)境下數(shù)據(jù)快速增長與多樣性的要求。對于設(shè)計(jì)一種高效'的網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)共享系統(tǒng)來說,基于SAN存儲(chǔ)平臺(tái)是一種理想的選擇。

  2 基于SAN的存儲(chǔ)共享方案構(gòu)造

  2.1基于SAN的存儲(chǔ)共享的思想

  利用網(wǎng)絡(luò)技術(shù),高效的存儲(chǔ)共享數(shù)據(jù)是一種必然,但網(wǎng)絡(luò)的帶寬是有限的,當(dāng)大量的數(shù)據(jù)在網(wǎng)上傳遞時(shí),會(huì)造成網(wǎng)絡(luò)響應(yīng)時(shí)間過長,不能滿足人們的需求。同時(shí),傳統(tǒng)的分散式存儲(chǔ)結(jié)構(gòu)由于分散數(shù)據(jù)的格式不統(tǒng)一、數(shù)據(jù)傳輸中的網(wǎng)絡(luò)擁擠等自身的局限性,很難從根本上解決數(shù)據(jù)共享的問題。

  存儲(chǔ)局域網(wǎng)SAN(Storage Aiea Network)為此提供了一種解決思路。SAN的主要思想是將LAN上的存儲(chǔ)轉(zhuǎn)換到主要由存儲(chǔ)設(shè)備組成的SAN上,使得數(shù)據(jù)的訪問、備份和恢復(fù)不影響LAN的性能,在有大量數(shù)據(jù)訪問時(shí),不會(huì)大幅度降低網(wǎng)絡(luò)性能,同時(shí)具有海量擴(kuò)充的能力,很適應(yīng)數(shù)據(jù)量爆炸性增加的存儲(chǔ)共享形勢。 SAN由存儲(chǔ)設(shè)備和聯(lián)網(wǎng)設(shè)備組成,可以使磁盤陣列、磁帶庫等存儲(chǔ)設(shè)備以高傳輸速率與多服務(wù)器相連,這樣就為基于Cilent/Serve:架構(gòu)下的集群技術(shù)的應(yīng)用奠定了硬件基礎(chǔ)。從軟件層次上看,SAN還需要一個(gè)異構(gòu)系統(tǒng)數(shù)據(jù)存儲(chǔ)和共享系統(tǒng)來管理這個(gè)存儲(chǔ)網(wǎng)絡(luò)。

  在軟件角度上看Unix系統(tǒng)具有較強(qiáng)的靈活性強(qiáng)、應(yīng)用軟件豐富、應(yīng)用廣泛的優(yōu)勢;大型機(jī)系統(tǒng)具有高可靠性、高可用性、高服務(wù)能力(Reliability,Availability,service-ability),以及強(qiáng)大的I/O處理能力等不可替代的優(yōu)點(diǎn),并且長期以來積聚了大量豐富的信息資源。大型機(jī)系統(tǒng)通常承擔(dān)關(guān)鍵性的大數(shù)據(jù)量信息處理的工作,而Unix服務(wù)器、Windows服務(wù)器等開放系統(tǒng)通常作為服務(wù)器來提供與客戶相關(guān)的前端服務(wù)。在數(shù)據(jù)存儲(chǔ)領(lǐng)域,研究如何如何將他們結(jié)合起來,以充分利用兩類機(jī)器的優(yōu)勢,降低數(shù)據(jù)存儲(chǔ)成本,并在存儲(chǔ)整合基礎(chǔ)上實(shí)現(xiàn)異構(gòu)系統(tǒng)的計(jì)算資源整合是目前的一大難點(diǎn)與熱點(diǎn)。

  所要設(shè)計(jì)的新系統(tǒng)就是要設(shè)計(jì)并實(shí)現(xiàn)這樣一個(gè)基于SAN的存儲(chǔ)共享軟件系統(tǒng),用來實(shí)現(xiàn)大型機(jī)、Unix工作站、Windows NT工作站對磁盤陣列的共享存儲(chǔ),并提供一組統(tǒng)一的應(yīng)用編程接口(APplication programming In-terface,API),供上層應(yīng)用程序使用。

  2.2基于SAN的共享存儲(chǔ)系統(tǒng)總體設(shè)計(jì)

  本系統(tǒng)的核心思想是基于SAN架構(gòu),利用大型機(jī)的高性能與豐富的軟件支持進(jìn)行應(yīng)用數(shù)據(jù)處理,通過共享的磁盤陣列與通用系統(tǒng)進(jìn)行數(shù)據(jù)訪問?;赨nix或者Windows平臺(tái),兩者的原理相同??紤]到Unix的豐富資源,在Unix上進(jìn)行本系統(tǒng)的設(shè)計(jì)。

  整個(gè)系統(tǒng)分為大型機(jī)端與Unix端2部分,如圖4所示。

  

{{分頁}}

  2.2.1 大型機(jī)端部分

  大型機(jī)端Server部分負(fù)責(zé)和Unix端進(jìn)行通信,控制Unix端對共享磁盤陣列的訪問,并對各個(gè)Unix端的Serve進(jìn)行管理。大型機(jī)端可以運(yùn)行多個(gè)Server,也可以有多臺(tái)大型機(jī),各自運(yùn)行多個(gè)Server,在Unix端看來,這些Server的功能相同,地位并列,Unix端Server可以任意選擇其中之一與之通信實(shí)現(xiàn)應(yīng)有的功能,以如何響應(yīng)時(shí)間最短為選擇標(biāo)準(zhǔn)。

  2.2.2 Unix端部分

  UnIx端包括Server部分、動(dòng)態(tài)鏈接庫部分及Com-mand群部分。Server部分是運(yùn)行在通用系統(tǒng)即Unix或Windows上的daemon程序,他負(fù)責(zé)管理host,Path,media,AP等資源,轉(zhuǎn)發(fā)動(dòng)態(tài)庫的各種文件操作請求。其中host。指大型機(jī)端不同的Server,每個(gè)Server認(rèn)為是一個(gè)host;media被定義為共享LD。Path被定義為media所映射而成的本地設(shè)備文件;AP則是本地進(jìn)程。

  Library(動(dòng)態(tài)鏈接庫)是一組函數(shù),其中包括提供給用戶的一組API和一些I/O操作的中間處理函數(shù)。利用該模塊提供的API,Unix端就可以實(shí)現(xiàn)對共享磁盤陣列的訪問。

  Command群是提供給用戶使用的一組命令,可以實(shí)現(xiàn)對系統(tǒng)的管理、控制功能以及對共享文件訪問的管理和控制。

  2.3基于SAN共享系統(tǒng)的關(guān)鍵設(shè)計(jì)

  對Unix端要設(shè)計(jì)如下一些功能進(jìn)程:Unix的Server部分如圖5所示。

  

  父進(jìn)程 也成為總體進(jìn)程,控制整個(gè)系統(tǒng)的其他進(jìn)程,創(chuàng)建其他的進(jìn)程。

  監(jiān)視進(jìn)程他用于對整個(gè)系統(tǒng)的進(jìn)程的監(jiān)視,以判別他們是否工作正常。

  控制進(jìn)程 對磁盤進(jìn)行管理,管理磁盤上面的共享數(shù)據(jù),對大型機(jī)的請求進(jìn)行響應(yīng)。 通信進(jìn)程 對Unix與大型機(jī)進(jìn)行TCP/IP通信。

  命令管理進(jìn)程該進(jìn)程主要是提供一組命令,通過此命令進(jìn)行啟動(dòng)或者停止Unix端的Server命令。激活與大型機(jī)的聯(lián)系,激活與磁盤陣列的聯(lián)系。

{{分頁}}

  2.3.1 Unix端下的Server要完成的功能

  共享磁盤文件資源控制功能;用戶名的轉(zhuǎn)換功能;對訪問共享文件的AP的監(jiān)視功能;共享磁盤的構(gòu)成管理功能;與大型機(jī)端Server通信的功能;共享文件的訪問閉塞功能;處理管理命令的功能。

  2.3.2 Unix端的Library(動(dòng)態(tài)鏈接庫)設(shè)計(jì)

  Library實(shí)際上是一個(gè)函數(shù)庫,是Unix部分主體功能的實(shí)現(xiàn)者。其中包括面向用戶使用戶能夠用來訪問大型機(jī)管理下的共享盤的API,以及對用戶不公開的其他處理函數(shù)。Library被設(shè)計(jì)成如圖6所示的功能模塊。

  

  應(yīng)用程序接口(API)部分 該模塊是面向用戶的函數(shù)接口,他們就像一個(gè)個(gè)普通的C函數(shù)一樣,用戶可以在自己編寫的C/C++程序中調(diào)用這些的函數(shù)來實(shí)現(xiàn)共享磁盤文件訪問和管理的功能。

  Fprc部分 該模塊主要完成與Unix端Server通信獲取文件信息,文件打開、關(guān)閉等,及其他前期準(zhǔn)備和后續(xù)處理工作(構(gòu)造/銷毀各種文件訪問控制表,分配/釋放內(nèi)存空間等)。

  Fseq部分 此模塊是各種文件訪問函數(shù)的核心部分,他是對大型機(jī)文件的數(shù)據(jù)進(jìn)行訪問的主要處理部分。 虛擬訪問接口(Virtual Access Interface,VAI)部分此模塊位于Library的最底層,所有的磁盤訪問任務(wù)最終都要通過VAI來實(shí)現(xiàn),他可以對大型機(jī)的共享文件進(jìn)行存取訪問。

  2.4基于SAN網(wǎng)絡(luò)存儲(chǔ)共享系統(tǒng)的工作原理

  基于SAN的數(shù)據(jù)存儲(chǔ)共享系統(tǒng)工作時(shí),大型機(jī)端運(yùn)行的文件共享Server是運(yùn)行在大型機(jī)上的服務(wù)程序,運(yùn)行的操作系統(tǒng)是大型機(jī)上的專用操作系統(tǒng)。他負(fù)責(zé)與UnixServer連接并接收文件訪問請求,再利用大型機(jī)的API進(jìn)行文件操作(非數(shù)據(jù)訪問),之后把文件信息通過TCP/IP返回給Unix端Server,最終通過Unix端的動(dòng)態(tài)庫函數(shù)進(jìn)行處理。從本質(zhì)上看Unix端Server相對于本地的AP而言是一個(gè)服務(wù)程序,而相對于大型機(jī)端Server而言,他又相當(dāng)于一個(gè)客戶端,所以有時(shí)也將他叫作中間Server。

  大型機(jī)端Server與Unix端Server進(jìn)行通信時(shí),使用的是Socket連接,通過TCP/IP網(wǎng)絡(luò)進(jìn)行信息的交互。而在訪問磁盤數(shù)據(jù)時(shí),無論是Unix端還是大型機(jī)端,都是通過SAN直接訪問磁盤。另外,大型機(jī)端Server還負(fù)責(zé)管理各Unix端Server。

  對于Unix等通用系統(tǒng)而言,雖然disk array與普通本地硬盤不同,但一旦連接到系統(tǒng)則對應(yīng)用程序而言都是disk設(shè)備,訪問方式完全一樣。在磁盤陣列上存放的是可共享的數(shù)據(jù),他的格式是大型機(jī)操作系統(tǒng)的文件系統(tǒng)。倘若Unix直接訪問這些數(shù)據(jù),由于文件系統(tǒng)的不同,所讀出的數(shù)據(jù)必然是亂碼,所寫入的,也將不是正確的大型機(jī)文件系統(tǒng)的文件格式。因此,當(dāng)利用通用系統(tǒng)進(jìn)行文件讀寫時(shí),必須首先通過動(dòng)態(tài)庫提供的對大型機(jī)格式的文件的訪問函數(shù),從大型機(jī)端Server取得文件信息并獲得文件控制權(quán),這些請求全部經(jīng)消息隊(duì)列發(fā)送到通用機(jī)端Server,再由通用機(jī)端Server將返回結(jié)果傳遞給動(dòng)態(tài)庫讀寫函數(shù),直接打開物理盤,進(jìn)行文件的讀寫。

  從大型機(jī)端的返回的文件信息,包括文件的屬性及地址分布、需要訪問長度等。通用機(jī)端得到這些信息后,將不再需要大型機(jī)的介入而直接根據(jù)這些文件信息進(jìn)行訪問。這種訪問是用被稱為raw disk access的方式進(jìn)行的。raw disk access是將disk看成連續(xù)Sector,以byte offset方式訪問disk的數(shù)據(jù)。這種訪問方式直接使用disk driv-er進(jìn)行I/O,由于OS沒有參與讀寫過程,因此效率較高。另外,由于磁盤陣列上的文件系統(tǒng)不能被通用Server識別,也只能用raw disk的方式進(jìn)行數(shù)據(jù)訪問。

  磁盤陣列上的各個(gè)邏輯盤將會(huì)通過光纖網(wǎng)絡(luò)映射為Unix系統(tǒng)的硬盤設(shè)備。邏輯盤Lgicai Disk(LD)是diskarray的概念,他可以由多個(gè)物理disk(各物理disk的一部分或全部)按照一定的RAID方式構(gòu)成,可以進(jìn)行并行訪問或存儲(chǔ)冗余數(shù)據(jù)。LD可以叫volume,或media,在OS看來這就是一個(gè)raw disk,與普通物理硬盤一樣。因?yàn)閁nix上的設(shè)備都被看作特殊文件,訪問設(shè)備類似于文件訪問,設(shè)備驅(qū)動(dòng)程序都提供打開和讀寫接口來操作真正的硬件,另外還提供I/O control接口來進(jìn)行特殊的設(shè)備控制或從設(shè)備獲取信息。與disk相關(guān)的special file都在/dev/dsk或/dev/rdsk目錄下,dsk目錄與rdsk目錄的差別是打開rdsk disk設(shè)備后,read/write/ioctl等調(diào)用將直接發(fā)送給硬件,而dsk目錄的設(shè)備則還經(jīng)過OS的中間處理。

  通過此過程,基于SAN的數(shù)據(jù)存儲(chǔ)共享系統(tǒng)能很好地進(jìn)行高效的數(shù)據(jù)存儲(chǔ)共享,能夠提供跨平臺(tái)的文件共享服務(wù),利用SAN的海量擴(kuò)充潛力,能提供不斷增長的數(shù)據(jù)存儲(chǔ)服務(wù)。

  3 結(jié) 語

  目前已經(jīng)在實(shí)驗(yàn)室建成以兩臺(tái)Unix端,一臺(tái)HP服務(wù)器模擬的大型機(jī),一個(gè)小型光纖網(wǎng)建立的基于SAN的網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)共享存儲(chǔ)系統(tǒng)。通過模擬運(yùn)行數(shù)據(jù)海量增長情況與數(shù)據(jù)的跨平臺(tái)共享表明本系統(tǒng)具有:實(shí)現(xiàn)了大型機(jī)與Windows及Unix平臺(tái)對磁盤陣列的共享訪問,跨平臺(tái)性好、接口簡單、擴(kuò)容簡單??朔藗鹘y(tǒng)的SCSI存儲(chǔ)方案中的擴(kuò)容有限,數(shù)據(jù)管理復(fù)雜,不直接支持跨平臺(tái)的數(shù)據(jù)共享,同時(shí)也克服了NAS存儲(chǔ)方案中數(shù)據(jù)仿問量增大時(shí)造成整個(gè)網(wǎng)絡(luò)性能急劇惡化的不足,能很好地適應(yīng)當(dāng)前網(wǎng)絡(luò)成熟,數(shù)據(jù)量急劇增長時(shí)用戶對數(shù)據(jù)存儲(chǔ)共享的需要,是一種很有應(yīng)用價(jià)值的先進(jìn)數(shù)據(jù)存儲(chǔ)共享解決方案。

c++相關(guān)文章:c++教程


交換機(jī)相關(guān)文章:交換機(jī)工作原理


存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理




評論


相關(guān)推薦

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

關(guān)閉