Linux IO Target使用介紹

2021-12-30 03:18:43 字數 1815 閱讀 5016

1. 簡介

linux-io target在linux核心中(linux 2.6.38後),用軟體實現各種scsi target,其支援的san技術中所有流行的儲存協議包括fibre channel(qlogic,linux3.5)、fcoe(linux3.0)、iscsi(linux 3.1)、iser (mellanox infiniband,linux3.10), srp (mellanox infiniband,linux3.3), usb等,同時還能為本機生成模擬的scsi裝置,以及為虛擬機器提供基於virtio的scsi裝置。linux-io target使使用者能夠使用相對廉價的linux系統實現scsi、san的各種功能,而不用購買昂貴的專業裝置。

2. 架構

上圖顯示了linux-io target的各個元件。lio模擬了通用的scsi裝置,並且實現了spc-3和4。接著,通過各種各樣的backstore物件,來匯入真正的後端儲存,最後連線上各種前端fabric模組,來匯出模擬的scsi裝置。無論是fibre channel、fcoe、iscsi還是vhost(即virtio),都只是一種fabric技術,我們可以將其理解成傳輸協議,而在這些傳輸協議中傳輸的scsi命令則總是由核心的scsi裝置處理的。要支援新的fabric技術,並不需要修改核心的scsi裝置和後端儲存模組,只需要按照該fabric技術的規範實現對scsi命令的傳輸就可以了。iscsi技術就是把scsi命令放在tcp/ip中傳輸,vhost技術就是把scsi命令放在virtio佇列中傳輸。

generic target engine:實現了sam中規定的乙個scsi target的功能,主要是scsi協議的解析。它通過fabric模組和initiator通訊,通過backstore和具體的儲存裝置通訊。fabric modules:實現了lio的前端,即scsi協議傳輸層的模組。可以通過fabric hardware abstraction layer(f-hal)來為lio增加新的fabric模組。

backstores:實現了lio的後端,即訪問磁碟資料的方式。可以通過storage hardware abstraction layer(s-hal)在lio中增加新的儲存硬體的支援。通常使用blockio和fileio。

3. 使用方法

linux-io target則在核心態實現了對target的模擬,配置管理則採用了更為「現代化」的基於sysfs的方式,提供了友好的使用者態管理工具。從核心的2.6.38版起,linux核心都包含linux-io target的相關模組。在使用者態,各大發行版都打包了targetcli和rtslib,其中targetcli程式用於配置、管理,rtslib則提供python程式設計介面。

1)targetcli

targetcli是linux-io target的使用者態的管理配置工具。使用者可以使用yum或apt-get直接從各大發行版的官方倉庫安裝,對於較老的linux版本需要自己編譯原始碼安裝。targetcli提供乙個類似shell的介面,各種target、tpg、lun、backstore物件則被組織成目錄樹的形式,使用者可以用ls、cd命令來瀏覽目錄樹,用create、delete命令來建立和刪除各種物件。瀏覽配置,就是瀏覽目錄樹,建立刪除各種物件,就是在目錄樹的各級節點中建立新的節點。同時targetcli還提供了常見的shell命令輔助編輯功能,例如tab智慧型補全、上下鍵切換命令歷史、ctrl + r搜尋命令歷史。凡是有不熟悉的命令,都可以用help命令查詢使用說明。

其實,對於我們來說,配置lio主要就是使用targetcli,具體使用步驟如下:

[plain]view plain copy print?

使用GraphEdit使用

1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....

MySQL使用學習使用 mysql學習使用

1 mysql學習 1 安裝 ubuntu下直接安裝 apt get install mysql server 2 檢查伺服器是否啟動 sudo netstat tap grep mysql,如果啟動成功,出現以下資訊 tcp00localhost.localdomain mysql listen ...

學習使用CSDN markdown使用

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...