SmallComputer System Interface(SCSI,小型計算機系統接口),是一種用於計算機及其外圍設備之間(硬盤、光驅、打印機、掃描儀)的物理的鏈接和傳輸數據的一套標準。SCSI標準定義命令、通信協以及實體的電氣特性,最長應用於存儲設備上。是一種普遍應用於小型機上的高速數據傳輸技術。SCSI接口具備應用範圍廣、多任務、帶寬大、CPU佔用率低,以及熱插拔等優勢。SCSI硬盤主要應用於中、高端服務器和高檔工做站中。在系統中應用SCSI必需要有專門的SCSI控制器,也就是一塊SCSI控制卡,才能支持SCSI設備,SCSI控制器有本身的命令集和緩存。SCSI控制器上有一個至關於CPU的芯片,它對SCSI設備進行控制,能處理大部分的工做,減小了中央處理器的負擔(CPU佔用率)。緩存
Fibre Channel(FC,光纖通道),適用於千兆數據傳輸、成熟而安全的解決方案。與SCSI相比,FC提供更高的傳輸速率,更遠的傳輸距離,更多的設備鏈接支持,更穩定的性能。安全
Direct Attached Storage (DAS,直接附加存儲),將存儲設備經過SCSI接口或FC直接鏈接到一臺計算機。當服務器在地理上很分散,經過SAN或NAS在它們之間進行互聯很是困難時,DAS是比較好的解決方案。可是這種方式只能經過與之鏈接的主機進行訪問,不能實現數據共享。DAS主要優勢:1,實現大容量存儲,將多個磁盤合併成一個邏輯磁盤,知足海量存儲要求。2,實現應用數據和操做系統的分離,操做系統存放本機硬盤中,而應用數據放於陣列中。3,提升存取性能,操做單個文件,同時有多個物理磁盤在並行工做,效率比單個磁盤高。但DAS會佔用大量CPU資源,I/O資源服務器
Network-Attached Storage(NAS,網絡附加存儲),經過網絡交換機鏈接存儲系統和服務器,創建專門用於數據存儲的私有網絡,用戶經過TCP/IP協議訪問數據,採用NFS,HTTP,CIFS來實現基於文件級的數據共享,可以支持多種操做系統。網絡
Storage Area Network(SAN,存儲區域網絡),經過光纖交換機、光纖路由器、光纖集線器等設備將磁盤陣列等存儲設備與相關服務器鏈接起來的高速專用子網。SAN有3個部分組成,分別是鏈接設備(路由器,光纖交換機和hub)、接口(SCSI,FC)、通信協議(IP和SCSI)。這三個部分加上存儲設備和服務器就構成了一個SAN系統。 ide
Internet Small Computer System Interface(ISCSI,因特網SCSI),是一個傳輸層協議,用於將SCSI數據包映射爲以太網數據包。ISCSI是基於IP協議的技術標準,容許在TCP/IP協議上傳輸SCSI命令,實現SCSI和TCP/IP協議的鏈接。在ISCSI出先之前,構建SAN的惟一技術是利用FC,要花費大量建設成本,ISCSI出現之後出現了另外一種方式IP SAN。以光纖搭建的存儲區域網絡就是FC SAN,以ISCSI技術搭建的存儲區域網絡叫作IP SAN。FC SAN 與 IPSAN區別:在傳輸方式上,FC SAN與IP SAN都採用塊協議來完成。在傳輸速度上,FCSAN(2Gbit/s)>iscsi(1Gbit/s)。在傳輸距離上,FC SAN理論可達100千米,實際上超過50千米後就會出現瓶頸。IP SAN 則沒有距離限制。性能
FC SAN與IP SAN比較spa
ISCSI拓撲圖操作系統
iSCSI報文和其它報文都經一個交換機,流量較大可能帶來網絡阻塞。3d
爲了傳輸iscsi報文專門增長一個交換機。或着做爲一個備用,一個交換機出現故障,不妨礙iscsi系統正常工做。blog
ISCSI服務器和ISCSI存儲設備之間的鏈接方式有兩種,一種是基於軟件的方式,既iSCSI Initiator軟件。
ISCSI服務器用來安裝ISCSI驅動程序,既ISCSIInitiator,Initiator能夠將以太網卡虛擬爲iscsi卡,進而接收和發送Iscsi報文,從而實現主機和iSCSI存儲設備之間的iSCSI協議和TCP/IP協議傳輸功能。這種方式只須要以太網卡和以太網交換機,無需其它設備。但ISCSI報文和TCP/IP報文轉換須要消耗iSCSI服務器的一部分CPU資源。只有在低I/O和低帶寬性能要求的環境中才能使用這種方式。
第二種是iSCSI HBA(Host Bus Adapter)卡方式,將HBA卡安裝在iSCSI服務器上,從而實現iSCSI服務器與交換機之間、iSCSI服務器與存儲設備之間的高效數據傳輸。硬件iSCSI HBA卡不須要消耗iscsi服務器的cpu資源,能夠提供更好的數據傳輸和存儲性能。
ISCSI Target就是一個用於存儲數據的iSCSI磁盤陣列或具備iSCSI功能的設備。大多數操做系統能夠利用一些軟件將系統轉變爲一個「iSCSI Target」。利用iSCSI Target軟件,能夠將服務器的存儲空間分配給客戶機使用,客戶機能夠像使用本地硬盤以阿鞅使用iscsi磁盤。
SCSI層:根據客戶端發出的請求創建SCSICDB(命令描述塊),並傳給ISCSI層。同時接收來着ISCSI層的CDB,並嚮應用層返回數據。
ISCSI層:對SCSI CDB進行封裝,以便可以在基於TCP/IP協議的網絡上進行傳輸,完成SCSI到TCP/IP的協議轉換。
TCP/IP層:對IP報文進行路由和轉發。
ISCSI協議定義了在TCP/IP網絡發送、接收數據塊存儲數據的規則和方式。先發送端將SCSI命令和數據封裝到TCP/IP包中,而後經過IP網絡轉發,接收端收到TCP/IP包後,將其還原爲SCSI命令和數據並執行,執行完後,將返回的SCSI命令和數據再封裝到TCP/IP包中,以後再傳回發送端。