一、環境說明
- centos7服務器*2
- 服務器ip:服務端10.10.10.186 客戶端10.10.10.184
- 服務端存儲卷sda1
- 提前關閉防火墻,或開放默認 iSCSI 使用 3260 端口
二、服務端(Target)配置
- 安裝 iSCSI target 服務
yum install -y targetcli
systemctl enable target --now
- 創建后端存儲
mkdir -p /iscsi_disks
truncate -s 5G /iscsi_disks/disk01.img
- 配置 target
進入管理界面
targetcli
執行
/backstores/fileio create disk01 /iscsi_disks/disk01.img
# 綁定lun
/iscsi/iqn.2025-09.com.example:storage.target01/tpg1/luns create /backstores/fileio/disk01
# 添加 ACL(客戶端 IQN 必須和 initiator 配置一致)
/iscsi/iqn.2025-09.com.example:storage.target01/tpg1/acls create iqn.2025-09.com.example:client01
/saveconfig
exit
驗證配置
targetclils
三、客戶端(Initiator)配置
- 安裝 iSCSI initiator 工具
yum install -y iscsi-initiator-utils
systemctl enable iscsid --now
- 修改 initiator 名稱
vi /etc/iscsi/initiatorname.iscsi
修改為與服務端 ACL 配置一致:
InitiatorName=iqn.2025-09.com.example:client01
重啟服務
systemctl restart iscsid
- 發現 target
iscsiadm -m discovery -t sendtargets -p 10.10.10.186
4. 登錄 target
iscsiadm -m node -T iqn.2025-09.com.example:storage.target01 -p 10.10.10.186 --login
5.確認磁盤
lsblk
fdisk -l
會看到新設備(通常是 /dev/sdb 之類)。
6.格式化并掛載
mkfs.xfs /dev/sdb
mkdir -p /mnt/iscsi_disk
mount /dev/sdb /mnt/iscsi_disk
7.測試寫入
echo "hello iscsi" > /mnt/iscsi_disk/test.txt
cat /mnt/iscsi_disk/test.txt
NOTICE!!!
1、
如果第四步login失敗
/iscsi/iqn.2025-09.com.example:storage.target01/tpg1 set attribute authentication=1
/iscsi/iqn.2025-09.com.example:storage.target01/tpg1 set auth userid=myuser
/iscsi/iqn.2025-09.com.example:storage.target01/tpg1 set auth password=mypassword
客戶端則需要
iscsiadm -m node -T iqn.2025-09.com.example:storage.target01 -p 10.10.10.186 --op update -n node.session.auth.authmethod -v CHAP
iscsiadm -m node -T iqn.2025-09.com.example:storage.target01 -p 10.10.10.186 --op update -n node.session.auth.username -v myuser
iscsiadm -m node -T iqn.2025-09.com.example:storage.target01 -p 10.10.10.186 --op update -n node.session.auth.password -v mypassword
再次登錄
iscsiadm -m node -T iqn.2025-09.com.example:storage.target01 -p 10.10.10.186 --login
? 總結:
-
大概率是 initiatorname 不一致(客戶端 /etc/iscsi/initiatorname.iscsi 和 targetcli ACL 配置的不一樣)。
-
如果一致,那就檢查是否啟用了 CHAP,需配套用戶名密碼。
驗證是否生效
1、客戶端掛載 iSCSI 盤到目錄
fdisk /dev/sdb
示例操作(新建一個分區):
- 輸入 n(新建分區)
- 輸入 p(主分區)
- 默認即可(全盤)
- 輸入 w 保存退出
之后會出現 /dev/sdb1。
2、格式化文件系統
mkfs.xfs /dev/sdb1
3、掛載到目錄
mkdir -p /mnt/iscsi_disk
mount /dev/sdb1 /mnt/iscsi_disk
4、驗證
df -h /mnt/iscsi_diskecho "hello from iscsi" > /mnt/iscsi_disk/test.txt
cat /mnt/iscsi_disk/test.txt
5、設置開機自動掛載
查看UUID
blkid /dev/sdb1
編輯 /etc/fstab,加一行:
UUID=<剛才的UUID> /mnt/iscsi_disk xfs _netdev 0 0
6、驗證
ls -lh /iscsi_disks/disk01.img # 顯示 5.0G
du -sh /iscsi_disks/disk01.img # 應該很小,比如 0M 或幾K