传统的 SCSI 技术是存储设备最基本的标准协议,但通常需要设备互相靠近并用 SCSI 总线连接,因此受到物理环境的限制。
iSCSI(Internet Small Computer System Interface),顾名思义, iSCSI 是网络上的 SCSI,也就是通过网络连接的 SCSI。它是由 IBM 公司研究开发用于实现在 IP 网络上运行 SCSI 协议的存储技术,能够让 SCSI 接口与以太网技术相结合,使用 iSCSI 协议基于以太网传送 SCSI 命令与数据,克服了 SCSI 需要直接 连接存储设备的局限性,使得可以跨越不同的服务器共享存储设备,并可以做到不停机状态下扩展存储 容量。iSCSI 实现的是 IP SAN,数据传输基于以太网。
一、搭建 iscsi 服务端及客户端
二、方案
2.1使用命令 lsblk 查看,存在 /dev/sdb ,本案例使用 sdb 作为服务端将要提供给客户端的盘。
fdisk /dev/sdb # 对/dev/sdb 进行分区
mkfs.ext4 /dev/sdb #文件系统格式化
2.2 服务端相关服务安装
安装服务端 target 服务,包名为target- restore , targetcli 。下面直接使用 target* 进行安装。
yum install target*
2.3 开启 target 服务
2.4 使用 targetcli 命令进行配置
需 root 权限执行下列操作
1. targetcli # 进入配置
2. ls # 查看当前目录
3. /backstores/block create disk1 /dev/sdb1 #/backstores/block 为目录路径,进行创建块存储对象 disk1,使用的是
/dev/sdb1
4. ls # 查看当前目录情况,会发现多了些东西
# 创建 iSCSI target 名称,进入到 /iscsi 目录下,执行 create 命令,会自动创建 iqn 开头的 iscsi 共享项目
5. /iscsi create iqn.2021-08.com.kylin:disk #在/iscsi 这个目录路径下,创建一个 iscsi 的 target
6. ls #查看当前目录情况
# 创建共享 IP 和端口有可能不成功,ls 看一下,有可能已经存在相应的端口和地址了,delete 删除即可
/iscsi delete iqn.2021-08.com.kylin:disk # 若创建有误可以使用 delete 进行删除,重新创建
# 其次,分别在该项目的 tgp1 目录下的 acl、luns 和 portals 目录下创建客户端连接名、共享的 luns 和共享地址及端口
7. cd /iscsi/iqn.2021-08.com.kylin:disk/tpg1 #进入改目录
8. pwd #查看当前路径
9. acls/ create iqn.2021-08.com.kylin:a # 在目录 acls 下创建客户端连接名,客户端配置时要
用
10. ls #查看当前目录情况
11. luns/ create /backstores/block/disk1 # 在目录 luns 下,创建共享的 luns
12. ls #查看当前目录情况
13. exit #配置完成退出
2.5 端口开放
3、iscsi 客户端搭建
3.1 安装相关客户端软件包
yum install open-iscsi.x86_64 #安装 open-iscsi.x86_64
3.2 客户端发现服务端 target
systemctl start iscsid
systemctl enable iscsid
iscsiadm -m discovery -t st -p 192.168.18.135 # ip 地址为 iscsi 服务端 ip 地址
3.3 修改配置文件
修改配置文件 InitiatorName 的值改为服务端配置的在目录 acls 下创建的客户端连接名
vim /etc/iscsi/initiatorname.iscsi # 修改该配置文件,改为 InitiatorName=iqn.2021-08.com.kylin:a
cat /etc/iscsi/initiatorname.iscsi # 查看文件内容
配置文件修改完后需要重启 iscsid 服务
systemctl restart iscsid
3.4 注册 ISCSI 设备
iscsiadm -m node -T iqn.2021-08.com.kylin:disk -p 192.168.18.135 -l
3.5 lsblk 列出所有可用块设备的信息
将会看到多出一块 sdb 的块设备。
3.6 初始化文件系统
mkfs.ext4 /dev/sdb
3.7 进行挂载使用
mount /dev/sdb /mnt
3.8 关于自动注册与挂载
3.8.1 查看就有哪些 target 记录在了 Open-iSCSI 数据库中
iscsiadm -m node
3.8.2 ISCSI 设备设置为开机自动注册
iscsiadm -m node –T iqn.2021-08.com.kylin:disk -p 192.168.18.135:3260 --op update -n node.startup -v
automatic # 设置自动注册
reboot # 重启系统
3.8.3 设置 ISCSI 设备开机后自动挂载到指定目录
修改文件 /etc/fstab ,如下图所示, 注意:挂载的时候一定要加_netdev 参数,否则重启会卡住 。