iSCSI服務器的解析以及搭建

iSCSI服務器

一般服務器存儲設備除了內置磁盤,內置磁盤都擁有Raid磁盤陣列構成,常見的解決方案就是增加NAS(網絡附加存儲服務器)或外接存儲設備,再高端一點就是SAN(存儲局域網)

NAS與SAN

NAS(Network Attached Storage,網絡附加存儲服務器):相當於一臺文件服務器,通常支持TCP/IP,並會提供NFS、SAMBA、FTP等常見的通信協議來提供客戶端取得文件系統

SAN(Storage Area Networks,存儲局域網):可以通過某些特殊的接口或信道來提供局域網內所有機器進行磁盤訪問,SAN提供磁盤給主機用,而NAS提供的是網絡協議的文件系統(NFS、SAMBA等)

iSCSI(internet Small Computer System Interface):通過TCP/IP的技術,將存儲設備通過iSCSI target功能,做成可以提供磁盤的服務器端,再通過iSCSI initiator功能做成能夠掛載使用iSCSI target的客戶端,就可以通過iSCSI協議來進行磁盤的應用

iSCSI搭建

服務端(target ip:192.168.0.101)

1.準備兩個新磁盤,查看磁盤:fdisk -l

2.使用dd命令創建一個仿真的僞磁盤

dd if=/dev/zero of=/test/disk1.img bs=1M count=500

3.使用mdadm工具創建軟RAID陣列設備(兩個硬盤/dev/sdb,/dev/sdc)

 mdadm -Cv /dev/md0 -a yes -n2 -l5 /dev/sd[bc]

查看RAID信息:mdadm -D /dev/md0

4.編輯mdadm.conf文件寫入UUID:vim /etc/mdadm.conf

DEVICE /dev/sdb /dev/sdc
ARRY /dev/md0 UUID=1b21ca8b:10e18d4b:1ef88c20:440dfe3d

5.下載安裝scsi-target-utils創建iSCSI對象Target,並啓動服務

yum -y install scsi-target-utils

6.查看主機名並創建對象

創建:tgtadm -L iscsi -o new -m target -t 1 -T iqn.2020-03.com.renjie.test1:raid

查看:tgtadm -L iscsi -o show -m target

7.爲客戶機分配LUN

tgtadm --lld iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/md0

8.使target接受initiator的訪問

tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL

補充:也可以直接修改配置文件,以免重啓沒有保存配置(記得保存重啓服務)

 vim /etc/tgt/targets.conf

查看狀態

tgt-admin --showtgtadm -L iscsi -o show -m target

客戶端(initiator ip:192.168.0.104)

配置文件:/etc/iscsi/iscsid.conf

主要程序:/sbin/iscsid

管理iSCSI initiator的主要設置程序:/sbin/iscsiadm

讓本機模擬成爲iSCSI的主要服務:/etc/init.d/iscsid

啓動腳本登錄iSCSI target:/etc/init.d/iscsi

1.安裝iscsi-initiator-utils

yum -y install iscsi-initiator-utils

2.連接Target並登錄

iscsiadm -m discovery -t sendtargets -p 192.168.0.101

iscsiadm -m node –T iqn.2020-03.com.renjie.test1:raid --login

3.查看磁盤是否成功連接:fdisk -l

成功就可以對該磁盤進行分區掛載使用之類的操作

補充:如果之前服務端設置了密碼這編輯/etc/iscsi/iscsid.conf文件

vim /etc/iscsi/iscsid.conf

node.session.auth.username = admin    \\檢測時會用到用戶名

node.session.auth.password = password    \\檢測時會用到密碼

discovery.sendtargets.auth.username = admin   \\登錄時會用到用戶

discovery.sendtargets.auth.password = password    \\登錄時會用到密碼

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章