存储技术与iSCSI
? ? ? 本章主要介紹基于IP SAN的網絡存儲iSCSI。iSCSI技術以其低廉的構建成本和優秀的存儲性能,博得了很多CIO和存儲管理員的喜愛,目前陸續進入企業應用領域,推動了企業的存儲環境向集中式轉變。雖然,目前對于iSCSI應該在什么樣的環境中使用還存在著諸多爭議,但是iSCSI的前途是光明的,在未來的存儲世界中,iSCSI一定會占據重要的席位。本章重點介紹iSCSI在Windows和Linux環境下的配置和使用。
存儲的概念與術語
??? 在存儲的世界里,有各種各樣的名詞和術語,常見的有SCSI、FC、DAS、NAS、SAN等。本節重點介紹與存儲相關的術語和知識。
SCSI介紹
??? SCSI是小型計算機系統接口(Small Computer System Interface)的簡稱,SCSI作為輸入/輸出接口,主要用于硬盤、光盤、磁帶機、掃描儀、打印機等設備。
FC介紹
??? FC是光纖通道(Fibre Channel)的簡稱,是一種適合于千兆數據傳輸的、成熟而安全的解決方案。與傳統的SCSI技術相比,FC提供更高的數據傳輸速率,更遠的傳輸距離,更多的設備連接支持,更穩定的性能,更簡易的安裝。
DAS介紹
??? DAS是直連式存儲(Direct-Attached Storage)的簡稱,是指將存儲設備通過SCSI接口或光纖通道直接連接到一臺計算機上。當服務器在地理上比較分散,很難通過遠程進行互連時,DAS是比較好的解決方案。但是這種式存儲只能通過與之連接的主機進行訪問,不能實現數據與其他主機的共享,同時,DAS會占用服務器操作系統資源,例如CPU資源、IO資源等,并且數據量越大,占用操作系統資源就越嚴重。
NAS介紹
??? 網絡接入存儲(Network-Attached Storage)簡稱NAS,它通過網絡交換機連接存儲系統和服務器,建立專門用于數據存儲的私有網絡,用戶通過TCP/IP協議訪問數據,采用業界標準的文件共享協議如NFS、HTTP、CIFS來實現基于文件級的數據共享。NAS存儲使文件共享訪問變得更方便和快捷,并且能很容易地增加存儲容量。通過專業化的文件服務器與存儲技術相結合,NAS為那些需要共享大量文件數據的企業提供了一個高效的、高可靠的、高性價比的解決方案。但是NAS也有一定的局限性,它會受到網絡帶寬和網絡擁堵的影響,在一定程度上限制了NAS的網絡傳輸能力。
SAN介紹
??? 存儲區域網絡(Storage Area Network)簡稱SAN,它是一種通過光纖交換機、光纖路由器、光纖集線器等設備將磁盤陣列、磁帶等存儲設備與相關服務器連接起來的高速專用子網。
??? SAN由3個部分組成,分別是連接設備(如路由器、光纖交換機和Hub)、接口(如SCSI、FC)、通信協議(如IP和SCSI)。這3個部分再加上存儲設備和服務器就構成了一個SAN系統。SAN捉供了一個靈活的、高性能的和高擴展性的存儲網絡環境,它可以更加有效地傳輸海量的數據塊。由于采用了光纖接口,因此SAN還具有更高的帶寬,同時,SAN也使統一管理和集中控制實現簡化。現在SAN已經廣泛應用于ISP和銀行等,隨著用戶業務量的增大,SAN的應用前景將越來越光明。
iSCSI的概念
????iSCSI,即Internet SCSI,是IETF制訂的一項標準,用于將SCSI數據塊映射為以太網數據包。從根本上說,它是一種基于IP Storage理論的新型存儲技術,該技術將存儲行業廣泛應用的SCSI接口技術與IP網絡技術相結合,可以在IP網絡上構建SAN。簡單地說,iSCSI就是在IP網絡上運行SCSI協議的一種網絡存儲技術。iSCSI技術最初由Cisco和IBM兩家開發,并且得到了廣大IP存儲技術愛好者的大力支持,這幾年得到迅速的發展壯大。
??? 對于中小企業的存儲網絡來說,iSCSI是個非常好的選擇。首先,從技術實現上來講,iSCSI是基于IP協議的技術標準,它允許網絡在TCP/IP協議上傳輸SCSI命令,實現SCSI和TCP/IP協議的連接,這樣用戶就可以通過TCP/IP網絡來構建SAN,只需要不多的投資,就可以方便、快捷地對信息和數據進行交互式傳輸和管理。但是,在iSCSI出現之前,構建SAN的唯一技術是利用光纖通道,這要花費很大的建設成本,一般中小企業無法承擔。其次,iSCSI技術解決了傳輸效率、存儲容量、兼容性、開放性、安全性等方面的諸多問題,在使用性能上絕對不輸給商業的存儲系統或光纖存儲網絡。
??? iSCSI的優勢主要表現為:首先,iSCSI沿用TCP/IP協議,而TCP/IP是在網絡方面最通用、最成熟的協議,且IP網絡的基礎建設非常完善,同時,SCSI技術是被磁盤和磁帶等設備廣泛采用的存儲標準,這兩點使iSCSI的建設費用和維護成本非常低廉;其次,iSCSI支持一般的以太網交換機而不是特殊的光纖通道交換機,從而減少了異構網絡帶來的麻煩;還有,iSCSI是通過IP封包傳輸存儲命令,因此可以在整個Internet上傳輸數據,沒有距離的限制。
FC SAN與IP SAN
??? 在iSCSI技術出現后,通過IP技術搭建的存儲網絡也應運而生,SAN技術也就出現了兩種不同的實現方式,即FC SAN與IP SAN。簡單來說,以光纖搭建的存儲網絡就是FC SAN.以iSCSI技術搭建的存儲網絡叫做IP SAN。
????作為SAN的兩種實現方式,FC SAN與IP SAN各有優劣,下面從幾個方面分別闡述。
? ? 在數據傳輸方式上,FC SAN與IP SAN都采用塊協議方式來完成。這是它們的相同點。
? ? 在傳輸速度上,就目前的傳輸速率而言,FC SAN(2Gbit/s)最快,iSCSI(lGbit/s)次之
? ? 在傳輸距離上,FC SAN理論上可以達到100公里,而事實上,傳輸超過50公里后,就會出現瓶頸。而通過IP網絡的iSCSI技術在理論上沒有距離的限制,即iSCSI可以進行沒有距離限制的數據傳輸。
? ? 管理及維護成本上,架設FC SAN網絡需要投入很多硬件成本,并且需要特定的工具軟件進行操作管理,而IP SAN構建成本低廉,由于iSCSI是通過IP網絡來傳輸數據和分配存儲資源的,因此只要在現有的網絡上進行管理和使用即可,這樣就可以省下大筆的管理費用及培訓成本。
??? 其實IP SAN也面臨著一些不可回避的困擾:首先,基于IP SAN的網絡存儲還沒有得到用戶的充分肯定:其次,IP SAN存儲需要專門的驅動和設備,幸運的是,一些傳統的光纖適配器廠商都發布了iSCSI HBA設備,同時Inter也推出了專用的IP存儲適配器,而Microsoft、HP、Novell、SUN、AIX、Linux也具有iSCSI Initiator軟件,并且免費供用戶使用:還有,在安全方面,IP SAN雖然有一套規范的安全機制,但是尚未得到用戶的認可。
??? 這些問題和困擾雖然會妨礙iSCSI的發展,但是相信在未來的網絡存儲世界里,IP SAN絕對金擁有一席之地。
iSCSI的組成
一個簡單的iSCSI系統大致由以下部分組成:
iSCSI?Initiator或者iSCSI?HBA iSCSI?Target 以太網交換機 一臺或者多臺服務器一個完整的iSCSI系統的拓撲結構如圖7-1所示。
??? 圖7-1? 完整的iSCSI系統拓撲結構
??? 在圖7-1中,iSCSI服務器用來安裝iSCSI驅動程序,即安裝iSCSI Initiator;Storage Router可以是以太網交換機或者路由器;iSCSI存儲設備可以是iSCSI磁盤陣列,也可以是具有存儲功能的PC服務器。下面詳細介紹一下iSCSI Initiator與iSCSI Target的含義。
iSCSI Initiator
????iSCSI Initiator是一個安裝在計算機上的軟件或硬件設備,它負責與iSCSI存儲設備進行通信。
??? iSCSI服務器與iSCSI存儲設備之間的連接方式有兩種:
? ??第一種是基于軟件的方式,即iSCSI Initiator軟件。在iSCSI服務器上安裝Initiator后,Initiator軟件可以將以太網卡虛擬為iSCSI卡,進而接受和發送iSCSI數據報文,從而實現主機和iSCSI存儲設備之間的iSCSI協議和TCP/IP協議傳輸功能。這種方式只需以太網卡和以太網交換機,無需其他設備,因此成本是最低的。但是iSCSI報文和TCP/IP報文轉換需要消耗iSCSI服務器的一部分CPU資源,只有在低I/O和低帶寬性能要求的應用環境中才能使用這種方式。
????第二種是硬件iSCSI HBA (Host Bus Adapter)卡方式,即iSCSI Initiator硬件。這種方式需要先購買iSCSI HBA卡,然后將其安裝在iSCSI服務器上,從而實現iSCSI服務器與交換機之間、iSCSI服務器與存儲設備之間的高效數據傳輸。與第一種方式相比,硬件iSCSIHBA卡方式不需要消耗iSCSI服務器的CPU資源,同時硬件設備是專用的,所以基于硬件的iSCSI Initiator可以提供更好的數據傳輸和存儲性能。但是,iSCSI HBA卡的價格比較昂貴,因此用戶要在性能和成本之間進行權衡。
??? iSCSI Initiator軟件一般都是免費的,Centos和RHEL對iSCSI Initiator的支持都非常不錯,現在的Linux發行版本都默認自帶了iSCSI Initiator。
iSCSI Target
????一個可以用于存儲數據的iSCSI磁盤陣列或者具有iSCSI功能的設備都可以被稱為“iSCSI Target”,因為大多數操作系統都可以利用一些軟件將系統轉變為一個“iSCSI Target”。本章重點講述如何構建一個PC構架的iSCSI存儲系統。所謂PC構架就是選擇一個普通的、性能優良的、可支持多塊磁盤的PC(一般為PC服務器),再選擇一款相對成熟穩定的iSCSI Target軟件,將iSCSI Target軟件安裝在PC服務器上,使普通的PC服務器轉變成一臺iSCSI存儲設備,并通過PC服務器的以太網卡對外提供iSCSI數據傳輸服務。
??? 目前大多數iSCSI Target軟件都是收費的,例如DataCorc ?Software的SANmelody,FalconStor?Software的iSCSI Server for Windows等,這些都是Windows平臺支持的。不過,也有一些Linux平臺的開源iSCSI Target軟件,例如iSCSI Enterprise Target,后面的內容會重點介紹這個軟件。
??? 利用iSCSI Target軟件,可以將服務器的存儲空間分配給客戶機使用,客戶機可以像使用本地硬盤一樣使用iSCSI磁盤,包括對其進行分區、格式化及讀寫等。而且每個客戶端都可以向iSCSI磁盤寫數據,互不干擾,并且不會破壞存儲到服務器中的數據。同時,iSCSITarget軟件對用戶權限控制非常靈活,支持配置文件。
??? 我們知道,iSCSI是使用TCP/IP協議進行通信的,因此,將iSCSI兩端連接起來,僅僅需要一個以太網絡就可以了。由此可知,iSCSI的存儲性能和這個以太網絡有直接關系,所以最好在iSCSI網絡中使用千兆以太網交換機,劣質的網絡設備會嚴重影響存儲系統的性能,也就是說,要為每個服務器配備高質量的千兆以太網交換機,并提供兩個連接。對于iSCSI Target,應該為每個獨立陣列中的兩個獨立端口配備交換機,最后將交換機連接起來,采用這種配置方式,即使兩個交換機中的一個出現了故障,整個iSCSI存儲系統仍然能夠正常工作,這保證了存儲系統的不間斷運行。
iSCSI的工作原理
??? 要理解iSCSI的工作原理,就必須知道iSCSI的層次結構。根據OSI模型,iSCSI的協議自頂向下一共可以分為三層,如圖7-2所示。
圖7-2? iSCSI的協議結構
??? 下面對每個分層進行簡單介紹。
? ? SCSI層:根據客戶端發出的請求建立SCSI CDB(命令描述塊),并傳給iSCSI層。同時接收來自iSCSI層的CDB,并向應用返回數據。
? ? iSCSI層:對SCSI CDB進行封裝,以便能夠在基于TCP/IP協議的網絡上進行傳輸,完成SCSI到TCP/IP的協議映射。這一層是iSCSI協議的核心層。本章也主要針對這一層的配置和管理進行介紹。
? ??TCP/IP層:對IP報文進行路由和轉發,并且提供端到端的透明可靠的傳輸。
??? iSCSI協議定義了在TCP/IP網絡發送、接收數據塊存儲數據的規則和方式。先發送端將SCSI命令和數據封裝到TCP/IP包中,然后通過IP網絡轉發,接收端收到TCP/IP包之后,將其還原為SCSI命令和數據并執行,執行完成后,將返回的SCSI命令和數據再封裝到TCP/IP包中,之后再傳回發送端。這樣就完成了數據傳輸的整個過程。
??? iSCSI的整個數據傳輸過程在用戶看來是完全透明的,用戶使用遠端的存儲設備就像使用本地的硬盤設備一樣。不過,這只是理論狀態,實際上iSCSI的數據傳輸速率并不能完全達到本地硬盤的數據傳輸速率,但差別并不明顯。而且這種網絡存儲模式還有一個優點是安全性高,這對于數據集中存儲的iSCSI來說顯然非常重要。
總結
以上是生活随笔為你收集整理的存储技术与iSCSI的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 几个有趣的算法题目
- 下一篇: ubuntu编译libjpeg-turb