targetcli配置iSCSI
概述:這篇文章來介紹LIO下的用戶態工具targetcli來配置iSCSI服務
虛擬機環境:centos7.x(內核版本3.10.0-862.el7.x86_64)
IP分別為192.168.1.200/201
targetcli安裝
centos一般都自帶了此工具,沒有的話去官網下載,這裏就不再介紹
快速創建IP-SAN
1.命令行輸入targetcli進入交互界面,在交互界面可以使用ls,cd等命令靈活簡單的操作,如圖所示,最上層目錄包括backstores、iscsi等,如果有FC或Infiniband的話,還會有其余的一些子模塊如qla2xxx等
2.創建卷資源
使用cd進入/backstores/block目錄,
cd backstores/block
然後創建卷資源,使用塊設備/dev/sdb
create dev=/dev/sdb name=sdb
提示sdb設備正在被使用,重新選擇/dev/sdc來創建卷資源,提示創建成功(readonly屬性表示讀寫權限,wwn號為卷資源的唯一標號)
3.創建iSCSI
快速創建一個iSCSI服務的步驟如下:
a.首先創建一個iqn
b.在iqn下添加提供服務的IP以及需要映射的卷
c.設置認證
操作如下:
這裏介紹一個技巧,在交互界面輸入cd,可以進入下圖界面,可以靈活快速地跳到指定目錄
接下來在iscsi目錄下創建iqn
然後在iqn的對應目錄下添加服務IP,映射卷和權限設置
initiator端發現:可以看到已經可以發現登錄過來的邏輯卷
發現命令:iscsiadm -m discovery -t st -p IP
登錄命令:在發現命令後面加入-l或者iscsiadm -m node -T IQN -l
登出命令:iscsiadm -m node -T IQN -u 如 iscsiadm -m node -T iqn.2018-10.hzhrinet.com:test -u
iSCSI認證
iSCSI認證分為發現認證和登錄認證,其中每種認證又分為單向認證和雙向認證
發現認證和登錄認證的意思就和名字一樣
單向認證是指initiator端在發現target端的時候,要提供正確的認證才能發現在target端的iSCSI服務
雙向認證是指在單向認證的基礎上,target端需要正確設置initiator端設置的認證才能被initiator端發現
發現認證:
1.首先我們來看發現認證的默認屬性,這是一個全局的設置
2.設置單向認證
首先在target端執行命令,設置單向認證
此時initiator端登錄會出現認證錯誤,無法發現
這時我們需要設置initiator端的配置文件/etc/iscsi/iscsid.conf
此時再在initiator端發現,發現成功
3.設置雙向認證(必須建立在單向認證的基礎上)
首先在initiator端設置認證
然後在target端設置initiator的認證
登錄認證:
登錄認證和發現認證類似,也是分為單向認證和雙向認證,設置的方法和發現認證幾乎一樣
這裏有幾個註意的地方
1.generate_node_acls屬性表示是否開啟ACL,當為no-gen-acls的是否,initiator端的iqn號(/etc/iscsi/initiatorname.iscsi下)必須加入acl才能登陸
2.tpg下的authentication屬性其實不起作用(感覺有BUG??),只要在acl的iqn目錄下把用戶密碼設置正確,就可以認證成功了
initiator端修改這些選項就可以了,和發現認證類似
參考:http://blog.51cto.com/zhuxu91313/2154819
targetcli配置iSCSI