W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
iSCSI技術(shù)在工作形式上分為服務(wù)端(target)與客戶(hù)端(initiator)。iSCSI服務(wù)端即用于存放硬盤(pán)存儲(chǔ)資源的服務(wù)器,它作為前面創(chuàng)建的RAID磁盤(pán)陣列的存儲(chǔ)端,能夠?yàn)橛脩?hù)提供可用的存儲(chǔ)資源。iSCSI客戶(hù)端則是用戶(hù)使用的軟件,用于訪問(wèn)遠(yuǎn)程服務(wù)端的存儲(chǔ)資源。下面按照表17-1來(lái)配置iSCSI服務(wù)端和客戶(hù)端所用的IP地址。
表17-1 iSCSI服務(wù)端和客戶(hù)端的操作系統(tǒng)以及IP地址
主機(jī)名稱(chēng) | 操作系統(tǒng) | IP地址 |
---|---|---|
iSCSI服務(wù)端 | RHEL 8 | 192.168.10.10 |
iSCSI客戶(hù)端 | RHEL 8 | 192.168.10.20 |
第1步:配置好Yum軟件倉(cāng)庫(kù)后安裝iSCSI服務(wù)端程序以及配置命令工具。通過(guò)在yum命令的后面添加-y參數(shù),在安裝過(guò)程中就不需要再進(jìn)行手動(dòng)確認(rèn)了:
[root@linuxprobe ~]# yum -y install targetd targetcli
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分輸出信息………………
Installing:
targetcli noarch 2.1.fb34-1.el7 rhel 55 k
targetd noarch 0.7.1-1.el7 rhel 48 k
Installing for dependencies:
PyYAML x86_64 3.10-11.el7 rhel 153 k
libyaml x86_64 0.1.4-10.el7 rhel 55 k
lvm2-python-libs x86_64 7:2.02.105-14.el7 rhel 153 k
pyparsing noarch 1.5.6-9.el7 rhel 94 k
python-configshell noarch 1:1.1.fb11-3.el7 rhel 64 k
python-kmod x86_64 0.9-4.el7 rhel 57 k
python-rtslib noarch 2.1.fb46-1.el7 rhel 75 k
python-setproctitle x86_64 1.1.6-5.el7 rhel 15 k
python-urwid x86_64 1.1.1-3.el7 rhel 654 k
………………省略部分輸出信息………………
Installed:
targetcli.noarch 0:2.1.fb34-1.el7 targetd.noarch 0:0.7.1-1.el7
Dependency Installed:
PyYAML.x86_64 0:3.10-11.el7
libyaml.x86_64 0:0.1.4-10.el7
lvm2-python-libs.x86_64 7:2.02.105-14.el7
pyparsing.noarch 0:1.5.6-9.el7
python-configshell.noarch 1:1.1.fb11-3.el7
python-kmod.x86_64 0:0.9-4.el7
python-rtslib.noarch 0:2.1.fb46-1.el7
python-setproctitle.x86_64 0:1.1.6-5.el7
python-urwid.x86_64 0:1.1.1-3.el7
Complete!
安裝完成后啟動(dòng)iSCSI的服務(wù)端程序targetd,然后把這個(gè)服務(wù)程序加入到開(kāi)機(jī)啟動(dòng)項(xiàng)中,以便下次在服務(wù)器重啟后依然能夠?yàn)橛脩?hù)提供iSCSI共享存儲(chǔ)資源服務(wù):
[root@linuxprobe ~]# systemctl start targetd
[root@linuxprobe ~]# systemctl enable targetd
ln -s '/usr/lib/systemd/system/targetd.service' '/etc/systemd/system/multi-user.target.wants/targetd.service'
第2步:配置iSCSI服務(wù)端共享資源。targetcli是用于管理iSCSI服務(wù)端存儲(chǔ)資源的專(zhuān)用配置命令,它能夠提供類(lèi)似于fdisk命令的交互式配置功能,將iSCSI共享資源的配置內(nèi)容抽象成“目錄”的形式,我們只需將各類(lèi)配置信息填入到相應(yīng)的“目錄”中即可。這里的難點(diǎn)主要在于認(rèn)識(shí)每個(gè)“參數(shù)目錄”的作用。當(dāng)把配置參數(shù)正確地填寫(xiě)到“目錄”中后,iSCSI服務(wù)端也可以提供共享資源服務(wù)了。
在執(zhí)行targetcli命令后就能看到交互式的配置界面了。在該界面中可以使用很多Linux命令,比如利用ls查看目錄參數(shù)的結(jié)構(gòu),使用cd切換到不同的目錄中。/backstores/block是iSCSI服務(wù)端配置共享設(shè)備的位置。我們需要把剛剛創(chuàng)建的RAID 5磁盤(pán)陣列md0文件加入到配置共享設(shè)備的“資源池”中,并將該文件重新命名為disk0,這樣用戶(hù)就不會(huì)知道是由服務(wù)器中的哪塊硬盤(pán)來(lái)提供共享存儲(chǔ)資源,而只會(huì)看到一個(gè)名為disk0的存儲(chǔ)設(shè)備。
[root@linuxprobe ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb34
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> ls
o- / ..................................................................... [...]
o- backstores .......................................................... [...]
| o- block .............................................. [Storage Objects: 0]
| o- fileio ............................................. [Storage Objects: 0]
| o- pscsi .............................................. [Storage Objects: 0]
| o- ramdisk ............................................ [Storage Objects: 0]
o- iscsi ........................................................ [Targets: 0]
o- loopback ..................................................... [Targets: 0
/> cd /backstores/block
/backstores/block> create disk0 /dev/md0
Created block storage object disk0 using /dev/md0.
/backstores/block> cd /
/> ls
o- / ..................................................................... [...]
o- backstores .......................................................... [...]
| o- block .............................................. [Storage Objects: 1]
| | o- disk0 ..................... [/dev/md0 (40.0GiB) write-thru deactivated]
| o- fileio ............................................. [Storage Objects: 0]
| o- pscsi .............................................. [Storage Objects: 0]
| o- ramdisk ............................................ [Storage Objects: 0]
o- iscsi ........................................................ [Targets: 0]
o- loopback ..................................................... [Targets: 0]
第3步:創(chuàng)建iSCSI target名稱(chēng)及配置共享資源。iSCSI target名稱(chēng)是由系統(tǒng)自動(dòng)生成的,這是一串用于描述共享資源的唯一字符串。稍后用戶(hù)在掃描iSCSI服務(wù)端時(shí)即可看到這個(gè)字符串,因此我們不需要記住它。系統(tǒng)在生成這個(gè)target名稱(chēng)后,還會(huì)在/iscsi參數(shù)目錄中創(chuàng)建一個(gè)與其字符串同名的新“目錄”用來(lái)存放共享資源。我們需要把前面加入到iSCSI共享資源池中的硬盤(pán)設(shè)備添加到這個(gè)新目錄中,這樣用戶(hù)在登錄iSCSI服務(wù)端后,即可默認(rèn)使用這硬盤(pán)設(shè)備提供的共享存儲(chǔ)資源了。
/> cd iscsi
/iscsi>
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80.
Created TPG 1.
/iscsi> cd iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80/
/iscsi/iqn.20....d497c356ad80> ls
o- iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80 ...... [TPGs: 1]
o- tpg1 ............................................... [no-gen-acls, no-auth]
o- acls .......................................................... [ACLs: 0]
o- luns .......................................................... [LUNs: 0]
o- portals .................................................... [Portals: 0]
/iscsi/iqn.20....d497c356ad80> cd tpg1/luns
/iscsi/iqn.20...d80/tpg1/luns> create /backstores/block/disk0
Created LUN 0.
第4步:設(shè)置訪問(wèn)控制列表(ACL)。iSCSI協(xié)議是通過(guò)客戶(hù)端名稱(chēng)進(jìn)行驗(yàn)證的,也就是說(shuō),用戶(hù)在訪問(wèn)存儲(chǔ)共享資源時(shí)不需要輸入密碼,只要iSCSI客戶(hù)端的名稱(chēng)與服務(wù)端中設(shè)置的訪問(wèn)控制列表中某一名稱(chēng)條目一致即可,因此需要在iSCSI服務(wù)端的配置文件中寫(xiě)入一串能夠驗(yàn)證用戶(hù)信息的名稱(chēng)。acls參數(shù)目錄用于存放能夠訪問(wèn)iSCSI服務(wù)端共享存儲(chǔ)資源的客戶(hù)端名稱(chēng)。劉遄老師推薦在剛剛系統(tǒng)生成的iSCSI target后面追加上類(lèi)似于:client的參數(shù),這樣既能保證客戶(hù)端的名稱(chēng)具有唯一性,又非常便于管理和閱讀:
/iscsi/iqn.20...d80/tpg1/luns> cd ..
/iscsi/iqn.20...c356ad80/tpg1> cd acls
/iscsi/iqn.20...d80/tpg1/acls> create iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80:client
Created Node ACL for iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80:client
Created mapped LUN 0.
第5步:設(shè)置iSCSI服務(wù)端的監(jiān)聽(tīng)I(yíng)P地址和端口號(hào)。位于生產(chǎn)環(huán)境中的服務(wù)器上可能有多塊網(wǎng)卡,那么到底是由哪個(gè)網(wǎng)卡或IP地址對(duì)外提供共享存儲(chǔ)資源呢?這就需要我們?cè)谂渲梦募惺謩?dòng)定義iSCSI服務(wù)端的信息,即在portals參數(shù)目錄中寫(xiě)上服務(wù)器的IP地址。接下來(lái)將由系統(tǒng)自動(dòng)開(kāi)啟服務(wù)器192.168.10.10的3260端口將向外提供iSCSI共享存儲(chǔ)資源服務(wù):
/iscsi/iqn.20...d80/tpg1/acls> cd ..
/iscsi/iqn.20...c356ad80/tpg1> cd portals
/iscsi/iqn.20.../tpg1/portals> create 192.168.10.10
Using default IP port 3260
Created network portal 192.168.10.10:3260.
第6步:配置妥當(dāng)后檢查配置信息,重啟iSCSI服務(wù)端程序并配置防火墻策略。在參數(shù)文件配置妥當(dāng)后,可以瀏覽剛剛配置的信息,確保與下面的信息基本一致。在確認(rèn)信息無(wú)誤后輸入exit命令來(lái)退出配置。注意,千萬(wàn)不要習(xí)慣性地按Ctrl + C組合鍵結(jié)束進(jìn)程,這樣不會(huì)保存配置文件,我們的工作也就白費(fèi)了。最后重啟iSCSI服務(wù)端程序,再設(shè)置firewalld防火墻策略,使其放行3260/tcp端口號(hào)的流量。
/iscsi/iqn.20.../tpg1/portals> ls /
o- / ........................... [...]
o- backstores................. [...]
| o- block ................... [Storage Objects: 1]
| | o- disk0 ................. [/dev/md0 (40.0GiB) write-thru activated]
| o- fileio .................. [Storage Objects: 0]
| o- pscsi ................... [Storage Objects: 0]
| o- ramdisk ................. [Storage Objects: 0]
o- iscsi ..................... [Targets: 1]
| o- iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80 .... [TPGs: 1]
| o- tpg1 .................. [no-gen-acls, no-auth]
| o- acls ........................................................ [ACLs: 1]
| | o- iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80:client [Mapped LUNs: 1]
| | o- mapped_lun0 ............................................. [lun0 block/disk0 (rw)]
o- luns .................... [LUNs: 1]
| | o- lun0 .............. [block/disk0 (/dev/md0)]
| o- portals ............. [Portals: 1]
| o- 192.168.10.10:3260 [OK]
o- loopback .................. [Targets: 0]
/> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
[root@linuxprobe ~]# systemctl restart targetd
[root@linuxprobe ~]# firewall-cmd --permanent --add-port=3260/tcp
success
[root@linuxprobe ~]# firewall-cmd --reload
success
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: