Linux iSCSI 磁盤共享管理

Linux iSCSI 磁盤共享管理node

  iSCSI 服務是經過服務端(target)與客戶端(initiator)的形式來提供服務。iSCSI 服務端用於存放存儲源的服務器,將磁盤空間共享給客戶使用,客戶端能夠再不充氣的狀況下擴容磁盤空間。iSCSI 服務端經過已終端的形式配置存儲共享過程,每個目錄的含義都不一樣,下面會詳細講到。iSCSI 協議是經過客戶端名稱進行驗證的,也就是說,用戶在訪問存儲共享資源時不須要輸入密碼,只要 iSCSI 客戶端的名稱與服務端中設置的訪問控制列表中某一名稱條目一致便可,所以須要在 iSCSI 服務端的配置文件中寫入一串可以驗證用戶信息的名稱。linux


Linux iSCSI 結構介紹shell

目錄介紹vim

  • # iSCSI服務端存放本地共享設備的位置。
  • /backstores/block 
  • # SCSI服務端管理target。
  • /iscsi
  • # SCSI服務端共享資源設備加入到target。
  • /iscsi/target名稱目錄/tpg1/luns
  • SCSI服務端目錄用於存放可以訪問共享存儲資源的客戶端名稱。
  • /iscsi/target名稱目錄/tpg1/acls
  • SCSI服務端目錄用於指定客戶端可被訪問的監聽IP地址及端口
  • /iscsi/target名稱目錄/tpg1/portals

Linux iSCSI 服務端配置服務器

  • 需求:共享服務端的 /dev/sdb4 設備
  • 版本:targetd-0.8.6
  • 版本:targetcli-2.1

一、服務端安裝iSCSI網絡

yum -y install targetd targetcli

二、啓動服務並設置開機自啓動併發

systemctl start targetd
systemctl enable targetd

三、進入iSCSI服務終端、ls查看目錄、服務端終端命令: targetcliapp

[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
View Code

四、進入 /backstores/block 目錄下、指定共享磁盤設備,命名磁盤設備tcp

# 進入指定目錄下
/> cd /backstores/block
# 建立共享設備,命名爲 「disk0」 /backstores/block> create disk0 /dev/sdb4
Created block storage object disk0 using /dev/sdb4.
查看輸出

五、進入 /iscsi 目錄下建立iSCSI target 名稱ide

# 進入指定目錄
cd /iscsi
#
建立新的 target 名稱 /iscsi> create
Created target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.a52e09c8e24f.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
輸出

六、進入 /iscsi/target名稱目錄/tpg1/luns 目錄下建立共享資源加入到target

# 進入指定目錄
/iscsi> cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d/tpg1/luns 
# 建立共享設備到 target
/iscsi/iqn.20...f2d/tpg1/luns> create /backstores/block/disk0 
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:client
輸出

七、進入 /iscsi/target名稱目錄/tpg1/acls 設置訪問控制,建立存入客戶端可訪問名稱

# 進入指定目錄
/iscsi/iqn.20...f2d/tpg1/luns> cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d/tpg1/acls/
# 建立存入客戶端可訪問名稱
/iscsi/iqn.20...f2d/tpg1/acls> create iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:xsk
Created Node ACL for iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:xsk
Created mapped LUN 0.
輸出

八、進入 /iscsi/target名稱目錄/tpg1/portals 設置服務端共享設備的網卡IP地址及端口

# 進入指定目錄
/iscsi/iqn.20...f2d/tpg1/acls> cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d/tpg1/portals/
# 添加IP及端口、端口能夠不填默認3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.1.17 3260
報錯:Could not create NetworkPortal in configFS

# 報錯能夠刪除 0.0.0.0
delete 0.0.0.0 3260

注:繼續添加IP便可
報錯

九、保存退出並重啓服務

# 保存設置
/> saveconfig
#
退出 /> exit # 重啓服務 systemctl restart targetd
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload
開放防火牆

其餘操做

# 該 tgp 關閉帳號驗證
/iscsi/../tpg1> set attribute authentication=0
關閉帳號驗證
# 該 tgp 使用自定義ad實現節點訪問限制
/iscsi/.../tpg1> set attribute generate_node_acls=0
使用自定義ad實現節點訪問限制

Linux iSCSI 客戶端配置

  • 需求:使用服務端共享設備並掛載使用
  • 版本:iscsi-initiator-utils-6.2.0.874
  • 版本:iscsi-initiator-utils-iscsiuio-6.2.0.874

一、安裝iscsi客戶端

yum install iscsi-initiator-utils

二、將服務端訪問控制表中的共享名稱加入到客戶端配置文件

vim /etc/iscsi/initiatorname.iscsi

iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:xsk

三、啓動iscsi客戶端並設置開機自啓

systemctl restart iscsid
systemctl enable iscsid

四、經過 iscsiadm 工具掃描發現 服務端共享的存儲設備

# 其中,-m discovery 參數的目的是掃描並發現可用的存儲資源,-t st 參數爲執行掃描操做的類型,-p 192.168.10.17 數爲 iSCSI 服務端的IP 地址
iscsiadm -m discovery -t st -p 192.168.1.17
192.168.1.17:3260,1 iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d
輸出

五、登陸 iSCSI 指定共享服務端

# 其中,-m node 參數爲將客戶端所在主機做爲一臺節點服務器,-T iqn.20.... 參爲要使用的存儲資源,-p 192.168.10.17 參數依然爲對方iSCSI 服務端的 IP 地址。最後使用--login 或-l 參數進行登陸驗證。
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d -p 192.168.1.17 --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d, portal: 192.168.1.17,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d, portal: 192.168.1.17,3260] successful.
輸出

六、查看共享到客戶端的磁盤設備

# 已共享到客戶端本地
命令:file /dev/sdb
輸出:/dev/sdb: block special

七、格式化共享設備

# 格式化格式爲xfs
mkfs.xfs /dev/sdb

八、臨時掛載設備

# 建立掛載目錄
mkdir /iscsi
# 臨時掛載設備
mount /dev/sdb /iscsi

九、永久掛載共享設備

vim /etc/fstab

UUID=eb9cbf2f-fce8-413a-b770-8b0f243e8ad6 /iscsi xfs defaults,_netdev 0 0
命令:blkid | grep /dev/sdb
輸出:/dev/sdb: UUID="eb9cbf2f-fce8-413a-b770-8b0f243e8ad6" TYPE="xfs"
查看設備UUID

注:_netdev 參數含義爲在有網絡傳輸時使用。

十、刪除iSCSI共享資源

# 其中,-u 參數將其設備卸載
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d -u
相關文章
相關標籤/搜索