iSCSI网络SCSI接口
iSCSI(艾斯卡斯)简介
iSCSI 是一种网络存储协议,可以将远程存储设备映射为本地块设备。
samba/nfs 只共享文件和目录;
iscsi直接网络共享整块硬盘,可以跨平台共享磁盘;
iscsi= internet + SCSI(Small Computer System Interface:小型计算机系统接口)
iscsi=互联网+硬盘
iscsi的一块磁盘只能共享给一个主机。
- SATA
- IDE
iSCSI-HBA卡
传统的网卡是用来传输上网数据的,想让网卡传输硬盘数据的话;建议使用硬件:iSCSI-HBA卡;
iSCSI-HBA卡可以让硬盘传输数据更加稳定,没有也可以。
iSCSI-HBA卡需要安装专有驱动。

iSCSi架构
ISCSI 这个架构主要将存储装置与使用的主机这两部分,分别是:
ISCSI target(iSCSI共享磁盘) :就是存储设备端,存放磁盘或RAID的设备,目前也能够将Linux主机仿真成ISCSI target了,目的在提供其他主机使用的磁盘。ISCSI inITiator(iSCSI客户端): 就是能够使用target的客户端,通常是服务器,只有装有iscsi initiator的相关功能后才能使用ISCSI target提供的磁盘。
iSCSI局限性
- 网速局限性
- 网络波动性,会有数据丢失风险
完全手动搭建ISCSI–原理模式
0.创建RAID10
实验环境下使用软RAID模拟。
# 创建RAID10
mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sd[b-e]
# 等待RAID10初始化完毕
## 查看初始化进度Resync status: 100%(或消失) 时才可用
mdadm -D /dev/md0
1.安装iSCSI服务程序
最低OS版本要求是Centos7
# 安装iSCSI服务程序
## targetd 服务程序
## targetcli 交互式配置工具
yum -y install targetd targetcli
# 启动和开机自启targetd服务
systemctl enable --now targetd
2.开始配置ISCSI服务端(Initiator )
难点是了解每一个虚拟目录是干嘛的。
# 开始配置,输入命令后进入交互式配置
targetcli
# 输入ls,查看目录(ISCSI将配置模拟成李Linux目录)
ls
进入/backstores/block目录
/backstores/block 目录是 Linux 内核中用于管理块设备后端的目录,提供了一个简单的接口,可以让用户在 Linux 中管理块设备后端,通常用于配置 iSCSI 存储设备后端。
该目录下的 device 文件来表示一个块设备后端,每个device文件都包含了后端设备的信息,例如设备名称、路径、大小等。
## /backstores/block是iSCSI服务端配置共享设备的目录
cd /backstores/block
将磁盘添加到共享列表
# 将/dev/md0添加到共享磁盘列表,共享磁盘的名称显示为disk0
# 在 /backstores/block 目录下创建一个名为 disk0 的文件,表示一个块设备后端
## 将/dev/md0 作为存储系统的后端设备
create disk0 /dev/md0

创建iSCSI target(共享磁盘)
/backstores/block/iscsi目录是 Linux 内核中用于管理 iSCSI target和连接的目录。该提供了一个简单的接口,可以让用户在 Linux 中管理 iSCSI target和连接。
# 进入iscsi
cd iscsi
## 打印 /iscsi>
create命令指定该iSCSI target的名称、别名、TPG(Target Portal Group)(目标端口组)等信息,并将该iSCSI target映射到 /backstores/block/disk0 这个块设备后端上,表示该iSCSI target提供的存储空间由 disk0 文件表示。
# 创建iSCSI target名称(共享磁盘)
create
## 会自动创建一个共享名称
例如:本次自动创建的共享名称(标识符)为:iqn.2003-p1.org.linux-iscsi.localhost.x8664:sn:20db2cb6227c
!!!注意:每个名称后面都有一个点(.) ,复制时一定不要复制这个点。

创建LUN(逻辑单元号)
iqn.2003-p1.org.linux-iscsi.localhost.x8664:sn:20db2cb6227c 是 iSCSI 设备的全局唯一标识符(Global Unique Identifier,GUID),也称为 iSCSI 名称(iSCSI Name)。iSCSI 名称是用于标识 iSCSI 设备的唯一名称,由多个部分组成,包括:
iSCSI 名称标识符(iSCSI Name Identifier,IQN)、iSCSI 名称空间(iSCSI Name Space,NS)、iSCSI 名称附加器(iSCSI Name Adder,NA),
其中IQN是iSCSI 名称的固定部分。
# 进入这个iSCSI target名称(共享资源)
cd iqn.2003-p1.org.linux-iscsi.localhost.x8664:sn:20db2cb6227c
tpg1/luns 目录是用于管理 iSCSI target的 LUN(Logical Unit Number逻辑单元号)的目录
# 进入tpg1/luns目录,luns目录指的是要共享的设备名称
cd tpg1/luns
ls
创建一个名为/backstores/block/disk0 的 LUN(逻辑单元号),并将该 LUN(逻辑单元号) 映射到 /backstores/block/disk0 这个块设备后端上,表示该 LUN(逻辑单元号) 提供的存储空间由 disk0 文件表示。
# 使用disk0来存储数据
create /backstores/block/disk0

创建Portal
# 返回上一级目录---(tpg1)目录
cd ..
portals目录是用于管理iSCSI target的 Portal 的目录。Portal 是 iSCSI 存储设备上的网络接口,用于接收来自客户端的请求和数据。
# 进入portals目录
cd portals
eth0网卡接口的IP地址是192.168.10.10
# 创建一个名为 192.168.10.10 的 Portal,并将该 Portal 映射到 Linux 系统中的 eth0 网络接口上,表示该 Portal 可以接收来自 eth0 的 iSCSI 请求和数据。
## 设置访问哪个IP可以访问这个磁盘
create 192.168.10.10
## 用户访问192.168.10.10:3260可以访问这个磁盘

配置ACL
acls目录用于管理iSCSI target的 ACL(Access Control List访问控制列表)的目录。ACL 用于控制哪些客户端可以访问该目标,哪些客户端不能访问。
# 返回上一级目录 tpg1
cd ..
# 进入acls目录
cd acls
创建一个名为 iqn.2003-p1.org.linux-iscsi.localhost.x8664:sn:20db2cb6227c:client 的 ACL,并将该 ACL 映射到刚刚创建的 iSCSI target上,表示该 ACL 具有访问该目标的权限。client 是 iSCSI target的别名
# 配置谁可以访问这块磁盘
## client 是 iSCSI target的别名
create iqn.2003-p1.org.linux-iscsi.localhost.x8664:sn:20db2cb6227c:client
# 保存并退出
exit


配置iSCSI客户端
# 安装客户端
yum install iscsi-initiator-utils -y
# 开机自启iscsid服务
systemctl enable --now iscsid
编辑客户端的配置文件–允许挂载的磁盘
vim /etc/iscsi/initiatorname.iscsi
## iSCSI initiator 名称的示例
# InitiatorName= 共享名称:
# :client: 表示iSCSI客户端的名称
InitiatorName=iqn.2003-p1.org.linux-iscsi.localhost.x8664:sn:20db2cb6227c:client
4. 发现共享磁盘-Discovery
# 发现共享磁盘-Discovery
## -m 动作类型 discovery(发现)
## -t st 是发现动作的固定格式
## -p 服务端的地址
iscsiadm -m discovery -t st -p 192.168.1.1:3260

5. 登陆/挂载共享磁盘
# 登陆/挂载共享磁盘
## -m 动作类型 node(节点)
## -T 要挂载的设备名称
## -p 服务端的地址
## -l 登陆/挂载的意思
iscsiadm -m node –T iqn.2003-p1.org.linux-iscsi.localhost.x8664:sn:20db2cb6227c -p 192.168.1.1:3260 -l

# 查看磁盘挂载情况
ls -l /dev/sd*
或
df -h

6.卸载共享磁盘
# 卸载共享磁盘
## -u 卸载磁盘
iscsiadm -m node –T iqn.2003-p1.org.linux-iscsi.localhost.x8664:sn:20db2cb6227c -p 192.168.1.1:3260 -u

1万+

被折叠的 条评论
为什么被折叠?



