存儲基礎知識


1.1 幾種常見存儲設備的接口

1.IDE接口

IDE的英文全稱為"Integrated Drive Electronics",即"電子集成驅動器",是曾經主流的硬盤接口。IDE接口也稱之為ATA接口。ATA的英文拼寫為"Advanced Technology Attachment"。2003年推出SATA(Serial ATA)后,原有的ATA改名為PATA(並行高技術配置,Parallel ATA)。

IDE是曾經普遍使用的外部接口,主要接硬盤和光驅。采用數據並行傳送方式,一個IDE接口只能接兩個外部設備。

IDE的工作方式需要CPU的全程參與,消耗的這部分資源會在一定程度上降低操作系統性能。

2.SATA接口

SATA(Serial ATA)是目前個人電腦上采用最多的接口。它采用串行連接方式。現在的SATAⅢ能達到的理論傳輸速度是6Gbps即750MB/s的速度。

3.SCSI接口

SCSI(Small Computer System Interface)小型計算機系統接口。它是各種計算機與外部設備之間的接口標准。

SCSI其內有控制芯片,可以代替cpu完成90%多的IO工作(如計算、控制、轉換等),CPU不必浪費時間進行等待,可提高整體性能。

SCSI采用鏈式連接,SCSI總線是SCSI設備之間傳輸數據的通路,又被稱作SCSI通道。它通過SCSI控制器來和硬盤之類的SCSI設備進行通信。

SCSI可以連接7—15個設備,由SCSI總線是寬總線(支持16個設備)還是窄總線(支持8個設備)決定。這些設備在SCSI體系結構中稱為target,可能是一塊硬盤、一個RAID陣列、一個cdrom等可能的設備。

每個target都必須有自己唯一的ID,在8-bit總線上,這個號碼是07,在16-bit總線上,這個號碼是015。

ID實際上就是這些設備地址。ID優先權由高到低的順序為7-6-5-4-3-2-1-0-15-14-13-12-11-10-9-8

SCSI鏈的最后一個SCSI設備要用作終結器(terminator),終結器是由電阻組成的,位於SCSI總線的末端,用來減小相互影響的信號,維持SCSI鏈上的電壓恆定。中間設備不需要終結器。一旦中間設備使用了終結器,那么就無法找到終結器后的SCSI設備了。而如果最后一個設備沒用終結器,SCSI也會無法正常工作。

在每個target上還可以繼續進行擴展(注意每個target對應一個ID),每個ID可以繼續向下擴展最多32個邏輯設備,也稱為邏輯單元(LU,logical unit)。每個邏輯單元對應一個設備,使用邏輯單元號LUN(Logical Unit Numbers)標識,LUN的范圍是0-31。也就是說,SCSI可以擴展出很多很多存儲設備。

SCSI的數據傳輸是以塊的方式進行的。

在SCSI體系結構中,首先由initiator向target發起會話,此會話不像web服務那樣休閑時就斷開,而是像ssh服務那樣,保持長久連接。在此會話中,initiator會發出scsi命令進行讀寫數據。

可以將initiator認為是scsi的客戶端,它是數據操作的需求方,target是scsi的服務端,它是數據的來源,也就是一堆堆的存儲設備。當initiator與target關聯后,target上的每一個lu在initiator上會單獨顯示為一塊硬盤格式,即/dev/sd{b,c,d,e...},顯示的先后順序根據lun號碼來決定。

4.SAS接口

SAS是Serial Attached SCSI的縮寫,即串行連接SCSI。也就是說SAS是新一代的SCSI技術,它和SATA一樣都采用串行技術。

SAS技術引入SAS擴展器,使SAS系統可以連接更多的設備,其中每個擴展器允許連接多個端口,每個端口可以連接SAS設備、主機或其他SAS擴展器。

1.2 存儲方案(存儲技術)

所謂的存儲方案,就是用單獨的軟硬件將磁盤或磁盤組管理起來供主機使用。也就是說,存儲方案和存儲設備是在不同層面的,存儲方案是設計如何組織和利用存儲設備的。

根據服務器類型分為封閉系統的存儲和開放系統的存儲

  1. 封閉系統主要指大型機,AS400等服務器。
  2. 開放系統指基於包括Windows、UNIX、Linux等操作系統的服務器。而開放系統的存儲又分為內置存儲和外掛存儲:
    • 開放系統的外掛存儲根據連接的方式又分為:直連式附加存儲DAS(Direct Attached Storage)和網絡化存儲FAS(Fabric-Attached Storage);
    • 開放系統的網絡化存儲根據傳輸協議又分為:網絡附加存儲NAS(Network Attached Storage)和存儲區域網絡SAN(Storage Area Network)。

目前絕大部分用戶采用的是開放系統,其中外掛存儲占有目前磁盤存儲市場的70%以上。

目前的外掛存儲解決方案主要分為三種:DAS、NAS和SAN。下圖雖簡單,卻描述了這直連式存儲和網絡存儲的區別。

存儲方案內部使用的硬盤多為SATA/SAS,追求高性能也用SSD,經過串聯或者RAID之后,對主機提供訪問接口。

1.2.1 DAS存儲

直接式存儲(DAS:Direct Attached Storage),是指將存儲設備通過SCSI接口或FC接口直接連接到一台計算機上。DAS不算是網絡存儲,在存儲設備和主機之間沒有任何網絡設備的參與,只有掛載它的主機才可訪問它。

最典型的DAS存儲類型就是個人電腦中的硬盤,它和電腦直連,沒有經過任何網絡設備,也只有這台電腦可以訪問它上面的數據。

也就是說,服務器發生故障時,連接在服務器上的DAS存儲設備中的數據暫時不能被存取。

DAS是最原始最基本的存儲方式,缺點在於容量有限、難於共享,從而造成信息孤島。

DAS缺陷有二:

  • (1).DAS存儲只能通過與之相連的主機進行訪問,不能實現數據與其他主機的共享。
  • (2).直連式存儲與服務器主機之間的連接通道通常采用SCSI或者SAS連接,隨着服務器CPU的處理能力越來越強,存儲硬盤空間越來越大,陣列的硬盤數量越來越多,SCSI或SAS通道將會成為IO瓶頸;且SCSI ID或SAS ID資源有限,能夠建立的SCSI或SAS通道連接有限。也就是容量有限。

1.2.2 NAS存儲

是指將存儲設備通過標准的網絡連接到一台或一群計算機上。

NAS有文件系統和IP地址,可以類似的理解為網上鄰居的共享磁盤,或者NFS的服務端,即導出目錄的一端。NAS是文件級的存儲方法,它有自己的文件系統,如NFS,SMB的CIFS。所以它是真正即插即用的產品。

NAS和SAN本質上的不同點在於NAS有自己的文件系統,而SAN的文件系統在應用程序服務器上而非存儲服務器上。這樣的不同點導致NAS是文件級別的數據傳輸,而SAN是基於塊級別的傳輸。

對於大量小文件來說,由於每個文件都要查找文件索引號,所在塊號等等,這些都會消耗資源和時間,所以導致文件級別的傳輸要慢的多得多,而塊級別的傳輸則不管某個塊屬於哪個文件,只要需要就會把塊傳輸出去。

NAS性能比SAN要差很多,但相對成本也低很多。

1.2.3 SAN存儲

SAN即存儲區域網絡(Storage Area Network,SAN)。目前有兩種類型的SAN,一種是FC SAN(光纖通道的SAN),一種是IP SAN(以太網的SAN,即現在的iSCSI)。

一般都采用光纖通道(Fibre Channel)技術,通過光纖通道交換機連接存儲陣列和服務器主機,建立專用於數據存儲的區域網絡。FC SAN已經相當成熟,成為業界的實施標准。如果是IP SAN,則下圖中的FC部分換為以太網,對交換機而言也沒有光纖交換機那么嚴格的要求。

SAN是基於塊級別的數據傳輸。在應用程序服務器本地有本地文件系統,這是和NAS根本上的區別。

SAN解決方案從基本功能剝離出存儲這部分功能,在理論上比其他存儲方案要先進一些。

相比於FC SAN,IP SAN的弱點除了在硬件設備上,還在於它要對數據進行TCP/IP的封裝,這需要消耗資源(硬件iSCSI使用HBA卡控制芯片來封裝不會消耗操作系統資源,但挺貴的)。同時它還要使用以太網,所以網絡的情況對其也有很大影響。

SAN是目前業界中高端存儲的主流標准。

1.2.4 SAN和NAS的區別

為什么提到NAS就不得不提到SAN呢?原因之一是它們的名稱有69關系,容易混淆;之二是NAS和SAN既競爭又合作,很多高端NAS的后端存儲就是SAN。NAS和SAN的整合也是存儲設備的發展趨勢。

從上面的構中可以看到,SAN文件系統分別在每一個應用服務器上;而NAS則是每個應用服務器通過網絡共享協議(如:NFS、CIFS)使用同一個文件系統。換句話說,NAS和SAN存儲系統的區別是NAS自己管理自己的文件系統。

現在高端存儲已經很多都使用SAN+NAS了。如下圖。

在上圖的雙虛線框表示一台NAS。它通過Fibre Channel從后端SAN獲得存儲空間,創建文件系統后,再通過以太網共享給服務器。SAN提供的存儲單位是LUN,屬於block級別的。經過NAS創建成文件系統后,就變成文件級別的了。

如果上圖描述的不夠清楚,下圖就容易理解多了。NAS通過FC Switch連到SAN上,應用服務器再通過Ethernet Switch連到NAS上。同時SAN也直接提供block級別的存儲給應用服務器。

關於NAS和SAN的區別,可以列出很多來。比如帶寬大小,距離長短,共享優劣等等。幾乎所有區別都是由兩個因素衍生出來的。一個是FC與Ethernet,另一個是block與file system。簡而言之,如果用戶需要通過FC訪問block,就用SAN;如果需要通過Ethernet訪問file system,就用NAS。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM