iscsi協(xié)議及實現(xiàn).ppt.ppt_第1頁
iscsi協(xié)議及實現(xiàn).ppt.ppt_第2頁
iscsi協(xié)議及實現(xiàn).ppt.ppt_第3頁
iscsi協(xié)議及實現(xiàn).ppt.ppt_第4頁
iscsi協(xié)議及實現(xiàn).ppt.ppt_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、iSCSI協(xié)議及實現(xiàn),iSCSI協(xié)議簡介,涉及到的SCSI的概念,啟動設備和目標設備 啟動設備(initiator):發(fā)起I/O請求的設備 目標設備(target):響應請求執(zhí)行實際I/O操作的設備 在啟動設備和目標設備建立連接后,目標設備在操作中作為主設備控制整個工作過程 一般情況下主機適配器HBA作為啟動設備,磁盤/磁帶作為目標設備,涉及到的SCSI的概念,CDB:命令描述塊。SCSI的命令及參數(shù)是填充在一定長度的數(shù)據(jù)塊內(nèi)傳輸?shù)?SCSI read(6) CDB,典型的SCSI系統(tǒng),SCSI的缺點,SCSI是點對點的、直接相連的計算機到存儲器的設備接口,不適用于主機到存儲器的存儲網(wǎng)絡通訊

2、SCSI總線的長度被限制在25米以內(nèi),對于Ultra SCSI長度限制為12米,不適于構(gòu)造各種網(wǎng)絡拓撲結(jié)構(gòu) SCSI總線上設備數(shù)限制為15,不適用于多服務器對多存儲設備的網(wǎng)絡結(jié)構(gòu),SCSI傳輸協(xié)議,iSCSI的概念,iSCSI是關(guān)于SCSI的命令 、數(shù)據(jù)和狀態(tài)到TCP/IP 網(wǎng)絡的映射的 協(xié)議 對TCP層的改造和增加較 低功能層(對TCP層透明) 是為了適應大批量存儲數(shù) 據(jù)傳輸?shù)男枰?iSCSI協(xié)議現(xiàn)狀,IETF正在制定iSCSI協(xié)議標準,最新草案是draft-ietf-ips-iSCSI-06 IETF:/ IPS工作組:http:/www.ece.cmu

3、.edu/ips/,iSCSI產(chǎn)品,Cisco SN 5420 Storage Router IBM TotalStorage IP Storage 200i,用Cisco SN 5420構(gòu)造的存儲系統(tǒng),iSCSI協(xié)議結(jié)構(gòu),1.概述 2.協(xié)議數(shù)據(jù)單元格式 3.用于iSCSI協(xié)議的SCSI模式參數(shù) 4.登錄相 5.登錄相之外的工作參數(shù)協(xié)商 6.錯誤處理和恢復,iSCSI的命名和編址,iSCSI使用類似URL的iSCSI名字來唯一鑒別啟動設備和目標設備。 地址會隨著啟動設備和目標設備的移動而改變,但名字始終是不變的,iSCSI的命名和編址,一個iSCSI名字由三部分組成:類型定義符、名字認證機構(gòu)、

4、由該認證機構(gòu)分配的名字 .acme.sn.8675309 iSCSI地址格式 :/,iSCSI的發(fā)現(xiàn)機制,啟動設備可以通過下列方法發(fā)現(xiàn)目標設備: 在啟動設備上設置目標設備的地址 在啟動設備上設置默認目標設備地址,啟動設備可通過“SendTargets”命令從默認目標設備上獲取iSCSI名字列表 發(fā)出服務定位協(xié)議(SLP)廣播請求,等待目標設備回應 查詢存儲設備名字服務器獲取可訪問的目標設備列表,iSCSI會話(session),啟動設備和目標設備之間的TCP連接構(gòu)成一次會話 一個會話包含一個或多個TCP連接 會話由會話號區(qū)分,會話號包括啟動設備部分和目標設備部分 會話中包含的TCP連接可以增加

5、也可以刪除,這些連接由連接號(CID)區(qū)分,命令編號,從啟動設備到目標設備SCSI層的命令由iSCSI編號,該號碼由iSCSI協(xié)議數(shù)據(jù)單元中的命令序列號(CmdSN)攜帶 目標設備的iSCSI層必須按命令序列號的順序把命令傳遞給SCSI層 目標設備的SCSI層接收到命令后該命令序列號即失效。命令序列號也能被用來進行命令的流量控制,iSCSI登錄和協(xié)商,iSCSI登錄是用來在啟動設備和目標設備之間建立TCP連接的機制 登錄的作用包括鑒別通訊雙方、協(xié)商會話參數(shù)、打開相關(guān)安全協(xié)議并且給屬于該會話的連接作標記 登錄過程完成后,iSCSI會話進入全功能相(full feature phase),這時啟動

6、設備就能通過iSCSI協(xié)議訪問目標設備里的各邏輯單元了,響應/狀態(tài)編號,從目標設備到啟動設備的響應由iSCSI編號,在iSCSI協(xié)議數(shù)據(jù)單元中用狀態(tài)序列號(StatSN)表示 啟動設備提供期望狀態(tài)序列號ExpStatSN來確認狀態(tài) 如果狀態(tài)序列號和期望狀態(tài)序列號不同則意味著連接出現(xiàn)了錯誤,協(xié)議數(shù)據(jù)單元格式,iSCSI啟動設備命令基本首部(BHS),iSCSI協(xié)議的實現(xiàn),iSCSI代碼來源,iscsi-Apr6.tgz: Intel () kernel_emulator_10.tgz: IOL(InterOperability Lab) of UNH(University of New Hamp

7、shire) () Iscsi-0.1.tar.gz: iSCSI research team of UML(University of Massachusetts Lowell) (/mbrown/iscsi),程序的運行,啟動設備端: insmod scsi_target.o insmod iscsi_target.o 客戶端: insmod iscsi.o insmod iscsi_client.o fdisk /dev/sda mke2fs /dev/sda1 mount t ext2 /dev/sda1

8、 /mnt/iscsi raiddev /dev/md0(多個目標設備),程序的結(jié)構(gòu)(目標設備),1.STML(SCSI Target mid-level) 處理SCSI命令 2.FETD(front-end Target driver) 將STML發(fā)來的命令數(shù)據(jù)封裝成底層通訊協(xié)議數(shù)據(jù)包的格式發(fā)送到網(wǎng)絡上或者將從網(wǎng)絡接受到的數(shù)據(jù)包解包傳遞給STML,將STML和FETD分開的原因,增強程序的可重用性 STML是通用的 FETD是和底層采用的通訊協(xié)議(TCP/IP、Fibre channel)相關(guān)的,程序功能模塊圖,STML提供給FETD的API,register_target_template

9、() deregister_target_template() register_target_front_end() deregister_target_front_end() rx_cmnd() scsi_rx_data() scsi_target_done() scsi_release() rx_task_mgmt_fn(),FETD提供給STML的API,detect() release() xmit_response() rdy_to_xfer() task_mgmt_fn_done() report_aen(),重要的數(shù)據(jù)結(jié)構(gòu),struct Target_Emulator stru

10、ct Scsi_Target_Template struct Scsi_Target_Device struct Target_Scsi_Cmnd struct scsi_request struct Target_Scsi_Message struct scsi_cmnd struct sg_io_hdr_t,STML的初始化,初始化一個struct Target_Emulator類型的全局變量 創(chuàng)建線程scsi_target_process_thread處理大多數(shù)的STML的工作 進入等待,FETD的初始化,向STML注冊,STML將其加入設備隊列 創(chuàng)建線程iscsi_server_thr

11、ead監(jiān)聽端口4002 進入等待,FETD向STML的注冊過程,FETD向STML的注冊過程,FETD向STML注銷過程,FETD對請求的響應,當在4002端口監(jiān)聽的線程接收請求后 創(chuàng)建線程iscsi_rx_thread接收SCSI命令 創(chuàng)建線程iscsi_tx_thread傳送應答和狀態(tài) FETD創(chuàng)建一個Target_Scsi_Cmnd類型的數(shù)據(jù)接收SCSI命令,將其加入命令隊列,喚醒STML的線程STT處理收到的SCSI命令,STML對FETD的響應,調(diào)用handle_cmd處理命令隊列 調(diào)用hand_to_front_end返回處理結(jié)果 處理結(jié)果加入FETD的發(fā)送隊列xmit_queue等待發(fā)送 在結(jié)果發(fā)送完成后調(diào)用scsi_target_dones釋放資源,讀類型命令的處理,iSCSI 的應用,采用iSCSI的設備的特點,采用了iSCSI協(xié)議的硬件設備是NAS和SAN的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論