存儲基礎知識

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

1.IDE接口web

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

IDE是曾經廣泛使用的外部接口,主要接硬盤和光驅。採用數據並行傳送方式,一個IDE接口只能接兩個外部設備。服務器

IDE的工做方式須要CPU的全程參與,消耗的這部分資源會在必定程度上下降操做系統性能。網絡

2.SATA接口ssh

SATA(Serial ATA)是目前我的電腦上採用最多的接口。它採用串行鏈接方式。如今的SATAⅢ能達到的理論傳輸速度是6Gbps即750MB/s的速度。性能

3.SCSI接口操作系統

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

SCSI其內有控制芯片,能夠代替cpu完成90%多的IO工做(如計算、控制、轉換等),CPU沒必要浪費時間進行等待,可提升總體性能。3d

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

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

每一個target都必須有本身惟一的ID,在8-bit總線上,這個號碼是0~7,在16-bit總線上,這個號碼是0~15。

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。

相關文章
相關標籤/搜索