實驗環境:兩台虛拟機,系統為redhat7.0以上(本文使用redhat 7.5)
第一台虛拟ip位址為ip:192.168.0.118/24 gw:192.168.0.1 hostname:target.zhuxu.co ---主機名很關鍵。
第二台虛拟機ip位址為192.168.0.119/24 gw:192.168.0.1 hostname:initiator.zhuxu.co
兩台虛拟機配置好yum 源。
一,target 伺服器端配置
1,修改主機名為target.zhuxu.co(修改完成後斷開,重新連接配接)
2,安裝所需要的軟體包 3,設定target開機自動啟動和啟動target 4,防火牆放行target 監聽端口(預設為3260/tcp)5,targetcli指令有兩種模式,一種是互動式模式,一種是指令行模式。輸入targetcli 回車就進入互動式模式,進入互動式模式可以使用ls,pwd,cd等指令
i
本文以互動式做介紹,附帶指令行的寫法:targetcli ls
注解:後端存儲介紹
o- backstores ...........
| o- block .......block:塊裝置,b,可以是磁盤驅動器,分區,邏輯卷,多路徑裝置,隻要塊裝置都可以。
| o- fileio ......檔案(鏡像img),根據一個事先準備的檔案,提供存儲功能.
| o- pscsi ......實體scsi裝置,不推薦使用
| o- ramdisk .....記憶體存儲,利用記憶體當做存儲。
5,建立實體磁盤結構作為target後端的實體存儲(事先已經建立好了一個100M LV做備用)
指令行的實作:
targetcli /backstores/block create name=datastore dev= /dev/iscsi_vg/iscsi_lv
6,為target server 建立IQN,自動建立一個預設的target portal.
注解:iqn的指令規則:iqn.yyyy-MM.域名反向書寫:自定義
例如:iqn.2018-08.co.zhuxu:target---用主機名作辨別好記憶。
指令行實作:
targetcli /iscsi create iqn.2018-08.co.zhuxu:target
7,為target server portal建立一個網絡監聽資訊{portal} 以發現target
指令實作:
targetcli /iscsi/iqn.2018-08.co.zhuxu:target/tpg1/portals delete 0.0.0.0 3260
targetcli /iscsi/iqn.2018-08.co.zhuxu:target/tpg1/portals create 192.168.0.118
8,建立LUM代表裝置(LUN關聯後端存儲)
targetcli /iscsi/iqn.2018-08.co.zhuxu:target/tpg1/luns create /backstores/block/datastore
9,配置ACL(可以不用配置,也可以使用)
ACL(通路控制清單)必須要和initiator端/etc/iscsi/initiatorname.iscsi裡iqn名字保持一緻。否則拒絕通路。
ACL預設是關閉的,需要手動開啟。通過設定generate_node_acls={0|1}
targetcli /iscsi/iqn.2018-08.co.zhuxu:target/tpg1/acls create iqn.2018-08.co.zhuxu:initiator
targetcli /iscsi/iqn.2018-08.co.zhuxu:target/tpg1 set attribute generate_node_acls=1
target伺服器端配置完成。
用戶端配置
1,修改主機名為initiator.zhuxu.co
2,檢視iscsi-initiator-utils軟體包有沒有安裝(預設是安裝的)如果沒有安裝yum install -y iscsi-initiator-utils 安裝即可
3,開啟iscsi服務,開啟開機自啟動。
4,修改iqn
5,發現target 的iscsi裝置。
發現的target 資訊會儲存在/var/lib/iscsi/node 目錄下
注解:
iscsiadm iscsi的管理程式
-m --mode指定模式,發現為discovery,登陸為node節點模式,session
-l --login登陸
-t --type 一般為sendtarget,簡寫為st
-o --op=op 指定選項,new delete update show nonpersistent
可以用-o delete 對已存在的node進行删除
-p --portal 指定入口 可以為IP位址或者域名
-P n 指定輸出詳細資訊,[0|1|2|3],有四種格式可選
-u --logout 登出
-T --targetname=targetanme 指定要使用的伺服器端的target名稱,有時候伺服器端建立了多個target,iqn.2015-10.com.example:
6,登入target
此時,fdisk -l 會發現多出來一塊磁盤。你可以對着磁盤分區,格式化挂載等操作。
7,登出target(臨時取消對target的iscsi的通路,如果重新開機服務,依然能發現有一塊磁盤)
8,如果不想通路target的iscsi裝置(如果在重新開機服務,則不會出現發現的磁盤)
實際上這條指令就是删除/var/lib/iscsi/node/目錄下對應的資訊。
配置chap認證
target伺服器端
1,配置發現認證discovery authentication
1.1單向認證(target伺服器認證initiator)
1.2雙向認證(target伺服器端和inititor用戶端互相認證)