歡迎您光臨本站 註冊首頁

iSCSI的配置(target/initiator)

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

  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".

  除此之外還有很多其他參數可以設置,具體參考:

  http://manpages.ubuntu.com/manpages/hardy/man5/ietd.conf.5.html

  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的配置(target/initiator)已經有876次圍觀

http://coctec.com/docs/linux/show-post-51587.html