儲存子系統剖析——從儲存子系統角度看FCoE模組,子系統fcoe

來源:互聯網
上載者:User

儲存子系統剖析——從儲存子系統角度看FCoE模組,子系統fcoe



        note:在之前的一篇FCoE模組設計和實現的文章,大致講到了FCoE模組的設計。雖然很清楚地講了FcoE模組的組成,可是沒有站在整個儲存子系統的角度來看FCoE,總是有點局限的感覺,然後儲存子系統和網路子系統是怎麼互動的也沒有說清楚,希望在這裡這些疑問都能得到解答。

        我們知道linux核心是層次設計的設計模式,儲存子系統也不例外。下面這張圖(來自網路)表示了linux下面儲存子系統的層次化模組。




e.g.Application 訪問檔案

        根據,如果一個使用者空間中的應用程式(假設是用c語言編寫的)要讀取存放在remote scsi磁碟上面的某個檔案,那麼這個應用程式就需要使用c庫的程式,然後調用核心提供的系統調用read(),系統調用會訪問VFS,也就是虛擬檔案系統,那麼虛擬檔案系統是什麼呢?虛擬檔案系統其實是檔案系統的抽象層(複用代碼的設計思想?),然後由VFS 選擇那個正確的檔案系統,因為甚至有的檔案系統就是網路檔案系統呢。然後到了真正的檔案系統,檔案系統是一個組織檔案在磁碟上面存放的管理系統,由檔案系統找到檔案對應的塊。再然後到了塊裝置層。檔案系統和塊裝置驅動層會有一個叫做buffer cache的層次,那是將磁碟上面的資料緩衝的一段記憶體和相關的資料結構。


        塊裝置驅動需要要和下面的介面打交道,對於scsi子系統來說,或者對於更加具體的fcoe介面,這個互動過程是怎樣的?那麼首先看一下塊裝置的作用吧。



塊裝置

        當unix系統剛寫出來的時候,它有一個大膽的設計,那就是把所有的物理裝置也都看做是檔案。但是不同的裝置是有區別的,有的是隨機存取,有的是按順序存取方式。但是為什麼還要用同樣的介面(檔案系統)來和一個印表機或一個磁碟裝置通訊呢?因為即使他們不一樣,但是都抽象為檔案還是可以的,並且這樣可以讓整個系統變得很簡單。

        字元裝置又稱為rawdevices,比如印表機和終端機,檔案系統根據這個檔案,然後使用字元裝置驅動提供的API就可以往字元裝置讀寫資料。塊裝置在檔案系統裡面為/dev/dsk,塊裝置是隨機存取的,檔案系統可以掛(mount)在塊裝置上面,而不可以掛在字元裝置上面。


塊裝置驅動

         塊裝置驅動是為磁碟塊裝置和檔案系統之間通訊的一個橋。系統可以將檔案系統載入在塊裝置上面,塊裝置驅動大概就是提供了這樣的一個載入的功能,然後使得檔案系統可以讀寫塊裝置。

        塊裝置驅動下面可能是scsi子系統或者別的磁碟裝置驅動,直接連接磁碟。至於scsi子系統,下面將單獨介紹。



scsi子系統

        SCSI是一組標準集,定義了與大量裝置通訊所需的介面和協議。linux提供了一個SCSI子系統用於和SCSI裝置通訊。SCSI適合於可靠高效能遠距離儲存。


        SCSI是客戶機/伺服器模型,客戶機發出SCSI命令,然後由伺服器接收和處理SCSI命令,SCSI目標通常為啟動程式提供一個或者多個邏輯單元編號(LUN),SCSI實際的I/O操作也只處理這種實體。在儲存地區中,LUN通常表示一個主機能夠執行讀寫操作的磁碟。

 

        關於SCSI,我在FCoE模組設計和實現介紹的比較詳細。總之,SCSI上層接收來自上層(比如通用塊層,檔案系統)的請求並將其轉換成SCSI請求,及負責完成SCSI命令並將狀態語音總機上層。中介層是上層和底層的公用服務層。底層是一組磁碟機,稱為SCSI底層驅動,可以與物理裝置通訊。


note:學習塊裝置編程和scsi塊裝置編程?參考http://www.tldp.org/LDP/khg/HyperNews/get/devices/scsi/1.html



FCoE模組

        從上面的分析中,我們發現FCoE模組是作為linux核心中SCSI子系統的底層驅動, 用來串連SCSI子系統和乙太網路系統,主要完成SCSI命令到FCoE幀的轉化。

        FCoE模組的協議處理依賴scsi_transport_fc模組、libfc模組和libfcoe模組。


 note:因為FCoE模組設計和實現介紹的比較詳細了,關於FCoE模組的相關component不再重複,主要說一下I/O component。


         I/O模組完成FCoE協議處理,其中包含了SCSI命令(或資料)產生FC幀、FC幀到FCoE幀的映射、FCoE幀封裝到乙太網路幀和發送到乙太網路核心。FCoE模組需要結合SCSI系統,libFC模組和乙太網路系統完成IO請求。發起端主要IO請求類型為讀請求和寫請求。


        Ethernet模組是Linux核心網路處理的模組,工作在網路的l2層,負責將資料包發送到物理層(然後經過FCoE交換器達到storageserevr),或者將從link過來的層次轉寄到別的層次,比如說網路的上層,這裡是指的l3,又或者根據頭部的內容轉寄到FCoE模組,再由FCoE模組處理後,交給SCSI子系統和儲存子系統進行處理。



#########儲存虛擬化         在虛擬化環境中,儲存子系統又有著怎樣怎樣的layout?或許下面的簡單分析值得參考。

相對於host中的儲存子系統,虛擬機器中的儲存子系統則有更多的層次(既包括VM由包括hypervisor和host),還可以由於部署的不同,有更大的彈性(flex?)。

比如說對於基於fcoe的儲存虛擬化,主要包括virtual disk, raw disk 和vm based storage。


Virtual disk是SCSI層的虛擬化,虛擬機器通過SCSI層直接存取存放裝置。虛擬機器不需要考慮其存放裝置是網路儲存還是本機存放區。Virtual disk是比較通用的模型,在不修改虛擬化平台和核心代碼的情況下,可以在主流虛擬化平台上運行。在論文[IOFlow]中的儲存方式就是這種Virtual disk的。

Raw disk的實現層次是FCoE協議棧,和FCoE的機制原理(FCoE的虛擬化)關係比較大。

NAS(Network Attached Storage)和iSCSI可以通過虛擬機器的網路裝置訪問存放裝置,不需要VMM(VirtualMachine Monitor)將存放裝置映射給虛擬機器。上述訪問存放裝置的模式,被稱為VM-based storage,這種方式我在實驗中部署過。

 



p.s.這裡只是大概的講了一下儲存子系統,如果要精通儲存子系統最好看看linux核心源碼相關部分,順帶把網路子系統的源碼看看~~



FCoE與iSCSI哪種才是適合你的最佳選擇

前者讓你可以通過乙太網路建立連結,串連到光纖通道SAN;後者可以通過同樣的連結,串連到IP SAN。 不過許多供應商認為,iSCSI是作為光纖通道SAN(IP-SAN)擴充產品來提供的。所以,既然iSCSI和FCoE都能通過乙太網路讓你串連到光纖通道SAN,那麼你會選用哪一種呢?FCoE走向標準化Emulex公司的智能網路產品副總裁Taufik Ma說:“iSCSI通過乙太網路提供了Block Storage,它使用了獨特的協議來傳送SCSI命令,這種TCP/IP傳輸的成本相對高昂。這需要用不同方法來管理iSCSI基礎設施,而且使用的工具有別於如今企業資料中心使用的現有SAN管理工具。FCoE合并了光纖通道架構,並且簡化了整體的資料基礎設施,同時確保可以利用現有的光纖通道SAN。”iSCSI是對光纖通道的補充,滿足了不同的市場需求。iSCSI針對的是資料中心外面的標準伺服器,它為沒有龐大光纖通道基礎設施的使用者提供了SAN技術。而FCoE的目的在於在資料中心裡面提供統一的線速支援。乙太網路方面的改進會讓iSCSI部署環境和乙太網路光纖通道部署環境都能受益。換句話說,iSCSI不是用來對光纖通道SAN進行擴充,這個角色可能會由FCoE來扮演。FCoE將使SNA流量能夠通過乙太網路網路實現本地傳輸,又保護及延續了客戶在光纖通道儲存網路方面的投資。有人提議使用一種新的方法直接映射乙太網路光纖通道,該提案得到了業內幾大廠商的支援,包括博科、思科、EMC、Emulex、IBM、英特爾、Nuova、QLogic和Sun等公司。這批廠商已向美國國家標準局(ANSI)下設的T11委員會提交了制訂新的FCoE技術規範的方案。FC應對iSCSI的方法這批廠商大概不想看到iSCSI蠶食光纖通道的收入、牽制光纖通道的進一步發展。這些廠商稱,FCoE提供了無縫延續及保護現有光纖通道投資的優點。它有望為客戶提供統一的資料中心光纖通道架構,可以滿足儲存及更廣泛的資料中心串連對可靠性、時延和效能等方面的要求。另外,它還為更具成本效益的資料中心連網提供了額外的伺服器串連選項。這是關鍵所在。沒錯,過去要是你想把次要伺服器(second line server)串連到光纖通道SAN上,那麼需要價格不菲的光纖通道主機匯流排介面卡(HBA)和光纖通道線纜。所以,iSCSI曾經確實看上去很誘人,因為你可以使用廣為人知、成本低廉的乙太網路和IP串連到光纖通道SAN上。不過這給你帶來了並行的儲存網路結構,並且讓情況複雜化。比較好的辦法就是,擁有統一的光纖通道架構,通過乙太網路來傳輸協議,從而串連次要伺服器,而不需要主機匯流排介面卡(HBA)或者其他光纖通道成套工具以及IP。FCoE可能會使iSCSI無法進入企業儲存區地區網(SAN)。這確實頗具諷刺意味。這批廠商稱,因為目前使用者已經安裝了一大批光纖通道設施,所以通過乙太網路傳輸光纖通道流量比統一使用乙太網路構建的環境來得省錢。乙太網路具有的經濟意義只是局部適用,對吧?EMC公司負責技術同盟副總裁Chuck Hollis對FCoE充滿信心。立足於乙太網路的經濟意義而對光纖通道SAN進行擴充(網卡成本低廉,而光纖通道HBA價格不菲),又可以繼續使用光纖通道,這確實是一個好想法。Hollis在其部落格中寫道:“業界的首次嘗試iSCSI只獲得了局部成功。好訊息是,大家最後都支援它(包括微軟等幾個作業系統重量級廠商推動了iSCSI的應用)。而iSCSI在比較新、比較小的SAN中也找到了理想的市場,因為IP SAN中找不到光纖通道的影子。不過同時,與總的儲存市場相比,iSCSI所佔的份額仍非常小。支......餘下全文>>
 
光纖、iSCSI、NAS:誰是伺服器虛擬化最佳儲存類型

因為每個應用環境都是不同的,即使在一個地方表現良好,那也不能保證在其他地方同樣合適。 對於伺服器虛擬化環境來說,光纖通道儲存是比較傳統的選擇。但現在iSCSI和NAS的普及程度也越來越高,畢竟它們的性價比更加突出。下面本文就來看看每一種網路儲存技術的規格特性,並逐一分析它們的優勢和不足。 光纖通道儲存 單從效能和可靠性的角度看,光纖通道無疑是出色的儲存架構,其它產品很難與之PK.但凡事都有兩面性,使用光纖通道儲存的確獲得了高效能,可使用者卻不得不承擔更高的成本,以及面對更複雜的技術架構。不過,光纖通道技術在資料中心領域的應用曆史很長,基礎非常好,因此比較大的虛擬化環境通常都傾向於選擇光纖通道,這些使用者主要還是考慮速度和可靠性的因素(光纖通道當前的頻寬是8 Gbps,下一代是16 Gbps)。另外,光纖通道儲存網路一直是相對獨立的,因此與基於乙太網路的存放裝置相比安全性更好。可問題是,光纖通道需要特殊的HBA主機介面卡、特殊的交換器,而且這些配件比乙太網路絡使用的同類配件更加昂貴。 客觀的說,如果要從零開始構建一個光纖通道網路代價是很高的。除此之外,光纖通道環境的部署和管理也更複雜,與傳統網路架構相比,它配置起來難度很大,熟悉此項技術的人才也偏少。當前,很多公司都有技術熟練的網路系統管理員,但其中卻很少有光纖通道儲存網路方面的管理人才。設計並管理一個SAN架構通常需要經過特殊的培訓,這無形中又進一步增加了實施的費用。 光纖通道儲存的優勢: FC是部署企業級儲存架構的首選,而且許多應用環境本身就已經在使用SAN了; 由於具有更高的可用頻寬,通常情況下效能表現最好; 獨立的光纖通道網路更安全;還有LUN zoning和LUN masking等存取控制機制; 支援boot from SAN(從儲存啟動系統),伺服器本地不再需要硬碟; 基於block的Block Storage類型,可以使用VMware vSphere內建的VMFS卷(一種檔案系統)。 光纖通道儲存的不足: 從零開始構建的話,部署成本會很高; 需要特殊的、昂貴的配件,比如交換器、線纜和HBA卡; 實施和管理也許更複雜,通常需要專職的儲存管理員; 可用的安全控制功能較少,實現認證和加密比較複雜。 如果使用者的物理伺服器上準備運行多個虛擬機器,且應用類型對磁碟I/O有較高的要求,那麼為了得到最佳的效能,使用者或許應該認真考慮使用光纖通道儲存系統。此外,FCoE也是一個選擇,它相當於在傳統的乙太網路裝置上承載光纖通道協議。但目前FCoE必須部署在同樣昂貴的10 Gbps乙太網路環境,需要特殊的交換裝置。 如果使用者的應用環境中已經有了FC SAN,那麼在構建虛擬化平台時使用光纖通道儲存是很合適的。擴充一個已有的SAN環境很容易,而且比部署一個全新的環境要便宜許多。如果使用者的預算充足,而且有管理複雜環境的技術能力,那麼選擇光纖通道儲存一定沒錯。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.