1.Target端的配置 target端即磁盤陣列或其他裝有磁盤的主機(jī),。通過iscsitarget工具將磁盤空間映射到網(wǎng)絡(luò)上,initiator端就可以尋找發(fā)現(xiàn)并使用該磁盤,。 注意,一個(gè)target主機(jī)上可以映射多個(gè)target到網(wǎng)絡(luò)上,,即可以映射多個(gè)塊設(shè)備到網(wǎng)絡(luò)上,。 1)軟件包 iscsitarget 可以從http:///projects/iscsitarget/files/下載最新版本。 2)編譯安裝 很簡單,,解包,,編譯,安裝就可以,。 tar zxvf iscsitarget-1.4.19.tar.gz cd iscsitarget-1.4.19/ make make install 該包會(huì)將iscsitarget需要的內(nèi)核模塊,,用戶層工具,服務(wù)啟動(dòng)腳本,,配置文件,,man手冊等安裝到系統(tǒng)中 包括: iscsi_trgt.ko 內(nèi)核模塊 ietd iscsitarget的守護(hù)進(jìn)程 ietadm iscsitarget的用戶層管理工具 /etc/init.d/iscsi-target iscsitarget的啟動(dòng)腳本 /etc/ietd.conf iscsitarget的配置文件 /etc/initiators.allow 控制initiator對target的訪問權(quán)限。 /etc/initiators.deny 控制initiator對target的訪問權(quán)限,。 /etc/iet/targets.allow 控制不同target的被訪問權(quán)限,。 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 的命名,命名在同一子網(wǎng)內(nèi)應(yīng)該是唯一的,,標(biāo)準(zhǔn)命名方式為: "Target "+ target名字 (格式如下: iqn.yyyy-mm.<reversed domain name>[:identifier] ) “Lun 0 Path=/dev/sda1”表示塊設(shè)備號(hào)為0,,映射的磁盤為/dev/sda1。 本次配置中 Type 的設(shè)定為"fileio",我主要用來對一個(gè)磁盤進(jìn)行存儲(chǔ)共享,。 當(dāng)然也可以針對需要設(shè)置為: "file" or "LVM",。 除此之外還有很多其他參數(shù)可以設(shè)置,,具體參考: http://manpages./manpages/hardy/man5/ietd.conf.5.html
4)啟動(dòng)iscsitarget /etc/init.d/iscsi-target start
2.inititor端配置 1)軟件包 源碼包是open-iscsi,經(jīng)過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守護(hù)進(jìn)程啟動(dòng),否測iscsiadm的一系列操作都會(huì)失?。? /etc/init.d/iscsid start
發(fā)現(xiàn)target: iscsiadm -m discovery -t sendtargets -p <iSCSI target ip>:<port> 默認(rèn)情況下<port>是3260,,除非你有特殊的設(shè)置。
與target建立連接: iscsiadm -m node -T <target-name> -p <ip-address>:<port> --login 此處target-name為上一步發(fā)現(xiàn)target時(shí)的獲得的,。
此時(shí)通過fdisk -l就可以看到映射過來的磁盤,,該磁盤可以像使用本地磁盤一樣進(jìn)行格式化,分區(qū)等操作,。 可以通過以下命令實(shí)驗(yàn): 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驗(yàn)證,。 CHAP驗(yàn)證有兩種,一種是針對discovery的,,即如果不符合驗(yàn)證的用戶名和密碼,,則initiator端便無法通過"-m discovery"發(fā)現(xiàn)指定主機(jī)上的任何一個(gè)target。 命令會(huì)返回驗(yàn)證失敗,,如下: $ 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的,,即果不符合驗(yàn)證的用戶名和密碼,則initiator端編無法通過--login登錄指定主機(jī)上的某一個(gè)target,。 命令會(huì)返回驗(yàn)證失敗,如下: $ iscsiadm -m discovery -t sendtargets -p 192.168.29.224 #成功discover指定主機(jī)上的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 #無法通過驗(yàn)證,,登錄失敗 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,添加如下選項(xiàng): #以下三個(gè)是針對discovery的,。 #discovery時(shí)啟用CHAP驗(yàn)證 discovery.sendtargets.auth.authmethod = CHAP #initiator的名字,也可以是別的字符串,,只要和target端IncomingUse配置的名字一樣就行 discovery.sendtargets.auth.username = iqn.1994-05.com.fedora:ba72af8aaf5 #驗(yàn)證密碼,,要和target端相同 discovery.sendtargets.auth.password = 1234567890ab
#以下三個(gè)是針對login的。 #login時(shí)啟用CHAP驗(yàn)證 node.session.auth.authmethod = CHAP #initiator的名字,,也可以是別的字符串,,只要和target端IncomingUse配置的名字一樣就行 node.session.auth.username = iqn.1994-05.com.fedora:ba72af8aaf5 #驗(yàn)證密碼,要和target端相同 node.session.auth.password = 1234567890
然后重啟initiator,。 /etc/init.d/iscsid stop /etc/init.d/iscsid start
2)在target端 針對discovery配置/etc/ietd.conf,,在全局參數(shù)處(定義第一個(gè)target之前),添加如下一行: IncomingUser iqn.1994-05.com.fedora:ba72af8aaf5 1234567890ab IncomingUser 和 OutgoingUser 表示ISCSI 客戶端的用戶名和密碼,,用戶名和密碼都可以為空,默認(rèn)為allow權(quán)限,,密碼最長可為12個(gè)字符。 此處iqn.1994-05.com.fedora:ba72af8aaf5是initiator的名字(也可以是別的字符串),,1234567890ab是initiator的密碼,,名字和密碼必須和initiator上/etc/iscsi/iscsid.conf 中的用戶名密碼一致,。如果不一致,則initiator執(zhí)行"-m discovery" 是就會(huì)失敗,。
針對login配置/etc/ietd.conf,,既然是針對login的,那么添加IncomingUser是就應(yīng)該添加的指定的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
|