星期三, 5月 25, 2016

iSCSI Server with openSUSE Leap 42.1

最近因為實驗需要, 所以又要架設 iSCSI Server ( Target ) 了

寫這篇文章真的要先感謝 Netman - 指導我 troubleshooting
不然還真的很難從錯誤迴圈跳出來 :)

OS: openSUSE Leap 42.1

之前的文章已經是 2010 年了 :)


首先準備空間
透過 yast2 disk 建立 RAW  partition

#yast2  disk
按照自己要的大小建立, 選擇 Raw Volume

2016-05-25 20-06-12 的螢幕擷圖.png

2016-05-25 19-59-07 的螢幕擷圖.png

接下來搜尋 iscsi 套件
預設只有裝 client 沒有裝 server

# zypper   search  iscsi
Retrieving repository 'openSUSE-Leap-42.1-Update' metadata ...............[done]
Building repository 'openSUSE-Leap-42.1-Update' cache ....................[done]
Retrieving repository 'openSUSE-Leap-42.1-Update-Non-Oss' metadata .......[done]
Building repository 'openSUSE-Leap-42.1-Update-Non-Oss' cache ............[done]
Loading repository data...
Reading installed packages...

S | Name                   | Summary                                | Type      
--+------------------------+----------------------------------------+-----------
i | iscsiuio               | Linux Broadcom NetXtremem II iscsi s-> | package   
i | open-iscsi             | Linux* Open-iSCSI Software Initiator   | package   
 | open-iscsi             | Linux* Open-iSCSI Software Initiator   | srcpackage
i | yast2-iscsi-client     | YaST2 - iSCSI Client Configuration     | package   
 | yast2-iscsi-lio-server | Configuration of iSCSI LIO target      | package

現在的 iSCSI Server 套件已經變成  yast2-iscsi-lio-server
來安裝它吧 :)

# zypper   install   yast2-iscsi-lio-server
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 2 NEW packages are going to be installed:
 lio-utils yast2-iscsi-lio-server

2 new packages to install.
Overall download size: 202.1 KiB. Already cached: 0 B. After the operation,
additional 1.8 MiB will be used.
Continue? [y/n/? shows all options] (y):  Y

設定 iSCSI Server - 使用 yast2
# yast2   iscsi-lio-server

首先是歡迎畫面
在 Service 標籤內, Service Start 點選 When Booting ( 開機啟動 )
因為是實驗機器, 所以沒有設定 Firewall

2016-05-24 14-13-13 的螢幕擷圖.png


點選 Global 標籤
暫時使用 No Authentication 方式, 後續可以針對 Target 設定驗證就好

2016-05-24 14-18-04 的螢幕擷圖.png

點選 Targets 標籤
點選 Add 新增 Target

2016-05-24 14-19-43 的螢幕擷圖.png

點選 Add 新增 Target
進入 Target 設定畫面, 點選 Add 來新增 LUN

2016-05-24 14-46-33 的螢幕擷圖.png

在LUN 設定畫面內, 輸入 Path
我是用分割區的方式, 所以輸入 /dev/sdb1  ( 分割區所在位置 )
點選 OK

2016-05-24 14-50-05 的螢幕擷圖.png

點選 Next ( 因為預設有勾選 Use Authentication, 所以接下來進行驗證設定 )


2016-05-24 14-51-28 的螢幕擷圖.png



接下來就是一個非常重要的部份, 新增 client
點選 Add 來新增 client
2016-05-24 14-53-11 的螢幕擷圖.png


這邊第1個重點就是

Client name 不能亂取, 必須跟 client 那邊的名稱一致  ( 很重要要講 3 次 )

2016-05-25 20-21-45 的螢幕擷圖.png

那 Client 的名字如何取得呢?

如果是 VMware ESXi
就到 主機的 組態 -- > 儲存裝置介面卡 ( 記得先新增 iSCSI Software Adapter) -- > 內容
點選 設定 就看得到了

2016-05-25 20-19-52 的螢幕擷圖.png

Linux Client 去查詢 /etc/iscsi/initiatorname.iscsi

# cat   /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1996-04.de.suse:01:cb6d653143


因為以前作 lab 都是直接 copy name, 這次不知道為何自己亂填 client
所以一直會遇到 login fail 的狀況
---- 所以這個應該是第1層保護, client name 如果沒有 match 不能連線

接下來點選 Edit LUN
點選 Add 來設定 LUN 對應
2016-05-25 20-30-11 的螢幕擷圖.png

依照選的 LUN 點選 Change 下拉式選單對應到要對應的 LUN
點選 OK
2016-05-25 20-31-32 的螢幕擷圖.png

點選 Edit Auth 設定 CHAP 驗證密碼
這邊我要記一下我碰到的現象
我的 username 原本是設定 nchc , 不知道是不是太短? 一直有問題
設定為 nchcuser 可能長度夠了, 才過的去?
另外 密碼的部份建議設定 12 字元以上, windows 那邊的 client 比較不會有問題( 印象中 )
因為是 Server 所以勾選 Incoming Authentication
輸入 username Password
點選 OK

2016-05-25 20-34-40 的螢幕擷圖.png


觀察一下相關設定都被設定上去
點選 Next
2016-05-25 20-38-35 的螢幕擷圖.png

點選 Finish 完成

2016-05-24 15-01-43 的螢幕擷圖.png

這邊後記一下, 相關的設定, 可以去觀察 /etc/target 目錄

# ls  /etc/target/
lio_setup.sh  lio_start.sh  tcm_setup.sh  tcm_start.sh

因為是 SUSE 系列, 所以可以用 rctarget 觀察
# rctarget  status
target.service - "Generic Target Mode service"
  Loaded: loaded (/usr/lib/systemd/system/target.service; enabled)
  Active: active (exited) since Wed 2016-05-25 20:04:44 CST; 33min ago
Main PID: 435 (code=exited, status=0/SUCCESS)
  CGroup: /system.slice/target.service

當然也是用 systemctl 可以
# systemctl  status target.service
target.service - "Generic Target Mode service"
  Loaded: loaded (/usr/lib/systemd/system/target.service; enabled)
  Active: active (exited) since Wed 2016-05-25 20:04:44 CST; 34min ago
Main PID: 435 (code=exited, status=0/SUCCESS)
  CGroup: /system.slice/target.service



==== 接下來就是 Client 的連接了 ====

首先是 VMware ESXi

就到 主機的 組態 -- > 儲存裝置介面卡 ( 記得先新增 iSCSI Software Adapter)
點選 內容 -- > 點選 動態探索 -- > 點選新增

2016-05-25 20-47-24 的螢幕擷圖.png


輸入 iSCSI 伺服器 IP
點選 CHAP

2016-05-25 20-50-00 的螢幕擷圖.png
取消勾選 從父系繼承
選取 使用 CHAP
輸入名稱
輸入密碼
點選確定

2016-05-25 21-07-16 的螢幕擷圖.png

點選確定

2016-05-25 20-50-00 的螢幕擷圖.png


點選 靜態探索標籤
如果設定正常, 應該會看到目標名稱
點選 關閉

2016-05-25 20-55-23 的螢幕擷圖.png

接下來 VMware 會要求重新掃描
點選 是

2016-05-25 20-57-28 的螢幕擷圖.png


這個時候就會看到已掛接
大功告成

2016-05-25 21-08-46 的螢幕擷圖.png


如果是 openSUSE client

如果今天是另外一個 client 要掛接上來
在 server 那邊
#yast2 iscsi-lio-server 設定內
在當初新增完 client 時, 其實旁邊還有 COPY 按鈕可以使用 :)
點選 Copy
2016-05-25 21-11-50 的螢幕擷圖.png


輸入 openSUSE client 的 iqn 名稱 ( 參考 /etc/iscsi/initiatorname.iscsi  )
點選 OK

2016-05-25 21-14-28 的螢幕擷圖.png

接下來 Next -- > Finish 就可以完成


回到 openSUSE Client

使用 yast2 方式設定
# yast2  iscsi-client

一樣 Service 標籤
選取 When Booting

2016-05-25 21-18-53 的螢幕擷圖.png

點選 Discovered Target 標籤
點選 Discovery

2016-05-25 21-20-21 的螢幕擷圖.png

輸入 IP -- > 點選 Next
這邊我其實真的很想探究一下
這邊如果取消勾選 No Authentication, 用 username 來驗證是會 fail, 因為要在下一個畫面才要驗證, 先記下來.
2016-05-25 21-22-04 的螢幕擷圖.png

出現 Target
點選 Connect

2016-05-25 21-25-02 的螢幕擷圖.png


出現設定畫面
Startup 選 automatic
在 Outgoing Authentication 輸入 username 與 密碼
點選 Next

2016-05-25 21-26-56 的螢幕擷圖.png

確認 Connected 為 True
點選 OK
完成設定

2016-05-25 21-28-59 的螢幕擷圖.png

可以使用 lsscsi 觀察
# lsscsi
[0:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda
[0:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb
[2:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0
[6:0:0:0]    disk    LIO-ORG  IBLOCK           4.0   /dev/sdc


大功告成

~ enjoy it

5 則留言:

Geetha 提到...

This blog provides useful information about new techniques and concepts.very impressive lines are given which is very attractive.
informatica training in chennai

Ram priya 提到...

All are saying the same thing repeatedly, but in your blog I had a chance to get some useful and unique information, I love your writing style very much, I would like to suggest your blog in my dude circle, so keep on updates.
Data Science Training in Indira nagar
Data Science training in marathahalli
Data Science Interview questions and answers
Data Science training in btm layout | Data Science Training in Bangalore
Data Science Training in BTM Layout | Data Science training in Bangalore
Data science training in kalyan nagar




jeeva 提到...

Really very nice blog information for this one and more technical skills are improve,i like that kind of post.

rpa training in btm | rpa training in kalyan nagar | rpa training in electronic city | rpa training in chennai | rpa online training | rpa training in bangalore

afiah b 提到...

Excellant post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it.
Java training in Bangalore | Java training in Indira nagar

Java training in Bangalore | Java training in Rajaji nagar

Java training in Bangalore | Java training in Marathahalli

Java training in Bangalore | Java training in Btm layout

gkr ragini 提到...

Its really an Excellent post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog. Thanks for sharing....
Best Devops training in sholinganallur
Devops training in velachery
Devops training in annanagar
Devops training in tambaram