
SAN 共享存储
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 设备:
一旦成功登录到目标,您可以使用 fdisk
和 mkfs
命令来分区和格式化 iSCSI 设备,并将其挂载到文件系统中。
8、断开 iSCSI 连接:
当您完成使用 iSCSI 设备后,可以使用以下命令断开连接:
sudo iscsiadm --mode node --targetname <TARGET_NAME> --portal <SAN_IP>:<PORT> --logout