實驗環境:
iscsi-server:
Redhat 7主機,IP地址:192.168.32.144,主機名:iscsi-server.com
iscsi-client:
Redhat 7主機, IP地址:192.168.32.145, 主機名:iscsi-client.com
實驗一:使用targetcli配置單個啓動器作爲iscsi客戶端的存儲設備
iscsi-Server配置過程
實驗環境全部準備完畢後,首先在服務器端安裝targetcli工具,並設置target服務開機自啓
yum install -y targetcli
systemctl restart target
systemctl enable target
我們將新添加的一塊大小爲20G的虛擬磁盤/dev/sdb作爲iscis卷組來使用
將/dev/sdb創建成一個分區,設置磁盤格式爲邏輯卷格式。
備註:我們這裏也可以不用分區直接使用整塊磁盤來,這裏分區是爲了將磁盤創建成邏輯卷讓它支持動態擴展
將新的分區創建成LVM格式
使用targetcli配置命令進行配置
targetcli
此時初始狀態沒有任何卷組及其它配置信息
接下來我們進行ISCSI服務端的配置
創建一個塊存儲
>/backstore/block create iscsi_vol /dev/ISCSI/test_iscsi
爲ISCSI-Target命名
備註:命名格式爲:iqn.yyyy-mm.<主機名反寫>:自定義主機名
>/iscsi create iqn.2018-12.com.server-iscsi:server
創建ACL允許ISCSI客戶機連接
>cd iscsi/iqn.2018-12.com.server-iscsi:server/tpg
>ls
>acls/ create iqn.2018-12.com.server-iscsi:server:xx
創建lun(target塊設備的邏輯單元)
>luns/ create /backstores/block/iscsi_vol
創建ip與端口
>portals 192.168.32.144 3260
查看配置信息
當設置完畢後,查看配置信息會出現上圖所示信息。
設置防火牆規則放行IP及端口號
firewall-cmd --add-rich-rule ' rule family="ipv4" sorurce address="192.168.32.0/24" port port="3260" protocol="tcp" accept'
firewall-cmd --add-rich-rule ' rule family="ipv4" sorurce address="192.168.32.0/24" port port="3260" protocol="tcp" accept' --permanent
配置ISCSI Initiator(客戶端)
在iscis-client主機上安裝ISCSIInitiator,並設置開機自啓
yum install iscsi-initiator-utils
systemctl restart iscsid
systemctl enable iscisd
配置ISCSIInitiator名稱
備註:此時InitiatorName必須與服務器的ACL允許ISCSI客戶機連接的名稱一致。
vim /etc/iscsi/initiatorname.iscis
重啓一下iscsi服務
systemctl restart iscsid
查找ISCIS設備
在查找之前先看一下系統的磁盤設備
lsblk
發現只有sda以及sr0兩個存儲設備
iscsiadm -m discovery -t st -p iscsi-server.com -l
注意要將IP與對應的主機名寫到/etc/hosts中
當執行完命令後繼續查看lsblk發現多了一塊20G的sdb磁盤
設置開機自動掛載ISCSI設備
iscsiadm -m node T iqn.2018-12.com.server-iscis -p 192.168.32.144:3260 -o update -n node.startup -v automatic
給新添加的網絡設備sdb創建文件系統,設置開機自動掛載
fdisk /dev/sdb
創建文件系統,設置開機自動掛載到/mnt/data目錄下
mkfs.ext4 /dev/sdb1
mkdir /mnt/data
vim /etc/fstab
mount -a
df -Th
到此配置單個啓動器作爲iscsi客戶端的存儲設備配置完畢
實驗二:使用targetcli爲多個啓動器配置ISCSI訪問控制
我們在上一個實驗中繼續擴展
再創建一個LUN卷組,讓已經掛載了sdb設備的iscsi-client作爲擴展使用,
在iscsi-server主機上再添加一塊10G的磁盤,並創建成邏輯卷格式
fdisk /dev/sdc
fdisk /dev/sdd
將/dev/sdc1設置成邏輯卷
pvcreate /dev/sdc1
vgcreate ISCSI-2 /dev/sdc1
lvcreate -l 100%VG -n test_iscsi-2 ISCSI-2
同樣進行ISCSI服務端的配置
targetcli
創建一個塊存儲
>/backstore/block create iscsi_vol-2 /dev/ISCSI-2/test_iscsi-2
爲ISCSI-Target命名
>/iscsi create iqn.2018-12.com.server-iscsi:server-2
當我們創建完成後會發祥有兩塊塊設備以及兩個iscsi-tpg1
創建ACL允許ISCSI客戶機連接
>cd iscsi/iqn.2018-12.com.server-iscsi:server-2
>acls/ create iqn.2018-12.com.server-iscsi:server:xx
備註:這裏一定要注意第二個iscsi-tpg1在創建acls的時候一定要跟第一個acls創建的名稱一致,然後將這個名稱寫到iscsi-client的客戶端的/etc/iscsi/initiatorname.iscsi文件中
創建lun(target塊設備的邏輯單元)
>luns/ create /backstores/block/iscsi_vol-2
創建ip與端口
>portals 192.168.32.144 3260
此時我們查看一下target總體的配置信息
配置ISCSI Initiator(客戶端)配置
查看一下/etc/iscsi/initiatorname.iscsi文件
服務器雖然有兩個ISCSI-Target名稱但是下面的acls創建的wwn號是一樣的同時用同一個IP及端口共享出去,所以這裏不做任何改動
檢索服務器端共享的設備文件
iscsiadm -m discovery -t st -p iscsi-server.com -l
查看一下客戶端本地存儲磁盤發現多個一塊/dev/sdc的10G硬盤
分區格式化掛載後即可正常使用,這就是爲一個ISCSI客戶端配置多個卷組的步驟
這裏因爲我們使用一塊網卡配置所以不需要再客戶端配置多路徑映射