ISCSI 磁盘的工作模式

  • Internet SCSI ,网际SCSI接口

    • 一种基于 C/S 架构的虚拟磁盘技术

    • 服务器提供磁盘空间,客户机连接并当成本地磁盘使用

ISCSI 磁盘的构成

  • backstore,后端存储

    • 对应到服务器提供实际存储空间的设备,需要起一个管理名称

  • target,磁盘组

    • 是客户端的访问目标,作为一个框架,由多个lun组成

  • lun,逻辑单元

    • 每一个lun需要关联到某一个后端存储设备,在客户端会视为一块虚拟磁盘

ISCSI Qualified Name (iqn)命名规范

  • iqn.几几年-几月.倒序域名:自定义标识

  • 用来识别 target 磁盘组,也用来识别客户机身份

  • 示例

    • iqn.2024-10.com.miner:server

一、服务端 server

1、 划分新分区,一个自定义大小主分区

fdisk /dev/sdb	# 划分分区
partprobe		# 刷新磁盘分区表
lsblk			# 查看磁盘分区

2、安装targetcli 软件

Centos 安装

yum install -y targetcli	# 安装targetcli 软件

Ubuntu 安装

apt install -y targetcli-fb

3、配置

1、打开交互式配置界面

targetcli

2、创建后端存储设备 backstores

创建一个后端存储块设备 指定创建名字(可自定义) 指定创建的设备(磁盘分区)

backstores/block create name=nsd dev=/dev/sdb1

3、创建磁盘组 target

创建一个名为 iqn.2024-10.com.miner:server 的target 磁盘组

iscsi/ create iqn.2024-10.com.miner:server

4、关联后端存储设备和磁盘组

使用lun 将磁盘组和后端存储设备进行一个关联,使得磁盘组所指向的空间是后端存储

iscsi/iqn.2024-10.com.miner:server/tpg1/luns create /backstores/block/nsd

5、设置 ACL 验证,设置客户端声称的名字

为磁盘组创建一个 ACL 验证的客户端名字 iqn.2024-10.com.miner:client

iscsi/iqn.2024-10.com.miner:server/tpg1/acls create iqn.2024-10.com.miner:client

6、指定本机提供服务的IP地址及端口(默认3260)

为磁盘组创建一个访问本地磁盘组的ip端口路径(本机ip)

iscsi/iqn.2024-10.com.miner:server/tpg1/portals create ip_address=192.168.222.230

7、保存并退出

exit

第 6 步 添加服务ip端口地址时 报错

检测 是否有多余的ip端口

o- portals 
  o- 0.0.0.0:3260 

把这个多余的 ip端口删除即可

iscsi/iqn.2024-10.com.miner:server/tpg1/portals/ delete ip_address=0.0.0.0 ip_port=3260 

4、重启服务

systemctl restart target
systemctl enable target

二、客户端 client

1、安装客户端软件

Centos 安装

yum install -y iscsi-initiator-utils

Ubuntu 安装

 apt install -y open-iscsi

2、设置客户端访问服务端所声称的名字

vi /etc/iscsi/initiatorname.iscsi
# 修改以下内容
IntiatorName=iqn.2024-10.com.miner:client


3、客户端刷新声称名字的服务

systemctl daemon-reload
systemctl restart iscsid

4、发现服务端共享存储

使用 iscsiadm 命令来配置 iSCSI 连接。您可以使用以下命令添加一个新的 iSCSI 目标(target):

sudo iscsiadm --mode discoverydb --type sendtargets --portal <SAN_IP> --discover

其中 <SAN_IP> 是 SAN 存储的 IP 地址或主机名。

5、登录到 iSCSI 目标

一旦发现了目标,您可以使用以下命令登录到目标:

sudo iscsiadm --mode node --targetname <TARGET_NAME> --portal <SAN_IP>:<PORT> --login

其中 <TARGET_NAME> 是目标的名称,<SAN_IP> 是 SAN 存储的 IP 地址,<PORT> 是 iSCSI 端口(默认为 3260)。

6、查看已登录的目标

您可以使用以下命令查看已登录的目标:

sudo iscsiadm --mode session --op show

7、挂载 iSCSI 设备

一旦成功登录到目标,您可以使用 fdiskmkfs 命令来分区和格式化 iSCSI 设备,并将其挂载到文件系统中。

8、断开 iSCSI 连接

当您完成使用 iSCSI 设备后,可以使用以下命令断开连接:

sudo iscsiadm --mode node --targetname <TARGET_NAME> --portal <SAN_IP>:<PORT> --logout