ISCSI的部署与安装

article/2025/9/23 3:24:22

iSCSI(Internet Small Computer System Interface,Internet小型计算机系统接口)是一种由IBM公司研究开发的IP SAN技术。
该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,基于 TCP/IP的协议连接iSCSI服务端(Target)和客户端(Initiator),使得封装后的SCSI数据包可以在通用互联网传输,最终实现iSCSI服务端映射为一个存储空间(磁盘)提供给已连接认证后的客户端。

整体架构概述

iSCSI是一种存储设备远程映射技术,它可以将一个远程服务器上的存储设备映射到本地,并呈现为一个块设备(大白话就是磁盘)。
从普通用户的角度,映射过来的磁盘与本地安装的磁盘毫无差异。这种映射方式基于是基于SCSI协议的,SCSI协议是计算机与外围设备(例如硬盘、光盘等)通信的协议。而iSCSI则是通过TCP协议对SCSI进行封装的一种协议,也就是通过以太网传输SCSI协议的内容

iSCSI 的工作原理

ISCSI 通过在服务器上的iSCSI 启动器和存储设备上的iSCSI 目标之间传输块级数据来工作。iSCSI 协议封装 SCSI 命令并将数据组装到 TCP/IP 层的数据包中。使用点对点连接通过网络发送数据包。到达后,iSCSI 协议分解数据包,分离 SCSI 命令,以便操作系统 (OS) 将存储视为本地连接的 SCSI 设备,可以像往常一样进行格式化。今天,iSCSI 在中小型企业 (SMB) 中的流行与服务器虚拟化利用存储池的方式有关。在虚拟化环境中,集群内的所有主机都可以访问存储池集群节点通过iSCSI协议通过网络与存储池进行通信。有许多 iSCSI 设备可以在客户端服务器和存储系统之间实现这种类型的通信。

此图显示了为 iSCSI 规划网络的更实用的方法。通过为存储网络添加专用以太网交换机或允许在专用以太网网络不可用时将生产 LAN 用作备份路径,可以扩展此设计以允许多路径 I/O。

在这里插入图片描述

iSCSI 的组件

ISCSI 的组件包括
☑ iSCSI initiator
iSCSI启动器是安装在服务器中的一种软件或硬件,用于向基于iSCSI的存储阵列或iSCSI目标发送数据或从其接收数据。
使用软件启动器时,可以使用标准以太网组件(如网络接口卡)来创建存储网络。但是将软件启动器与网卡一起使用实际上将所有处理负担都留给了服务器的CPU,这可能会影响服务器处理其他任务的性能。
iSCSI主机总线适配器类似于光纤通道(FC) HBA。它减轻了主机系统处理器的大量处理负担,提高了服务器和存储网络的性能。然而,性能的提高是有代价的,因为iSCSI HBA的成本通常是标准以太网NIC的三到四倍。一个类似的,但稍微便宜一点的替代方案是iSCSI卸载引擎——或iSOE——顾名思义,它从主机上卸载一些进程。

☑ iSCSI target
在iSCSI配置中,存储系统是“target”。target实际上是一台服务器,它托管存储资源并允许通过一个或多个网卡、HBA或iSOE访问存储。

☑ iSCSI vs Fibre Channel
最初,iSCSI存储系统被定位为更昂贵但性能更高的基于光纤通道的存储阵列的替代品,这些存储阵列处理企业数据中心中的大量数据块存储任务。FC阵列使用专为存储任务设计的协议来读写存储设备的数据,因此它通常为块存储访问提供最高的性能——这种访问类型通常是具有高事务率、要求快速I/o和低延迟的数据库应用程序的首选。
配置iSCSI存储的过程类似于设置FC存储,创建逻辑单元号(LUN)是该过程的基础。

实验环境

1.服务端ISCSI Target配置(192.168.1.1)

firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload				 		# 开放3260端口(默认情况下,网络通信是至iSCSI目标上的3260/tcp明文端口)[root@localhost ~]# fdisk -l /dev/sdb		# 创建用于共享的物理磁盘设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   8e  Linux LVM
/dev/sdb3         8390656    12584959     2097152   8e  Linux LVM
[root@localhost ~]# rpm -qa | grep target
targetcli-2.1.fb41-3.el7.noarch(确保有这个程序,没有则需要YUM安装)
selinux-policy-targeted-3.13.1-102.el7.noarch
[root@localhost ~]# systemctl start target
[root@localhost ~]# targetcli 			 //命令可tab【/backstores/block是iSCSI服务端配置共享设备的位置】
/> ls					# 查看菜单目录结构
.............................................................................................................. o- backstores 		# 指定可以添加的存储设备类型| o- block 			# 数据块| o- fileio			# 文件数据| o- pscsi 			# 物理SCSI| o- ramdisk 			# 内容o- iscsi 				# 保存target的相关属性,例如:acl,portalo- loopback
backstores表示支持存储对象的“后端类型”。主要由:
block		block类型存储对象    适用于本地块设备和逻辑设备(保存的是块设备)
fileio		fileio类型存储对象   适用于存储在本地磁盘上的常规文件(保存的是文件类型设备)
pscsi		pscsi类型存储对象    适用于直接通过SCSI命令访问的资源(本地实体scsi设备)
ramdisk		ramdisk类型存储对象  适用于临时缓存设备,支持多session(内存磁盘)# 设置/dev/sdb1为共享硬盘并起名为k1
/> backstores/block create k1 /dev/sdb1
# 生成外部共享名称【创建标签IQN (Iscsi Qualified Name)】
/> iscsi/ create iqn.2021-06.com.baidu.www:k1
iqn		限定名称
2021-06 固定格式YYYY-MM(不可以加月份)
com.baidu.www		反向域名
:k1		自定义标识(k1可以改)
# 创建ACL列表(生成密钥)
/> iscsi/iqn.2021-06.com.baidu.www:k1/tpg1/acls create wwn=iqn.2021-06.com.qq.www.client1
# 绑定设备【lun:逻辑单元号(外部名称和和内部名称关联)】
/> iscsi/iqn.2021-06.com.baidu.www:k1/tpg1/luns create storage_object=/backstores/block/k1
# 移除接口
/> iscsi/iqn.2021-06.com.baidu.www:k1/tpg1/portals delete 0.0.0.0 ip_port=3260 
# 指定本机提供服务的IP地址及端口(默认情况下,iscsi发起方和目标方之间通过端口3260连接)
/> iscsi/iqn.2021-06.com.baidu.www:k1/tpg1/portals create ip_address=192.168.1.1 ip_port=3260
# 保存并应用(exit自动保存)
/> saveconfig
#清空IQN等相关配置
/> clearconfig  confirm=true

2.客户端iSCSI Initiator配置(192.168.1.10)

rpm -qa | grep iscsi
yum -y install iscsi-initiator-utils# 发现共享存储
iscsiadm -m discovery -t st -p 192.168.1.1
# 设置服务端密钥(initiatorname.iscsi标记了initiator的名称)
echo "InitiatorName=iqn.2021-06.com.qq.www.client1" >/etc/iscsi/initiatorname.iscsi
systemctl restart iscsid			# iscsid(用于设置密钥)与iscsi(登录访问磁盘)是两个服务【可以不重启iscsid,默认启动】
# 连接ISCSI设备(或者重启iscsi)
iscsiadm -m node -T iqn.2021-06.com.baidu.www:k1 -l
# 断开ISCSI设备
iscsiadm -m node -T iqn.2021-06.com.baidu.www:k1 -u
# 查看target记录
iscsiadm -m node
# 查看所有iscsi连接
iscsiadm -m session			-m:模式(discovery:发现,node:节点)
-t:sendtargets(st) 类型 将服务端的信息发送给客户端(其中st表示允许每个iSCSItarget发送一个可用target列表给initiator)
-T:指定要连接的服务目标(iqn设备名)
注意:此处InitiatorName须与服务端配置的ACL允许ISCSI客户机连接的名称一致(指定密钥才能连接)
# 查看nodes
iscsiadm 侦测到的的结果会写入/var/lib/iscsi/nodes/ 中,因此只需启动iscsi就能够在下次开机时,自动连接到正确的target了~
[root@localhost ~]# ll /var/lib/iscsi/nodes/
drw-------. 3 root root 32 621 22:51 iqn.2021-06.com.baidu.www:k1
侦测信息都写入了/var/lib/iscsi/nodes/iqn.2022-02.com.baidu.www\:aa/192.168.1.1\,3260\,1/default 文件中了。

Difficulties like springs, you weak it strong, you strong it weak.


http://chatgpt.dhexx.cn/article/gZgZuWY5.shtml

相关文章

SCSI协议与iSCSI协议

文章目录 1.SCSI协议2.iSCSI协议3.IO--SCSI错误处理机制 1.SCSI协议 SCSI的起源 SCSI出现的原因主要是因为原来的IDE接口的硬盘转速太慢,传输速率太低,因此高速的SCSI硬盘出现。其实SCSI并不是专为硬盘设计的,实际上它是一种总线型接口。由…

ISCSI详解(三)——ISCSI原理和架构

今天继续给大家介绍Linux运维相关知识,本文主要内容是ISCSI基础知识。 一、ISCSI架构 ISCSI的架构主要有以下两种: 1、控制器架构 在控制器架构下,ISCSI使用专门的数据传输芯片,专门的RAID数据校验芯片、高性能的cache缓存以及专…

iscsi服务器搭建

iscsi搭建 ISCSI服务介绍服务器配置(IP:192.168.155.28)客户端配置Linux(IP:192.168.155.30)Windows配置(192.168.155.200) ISCSI服务介绍 全称:Internet Small Computer System Interface——…

Windows iSCSI

iSCSI 题目一、安装iSCSI并创建存储位置二、配置iSCSI三、DC1连接iSCSI四、创建盘提示:若需要问题欢迎私聊‘ 题目 iSCSI 磁盘存储在D:\ISCSIDATA 中; iSCSI 磁盘提供给DC1 使用,磁盘容量500 G,启用chap 验证; DC1 上连接成功后,把磁盘格式化为NTFS 格式并挂载到卷标D …

【基于CentOS 7 的iscsi服务】

目录 一、概述 1.简述 2.作用 3. iscsi 4.相关名称 二、使用步骤 - 构建iscsi服务 1.使用targetcli工具进入到iscsi服务器端管理界面 2.实现步骤 2.1 服务器端 2.2 客户端 2.2.1 安装软件 2.2.2 在认证文件中生成iqn编号 2.2.3 开启客户端服务 2.2.4 查找可用的i…

ISCSI服务器搭建与配置

ISCSI服务简介 ISCSI简介: iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口) 技术是一种新存储技术,该技术是将现有的SCSI接口与以太网技术相结合,使服务器可与使用IP网络的存储装置互相交换资料。 iscsi 结构…

SCSI/ISCSI协议

SCSI即小型计算机接口(Small Computer System Interface),指的是一个庞大协议体系,到目前为止经历了SCSI-1/SCSI-2/SCSI-3变迁。 SCSI协议定义了一套不同设备(磁盘,磁带,处理器,光设…

iSCSI协议简介

本文综合了几篇参考文献的内容,做了删减与重组,但严格来说,不算原创。 笔者笔记如下: iSCSI initiator和target的核心功能都在内核中,无须人工干预;而要人工干预的大约是这么几件事: 1. 建立…

【存储】SCSI、iSCSI协议详解及对比

作 者: NGDCN 原文链接:【存储】SCSI、iSCSI协议详解及对比 - NGDCN 版 权: 本文由 NGDCN 于2022-11-11原创发布在 NGDCN,未经许可,禁止转载。 SCSI SCSI是小型计算机系统接口(Small Compu…

ISCSI详解(二)——ISCSI基础知识

今天继续给大家介绍Linux运维相关知识,本文主要内容是ISCSI基础知识。 一、ISCSI简介 ISCSI,即Internel Small Computer System Interface,互联网小型计算机接口,就是在互联网上运行SCSI协议的一种技术。 ISCSI把原本用于用于计…

ISCSI介绍

ISCSI Internet Small Computer System Interface ISCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,…

iSCSI详解及 iSCSI服务端配置、客户端(Linux、Windows配置)

一、简介: iSCSI,Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。iscsi通过TCP/IP协议,实现远程存储单元的…

交换机的Access口与Trunk口

基本概念 Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口; Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口; 处理流程 Acess端口收报文:…

交换机中access和trunk详解

首先需要说明的是,vlan的标准802.1q中采用的是untagged,tagged这两个术语来制定vlan规范,并没有access,trunk。然而大多数实际的交换机设备在配置时,却都采用access,trunk。 以下简称802.1q中数据包中的vlan标识部分为vid标签。 …

什么是trunk端口?

什么是iis7服务器监控工具Trunk端口 基本概念 Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口; 处理流程 trunk端口收报文: 收到一个报文,判断是否有VLAN信息,如果没有则打上端口的PVID,并进行交换转发;如果有判断…

链路聚合Eth-Trunk

链路聚合简介 以太网链路聚合Eth-Trunk简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。 目的&…

超详细讲解access和trunk的区别,从此不再迷糊

我在网上阅读了好几篇关于这个主题的博文,发现很多都是有错误理解的,特此发表一下关于本人的理解,本文只简单概述access和trunk的区别并且hybrid不做探讨。 一、接收区别 access收到的帧通常是不带vlanTag的,收到无tag的帧会打上…

Eth-Trunk技术原理与配置

目录 前言Eth-Trunk概念手工负载分担模式LACP模式LACP模式活动链路的选取LACP模式的抢占机制 Eth-Trunk接口负载分担模式配置手工负载分担模式配置LACP模式 前言 随着网络中部署的业务量不断增长,对于全双工点对点链路,单条物理链路的带宽已不能满足正常…

TRUNK通信过程

一、拓扑结构 拓扑说明,PC1、PC3连接到VLAN10接口下,PC2、PC4连接到VLAN20接口下,两台交换机用trunk链路连接,允许VLAN10 20 通过 以上述拓扑为例,说明PC1到PC3的通信过程 二、通信过程 PC1 ping PC3 PC1发起一个与…

trunk与access的区别

首先声明我没研究过交换机底层实现,以下结论都是我的个人理解。不保证正确,但是有助于理解trunk和access。以下言论可能你在哪里都没有看到过。 先说观点:我认为trunk与access并没有本质的区别。 access收到带vlan的帧和自己所属vlan比较&a…