天天看點

IP網絡存儲之iSCSI的概念與工作原理

本章主要介紹基于IP SAN的網絡存儲iSCSI。iSCSI技術以其低廉的建構成本和優秀的存儲性能,博得了很多CIO和存儲管理者的喜愛,目前陸續進入企業應用領域,推動了企業的存儲環境向集中式轉變。雖然,目前對于iSCSI應該在什麼樣的環境中使用還存在着諸多争議,但是iSCSI的前途是光明的,在未來的存儲世界中,iSCSI一定會占據重要的席位。本章重點介紹iSCSI在Windows和Linux環境下的配置和使用。

存儲的概念與術語

在存儲的世界裡,有各種各樣的名詞和術語,常見的有SCSI、FC、DAS、NAS、SAN等。本節重點介紹與存儲相關的術語和知識。

1、SCSI介紹

SCSI是小型計算機系統接口(Small Computer System Interface)的簡稱,SCSI作為輸入/輸出接口,主要用于硬碟、CD光牒、錄音帶機、掃描器、列印機等裝置。

2、FC介紹

FC是光纖通道(Fibre Channel)的簡稱,是一種适合于千兆資料傳輸的、成熟而安全的解決方案。與傳統的SCSI技術相比,FC提供更高的資料傳輸速率,更遠的傳輸距離,更多的裝置連接配接支援,更穩定的性能,更簡易的安裝。

3、DAS介紹

DAS是直連式存儲(Direct-Attached Storage)的簡稱,是指将儲存設備通過SCSI接口或光纖通道直接連接配接到一台計算機上。當伺服器在地理上比較分散,很難通過遠端進行互連時,DAS是比較好的解決方案。但是這種式存儲隻能通過與之連接配接的主機進行通路,不能實作資料與其他主機的共享,同時,DAS會占用伺服器作業系統資源,例如CPU資源、IO資源等,并且資料量越大,占用作業系統資源就越嚴重。

4、NAS介紹

網絡接入存儲(Network-Attached Storage)簡稱NAS,它通過網絡交換機連接配接存儲系統和伺服器,建立專門用于資料存儲的私有網絡,使用者通過TCP/IP協定通路資料,采用業界标準的檔案共享協定如NFS、HTTP、CIFS來實作基于檔案級的資料共享。NAS存儲使檔案共享通路變得更友善和快捷,并且能很容易地增加存儲容量。通過專業化的檔案伺服器與存儲技術相結合,NAS為那些需要共享大量檔案資料的企業提供了一個高效的、高可靠的、高成本效益的解決方案。但是NAS也有一定的局限性,它會受到網絡帶寬和網絡擁堵的影響,在一定程度上限制了NAS的網絡傳輸能力。

5、SAN介紹

存儲區域網絡(Storage Area Network)簡稱SAN,它是一種通過光纖交換機、光纖路由器、光纖集線器等裝置将磁盤陣列、錄音帶等儲存設備與相關伺服器連接配接起來的高速專用子網。

SAN由3個部分組成,分别是連接配接裝置(如路由器、光纖交換機和Hub)、接口(如SCSI、FC)、通信協定(如IP和SCSI)。這3個部分再加上儲存設備和伺服器就構成了一個SAN系統。SAN捉供了一個靈活的、高性能的和高擴充性的存儲網絡環境,它可以更加有效地傳輸海量的資料塊。由于采用了光纖接口,是以SAN還具有更高的帶寬,同時,SAN也使統一管理和集中控制實作簡化。現在SAN已經廣泛應用于ISP和銀行等,随着使用者業務量的增大,SAN的應用前景将越來越光明。

iSCSI介紹

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上傳輸資料,沒有距離的限制。

iSCSI的組成

一個簡單的iSCSI系統大緻由以下部分組成:

  1. iSCSI Initiator或者iSCSI HBA
  2. iSCSI Target
  3. 以太網交換機
  4. 一台或者多台伺服器

一個完整的iSCSI系統的拓撲結構如圖下圖所示:

IP網絡存儲之iSCSI的概念與工作原理

iSCSI伺服器用來安裝iSCSI驅動程式,即安裝iSCSI Initiator;

Storage Router可以是以太網交換機或者路由器;i

SCSI儲存設備可以是iSCSI磁盤陣列,也可以是具有存儲功能的PC伺服器。

下面詳細介紹一下iSCSI Initiator與iSCSI Target的含義

1、iSCSI Initiator

iSCSI Initiator是一個安裝在計算機上的軟體或硬體裝置,它負責與iSCSI儲存設備進行通信。

iSCSI伺服器與iSCSI儲存設備之間的連接配接方式有兩種:

  1. 第一種是基于軟體的方式,即iSCSI Initiator軟體。在iSCSI伺服器上安裝Initiator後,Initiator軟體可以将以太網卡虛拟為iSCSI卡,進而接受和發送iSCSI資料封包,進而實作主機和iSCSI儲存設備之間的iSCSI協定和TCP/IP協定傳輸功能。這種方式隻需以太網卡和以太網交換機,無需其他裝置,是以成本是最低的。但是iSCSI封包和TCP/IP封包轉換需要消耗iSCSI伺服器的一部分CPU資源,隻有在低I/O和低帶寬性能要求的應用環境中才能使用這種方式。
  2. 第二種是硬體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。

2、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所示

IP網絡存儲之iSCSI的概念與工作原理

下面對每個分層進行簡單介紹。

  1. SCSI層:根據用戶端發出的請求建立SCSI CDB(指令描述塊),并傳給iSCSI層。同時接收來自iSCSI層的CDB,并向應用傳回資料。
  2. iSCSI層:對SCSI CDB進行封裝,以便能夠在基于TCP/IP協定的網絡上進行傳輸,完成SCSI到TCP/IP的協定映射。這一層是iSCSI協定的核心層。本章也主要針對這一層的配置和管理進行介紹。

    TCP/IP層:對IP封包進行路由和轉發,并且提供端到端的透明可靠的傳輸。

  3. iSCSI協定定義了在TCP/IP網絡發送、接收資料塊存儲資料的規則和方式。先發送端将SCSI指令和資料封裝到TCP/IP包中,然後通過IP網絡轉發,接收端收到TCP/IP包之後,将其還原為SCSI指令和資料并執行,執行完成後,将傳回的SCSI指令和資料再封裝到TCP/IP包中,之後再傳回發送端。這樣就完成了資料傳輸的整個過程。

iSCSI的整個資料傳輸過程在使用者看來是完全透明的,使用者使用遠端的儲存設備就像使用本地的硬碟裝置一樣。不過,這隻是理論狀态,實際上iSCSI的資料傳輸速率并不能完全達到本地硬碟的資料傳輸速率,但差别并不明顯。而且這種網絡存儲模式還有一個優點是安全性高,這對于資料集中存儲的iSCSI來說顯然非常重要。

繼續閱讀