iSCSI的配置全攻略(ISCSI Target/initiator)
1.Target端的配置
target端即磁碟陣列或其他裝有磁碟的主機。通過iscsitarget工具將磁碟空間對映到網路上,initiator端就可以尋找發現並使用該磁碟。
注意,一個target主機上可以對映多個target到網路上,即可以對映多個塊裝置到網路上。
1)軟體包
iscsitarget
可以從http://sourceforge.net/projects/iscsitarget/files/下載最新版本。
2)編譯安裝
很簡單,解包,編譯,安裝就可以。
tar zxvf iscsitarget-1.4.19.tar.gz
cd iscsitarget-1.4.19/
make
make install
該包會將iscsitarget需要的核心模組,使用者層工具,服務啟動指令碼,配置檔案,man手冊等安裝到系統中
包括:
iscsi_trgt.ko 核心模組
ietd iscsitarget的守護程序
ietadm iscsitarget的使用者層管理工具
/etc/init.d/iscsi-target iscsitarget的啟動指令碼
/etc/ietd.conf iscsitarget的配置檔案
/etc/initiators.allow 控制initiator對target的訪問許可權。
/etc/initiators.deny 控制initiator對target的訪問許可權。
/etc/iet/targets.allow 控制不同target的被訪問許可權。
3)配置/etc/ietd.conf
Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
Lun 0 Path=/dev/sda1,Type=fileio
Alias lun0
大致說明:
Target iqn.2001-04.com.example:storage.disk2.sys1.xyz 表示該ISCSI Target 的命名,命名在同一子網內應該是唯一的,標準命名方式為:
"Target "+ target名字 (格式如下: iqn.yyyy-mm.<reversed domain name>[:identifier] )
“Lun 0 Path=/dev/sda1”表示塊裝置號為0,對映的磁碟為/dev/sda1。
本次配置中 Type 的設定為"fileio",我主要用來對一個磁碟進行儲存共享。
當然也可以針對需要設定為: "file" or "LVM"。
除此之外還有很多其他引數可以設定,具體參考:
4)啟動iscsitarget
/etc/init.d/iscsi-target start
2.inititor端配置
1)軟體包
原始碼包是open-iscsi,經過rpm包封裝後,名字是iscsi-initiator-utils。
2)主要安裝了下面一些檔案
/etc/iscsi/iscsid.conf
/etc/rc.d/init.d/iscsi
/etc/rc.d/init.d/iscsid
/sbin/iscsi-iname
/sbin/iscsiadm
/sbin/iscsid
/sbin/iscsistart
/var/lib/iscsi
/var/lib/iscsi/ifaces
/var/lib/iscsi/isns
/var/lib/iscsi/nodes
/var/lib/iscsi/send_targets
/var/lib/iscsi/slp
/var/lib/iscsi/static
/var/lock/iscsi
3)連線target
首先要保證iscsid守護程序啟動,否測iscsiadm的一系列操作都會失敗:
/etc/init.d/iscsid start
發現target:
iscsiadm -m discovery -t sendtargets -p <iSCSI target ip>:<port>
預設情況下<port>是3260,除非你有特殊的設定。
與target建立連線:
iscsiadm -m node -T <target-name> -p <ip-address>:<port> --login
此處target-name為上一步發現target時的獲得的。
此時通過fdisk -l就可以看到對映過來的磁碟,該磁碟可以像使用本地磁碟一樣進行格式化,分割槽等操作。
可以通過以下命令實驗:
fdisk /dev/sdc
mkfs.ext3 /dev/sdc1
mount /dev/sdc1 /mnt
dd if=/dev/zero of=100M.img bs=1M count=100
3.target和initiator間使用CHAP驗證。
CHAP驗證有兩種,一種是針對discovery的,即如果不符合驗證的使用者名稱和密碼,則initiator端便無法通過"-m discovery"發現指定主機上的任何一個target。
命令會返回驗證失敗,如下:
$ iscsiadm -m discovery -t sendtargets -p 192.168.29.224
iscsiadm: Login failed to authenticate with target
iscsiadm: discovery login to 192.168.29.224 rejected: initiator error (02/01), non-retryable, giving up
另一種是針對node login的,即果不符合驗證的使用者名稱和密碼,則initiator端編無法通過--login登入指定主機上的某一個target。
命令會返回驗證失敗,如下:
$ iscsiadm -m discovery -t sendtargets -p 192.168.29.224 #成功discover指定主機上的target
192.168.29.224:3260,1 iqn.2001-04.com.example:storage.disk2.sys1.xyz
$ iscsiadm -m node -T iqn.2001-04.com.example:storage.disk2.sys1.xyz -p 192.168.29.224 --login #無法通過驗證,登入失敗
Logging in to [iface: default, target: iqn.2001-04.com.example:storage.disk2.sys1.xyz, portal: 192.168.29.224,3260]
iscsiadm: Could not login to [iface: default, target: iqn.2001-04.com.example:storage.disk2.sys1.xyz, portal: 192.168.29.224,3260]:
iscsiadm: initiator reported error (15 - already exists)
1)在initiator端
配置/etc/iscsi/iscsid.conf,新增如下選項:
#以下三個是針對discovery的。
#discovery時啟用CHAP驗證
discovery.sendtargets.auth.authmethod = CHAP
#initiator的名字,也可以是別的字串,只要和target端IncomingUse配置的名字一樣就行
discovery.sendtargets.auth.username = iqn.1994-05.com.fedora:ba72af8aaf5
#驗證密碼,要和target端相同
discovery.sendtargets.auth.password = 1234567890ab
#以下三個是針對login的。
#login時啟用CHAP驗證
node.session.auth.authmethod = CHAP
#initiator的名字,也可以是別的字串,只要和target端IncomingUse配置的名字一樣就行
node.session.auth.username = iqn.1994-05.com.fedora:ba72af8aaf5
#驗證密碼,要和target端相同
node.session.auth.password = 1234567890
然後重啟initiator。
/etc/init.d/iscsid stop
/etc/init.d/iscsid start
2)在target端
針對discovery配置/etc/ietd.conf,在全域性引數處(定義第一個target之前),新增如下一行:
IncomingUser iqn.1994-05.com.fedora:ba72af8aaf5 1234567890ab
IncomingUser 和 OutgoingUser 表示ISCSI 客戶端的使用者名稱和密碼,使用者名稱和密碼都可以為空,預設為allow許可權,密碼最長可為12個字元。
此處iqn.1994-05.com.fedora:ba72af8aaf5是initiator的名字(也可以是別的字串),1234567890ab是initiator的密碼,名字和密碼必須和initiator上/etc/iscsi/iscsid.conf
中的使用者名稱密碼一致。如果不一致,則initiator執行"-m discovery" 是就會失敗。
針對login配置/etc/ietd.conf,既然是針對login的,那麼新增IncomingUser是就應該新增的指定的target上。如下:
Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
Lun 0 Path=/dev/sda1,Type=fileio
IncomingUser iqn.1994-05.com.fedora:ba72af8aaf5 1234567890
然後重啟iscsitarget
/etc/init.d/iscsi-target stop
/etc/init.d/iscsi-target start
相關推薦
iSCSI的配置全攻略(ISCSI Target/initiator)
1.Target端的配置 target端即磁碟陣列或其他裝有磁碟的主機。通過iscsitarget工具將磁碟空間對映到網路上,initiator端就可以尋找發現並使用該磁碟。 注意,一個target主機上可以對映多個target到網路上,即可以對映多個塊裝置到網路上。 1)軟體包 iscsitar
【伺服器】Linux一鍵安裝web環境全攻略(阿里雲伺服器)(Centos )
Centos 系統下的全能Web環境一鍵安裝程式 第一篇地址:http://www.dzbfsj.com/thread-1785-1-1.html 第二篇地址:http://www.cnblogs.com/ada-zheng/p/3724957.html Cen
VS Tools for AI全攻略(2)低配置虛擬機器也能玩轉深度學習,無需NC/NV系列
接著上文VS Tools for AI全攻略,我們來討論如何使用Azure資源來訓練我們的tensorflow專案。Azure雲我個人用得很多,主要是因為微軟爸爸批了150刀每月的額度,我可以愉快地玩耍。 那麼針對Azure,有成套的兩個方案解決問題。 方案一(比較有錢的、對速度要求高的):使用De
Linux一鍵安裝web環境全攻略(阿裏雲ECS服務器)
傳輸 80端口 掛載 iyu 使用 ftp服務 老版本 雲服務 linux服務 摘自阿裏雲服務器官網,此處 一鍵安裝包下載: 點此下載 安裝須知 1、此安裝包可在阿裏雲所有linux系統上部署安裝,此安裝包包含的軟件及版本為: nginx:1.0.15、1.2.5、1.4.
【微軟大法好】VS Tools for AI全攻略(2)
port shell orf 方式 virt cnblogs 我們 玩耍 虛擬 接著上文,我們來討論如何使用Azure資源來訓練我們的tensorflow項目。Azure雲我個人用得很多,主要是因為微軟爸爸批了150刀每月的額度,我可以愉快地玩耍。 那麽針對Azure,有成
【乾貨】Chrome外掛(擴充套件)開發全攻略(轉載)
轉載來源:https://www.cnblogs.com/liuxianan/p/chrome-plugin-develop.html 【乾貨】Chrome外掛(擴充套件)開發全攻略 寫在前面 我花了將近一個多月的時間斷斷續續寫下這篇博文,並精心寫下完整demo,寫部落格的辛苦大家懂的,
VSCode外掛開發全攻略(七)WebView
更多文章請戳VSCode外掛開發全攻略系列目錄導航。 什麼是Webview 大家都知道,整個VSCode編輯器就是一張大的網頁,其實,我們還可以在Visual Studio Code中建立完全自定義的、可以間接和nodejs通訊的特殊網頁(通過一個acquireVsCodeApi特殊方法),這個網頁就叫W
VSCode外掛開發全攻略(六)開發除錯技巧
更多文章請戳VSCode外掛開發全攻略系列目錄導航。 前言 在介紹完一些比較簡單的內容點之後,我覺得有必要先和大家介紹一些開發中遇到的一些細節問題以及技巧,特別是後面一章節將要介紹WebView的知識,這個坑會比較多,避免大家走彎路。 開發方式 最理想的方式是準備雙顯示器,一個寫程式
VSCode外掛開發全攻略(五)跳轉到定義、自動補全、懸停提示
更多文章請戳VSCode外掛開發全攻略系列目錄導航。 跳轉到定義 跳轉到定義其實很簡單,通過vscode.languages.registerDefinitionProvider註冊一個provider,這個provider如果返回了new vscode.Location()就表示當前游標所在單詞支援跳轉
嵌入式小白到大神學習全攻略(學習路線+課程+學習書籍+練習專案)
文章較長,希望耐心閱讀,讀完相信會對你的學習一定有幫助~ 嵌入式工程師需要掌握的內容非常廣泛,嵌入式可以說是當下最有前途的IT應用領域,小到電子詞典、手機,大到航空航天裝置都是典型的嵌入式系統,因此,通過嵌入式技術人才的職業發展空間是非常大的。要快速學習掌握技術我們要學會抓住重點,學會取捨,達到一通百通,事
嵌入式小白到大神學習全攻略(學習路線+課程+學習書籍+練習項目)
samb iot 成員 基本功 手動 eat 編寫 溫度 模塊 文章較長,希望耐心閱讀,讀完相信會對你的學習一定有幫助~ 嵌入式工程師需要掌握的內容非常廣泛,嵌入式可以說是當下最有前途的IT應用領域,小到電子詞典、手機,大到航空航天設備都是典型的嵌入式系統,因此,通過嵌入式
Android-螢幕適配全攻略(絕對詳細)(二)
Android-螢幕適配全攻略(絕對詳細)(二) 關鍵字:非密度制約畫素(dp、sp) 螢幕適配最佳實踐 前言:這篇文章接著 上一篇 繼續講,上篇講到了螢幕適配的核心概念與單位和一種解決方案:解決方案-支援各種螢幕尺寸。本篇繼續講剩餘的其他兩種解
Android-螢幕適配全攻略(絕對詳細)
(一) 關鍵字:螢幕適配 px dp dpi sp large限定符 .9.png 2012年到2014年支援Android裝置的種類從3997增長到18796。同時各大廠商定製的螢幕尺寸也非常多。這將非常
VSCode外掛開發全攻略(一)概覽
文章索引 寫在前面 一年前我寫了一篇3萬多字的Chrome外掛(擴充套件)開發全攻略,反響還不錯,幫助了很多新手快速上手,甚至包括大名鼎鼎的紅芯瀏覽器(戳這裡瞭解更多)。 最近因工作需要又接觸到了vscode外掛開發,所以趁勢再寫一篇有關vscode外掛開發的文章,記錄一些自己踩過的坑以及接觸vscod
VSCode外掛開發全攻略(八)程式碼片段、設定、自定義歡迎頁
程式碼片段 程式碼片段,也叫snippets,相信大家都不陌生,就是輸入一個很簡單的單詞然後一回車帶出來很多程式碼。平時大家也可以直接在vscode中建立屬於自己的snippets: 建立程式碼片段 那麼如何在擴充套件中建立snippets呢? package.json檔案新增如下: "contribut
VSCode外掛開發全攻略(十)打包、釋出、升級
釋出方式 外掛開發完了,如何釋出出去分享給他人呢?主要有3種方法: 方法一:直接把資料夾發給別人,讓別人找到vscode的外掛存放目錄並放進去,然後重啟vscode,一般不推薦; 方法二:打包成vsix外掛,然後傳送給別人安裝,如果你的外掛涉及機密不方便釋出到應用市場,可以嘗試採用這種方式; 方法三:註冊
旅行青蛙(旅かえる)的最全攻略(不懂日語的可以看看)
1、介面分為庭院和室內。2、庭院內上方為【主選單】,包括【現有物品】、【記錄】、【幫助】三個子選單。3、庭院內的田地,隨時間長出三葉草,日常採集三葉草作為貨幣。偶爾掉落的四葉草作為一次性護身符使用。三葉草數量處的 【黃金+號】進入氪金頁面,不要問我怎麼氪,佛系玩家心如止
JDBC全攻略(包括環境搭建、mysql連線、具體的使用)
JDBC是Sun公司制定的一個可以用Java語言連線資料庫的技術。 一、JDBC基礎知識 JDBC(Java Data Base Connectivity,java資料庫連線)是一種用於執行SQL語句的Java API,可以為多
C#微信公眾號全攻略(3)--接管所有訊息驗證部分 C#程式碼
新建網站 新建一般處理程式 怎麼操作SQL資料庫不寫了 只發一些關鍵部分程式碼 一般處理程式關鍵程式碼 public class Interface : IHttpHandler { public stati
C#微信公眾號全攻略(5)--群發訊息時的openid對應的使用者是誰呢
有一個openid不屬於公眾號關注使用者的任何一位 在通過微信控制檯群發訊息後 將有一個Event為MASSSENDJOBFINISH的事件推送 對應的openid 他是誰呢 他的nickname是張三瘋 來自 中國 廣東 廣州 簽名是DayDayUpUp