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服务端

难点是了解每一个虚拟目录是干嘛的。

# 开始配置,输入命令后进入交互式配置
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:20db2cb6227ciSCSI 设备的全局唯一标识符(Global Unique Identifier,GUID),也称为 iSCSI 名称(iSCSI Name)iSCSI 名称是用于标识 iSCSI 设备的唯一名称,由多个部分组成,包括:

  • iSCSI 名称标识符(iSCSI Name Identifier,IQN)、
  • iSCSI 名称空间(iSCSI Name Space,NS)、
  • iSCSI 名称附加器(iSCSI Name Adder,NA),
    其中 IQNiSCSI 名称固定部分
# 进入这个iSCSI target名称(共享资源)
cd iqn.2003-p1.org.linux-iscsi.localhost.x8664:sn:20db2cb6227c

tpg1/luns 目录是用于管理 iSCSI targetLUN(Logical Unit Number逻辑单元号)的目录

# 进入tpg1/luns目录,luns目录指的是要共享的设备名称
cd tpg1/luns

ls

创建一个名为/backstores/block/disk0LUN(逻辑单元号),并将该 LUN(逻辑单元号) 映射到 /backstores/block/disk0 这个块设备后端上,表示该 LUN(逻辑单元号) 提供的存储空间disk0 文件表示。

# 使用disk0来存储数据
create /backstores/block/disk0

在这里插入图片描述


创建Portal

# 返回上一级目录---(tpg1)目录
cd ..

portals目录是用于管理iSCSI targetPortal 的目录。PortaliSCSI 存储设备上的网络接口,用于接收来自客户端的请求数据

# 进入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 targetACL(Access Control List访问控制列表)的目录。ACL 用于控制哪些客户端可以访问该目标,哪些客户端不能访问

# 返回上一级目录 tpg1
cd ..

# 进入acls目录
cd acls

创建一个名为 iqn.2003-p1.org.linux-iscsi.localhost.x8664:sn:20db2cb6227c:clientACL,并将该 ACL 映射到刚刚创建的 iSCSI target上,表示该 ACL 具有访问该目标的权限client 是 iSCSI target的别名

# 配置谁可以访问这块磁盘
## client 是 iSCSI target的别名
create iqn.2003-p1.org.linux-iscsi.localhost.x8664:sn:20db2cb6227c:client

# 保存并退出
exit

在这里插入图片描述
在这里插入图片描述


3.配置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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教Linux的李老师

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值