当前位置: 首页 > news >正文

linux系统---ISCSI存储服务

目录

一、概述

iSCSI协议的功能

iSCSI的优点

iSCSI基本概念

iSCSI客户端 (iSCSI Initiator)

iSCSI服务器端 (iSCSI Target)

iSCSI target设备名称

逻辑单元号LUN

iSCSI的发现机制

二、 安装

基础配置

target服务器配置

target服务安装

启用服务

target存储配置


一、概述

iSCSI协议(Internet Small Computer System Interface,iSCSI)是一种新的存储技术,它是将SCSI接口与以太网(Ethernet)技术结合起来工作的,简单的说iSCSI协议是将用户的请求转换成SCSI规则编码,然后再将这些数据封装在IP包中以便在以太网中进行传输的协议。

iSCSI技术是基于IP的存储区域网,又称IP-SAN,它是一种基于因特网及SCSI-3协议的存储技术

iSCSI协议的功能

  • 供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行 SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。

  • 基于TCP/IP协议的,用来建立和管理IP存储设备、主机和客户机之间的相互连接,并创建SAN。

  • 使得SAN利用SCSI协议应用在高速数据传输网络成为可能。这种传输是以块级别的方式在各个存储设备上进行的。

iSCSI的优点

iSCSI最大的优点就是节约成本,利用iSCSI协议构建一个存储网络,除了需要存储设备,交换机、线缆还有以太网接口以外,基本就不需要其他的设备了,只需要在现有的网络上安装iSCSI就可以实现构建一个比较大的存储网络了。

iSCSI基本概念

iSCSI客户端 (iSCSI Initiator)

iSCSI客户端为iSCSI initiator,这是I/O操作的发起者。在RedHat Linux系统中可以通过软件来模拟,需要安装iSCSI设备驱动。如iscsi-initiator-utils.rpm iSCSI initiator具有的特性:

  • 既然是I/O操作的发起者,需要通过发现过程请求远端块设备。

  • 它可以与target进行持久连接

  • Linux中可以通过软件方式来实现

iSCSI服务器端 (iSCSI Target)

iSCSI服务器端为iSCSI target,这是I/O操作的执行者。在RedHat Enterprise Linux中可以使用scsi-target-utils软件包来模拟实现。 iSCSI target端具有的特性:

  • 需要导出一个或多个块设备供启动者(initiator)使用

  • 可以通过硬件和软件的方式来实现

iSCSI target设备名称

iSCSI target名称必须是全球唯一的,其格式为:

iqn.<yyyy-mm>.<tld.domain.some.host>[:<identifier>]
# iqn:iSCSI target名称必须是以iqn开头的
# yyyy-mm:表示的是时间
# tld.domain.some.host:这个表示的是一个反过来写的域名
# identifier:这个可以是任意字符串
# 如:iqn.2015-03.com.xsl.www:storge.disk1

逻辑单元号LUN

LUN ID由iSCSI目标设备(Target)分配。iSCSI 启动端(Initiator)设备当前支持在每个目标设备(Target)中导出最多256个LUN。即最大支持16个target。对于LUN,比较通俗的理解就是磁盘分区、LVM卷组、RAID等等

iSCSI的发现机制

iSCSI发起端为了和iSCSI目标端建立iSCSI会话,initiator需要知道target的 IP地址,TCP端口号和名字 三个信息。iSCSI发现的目的是为了让iSCSI发起端获取一条到iSCSI目标端的通路。iSCSI有三种发现机制:

二、 安装

基础配置

# systemctl stop firewalld.service NetworkManager
# systemctl disable firewalld.service NetworkManager

# setenfoce 0
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

target服务器配置

监听端口:3260/tcp

添加两块磁盘

target服务安装

yum install -y scsi-target-utils

###配置文件路径
[root@nginx1 ~]# vim /etc/tgt/targets.conf 

启用服务

[root@server scsi_host]# systemctl start tgtd.service

target存储配置

##创建target(准备炮台)

# tgtadm -L iscsi -o new -m target -t 1 -T iqn.20250710.com.jx.www:sda 

-l:指定当前协议
-o:选向新建的
-m:建立目标
-t:生成标识
-T:当前块儿设备名称

# tgtadm -o show -m target  或者  tgt-admin -s

-0 show (查看)
-m target 查看target的模块

现在LUN是没有东西的 

##创建lun(准备炮弹)

# tgtadm -o new -m logicalunit -t 1 -l 1 -b /dev/sda

# tgt-admin -s

现在就能看到LUN的有信息了

##配置访问ACL(打开保险)

# tgtadm -L iscsi -m target -o bind -t 1 -I ALL

所有的都可以访问我
bind:绑定
I:可以访问的对象

##保存配置

# tgt-admin --dump >> /etc/tgt/targets.conf

写完之后就会生成这样的配置

再做一个

tgtadm -L iscsi -o new -m target -t 2 -T iqn.20250710.com.jx.www:sdb 

把编号改为2   用sdb磁盘

tgtadm -L iscsi -m target -o bind -t 2 -I ALL

tgt-admin --dump >> /etc/tgt/targets.conf

做完后保存配置

这是再进去开,会有两个配置

如何去查看这块磁盘呢,选择此电脑,找到磁盘管理

发现多了一块磁盘1

通过网络协议把iSCSI块设备传递过来了

http://www.dtcms.com/a/271811.html

相关文章:

  • Language Models are Few-Shot Learners: 开箱即用的GPT-3(二)
  • 节点小宝:手机图片备份至电脑功能实测体验
  • 同一类型,每条数据,执行不同逻辑
  • 偏振相机,偏振图像是怎么样的
  • WebGPU了解
  • 智能体决策机制深度剖析:ReAct、Plan-and-Execute与自适应策略
  • 云蝠智能VoiceAgent重构企业电话客服体系
  • PLC框架-1.3.2 报文750控制汇川伺服的转矩上下限
  • 【前缀和 BFS 并集查找】P3127 [USACO15OPEN] Trapped in the Haybales G|省选-
  • XSS(跨站脚本攻击)
  • RabbitMQ 消息队列:从入门到Spring Boot实战
  • Java 枚举详解:从基础到实战,掌握类型安全与优雅设计
  • 7-语言模型
  • CRT 不同会导致 fopen 地址不同
  • 技术演进中的开发沉思-30 MFC系列:五大机制
  • 删除k8s安装残留
  • Spring Boot:将应用部署到Kubernetes的完整指南
  • ACL协议:核心概念与配置要点解析
  • Docker 环境下 MySQL 主从复制集群、MGR 搭建及 Nginx 反向代理配置
  • SSRF10 各种限制绕过之30x跳转绕过协议限制
  • ip地址可以精确到什么级别?如何获取/更改ip地址
  • 配置双网卡Linux主机作为路由器(连接NAT网络和仅主机模式网络)
  • 在 Mac 上使用 Git 拉取项目:完整指南
  • 【算法笔记】6.LeetCode-Hot100-链表专项
  • selenium中find_element()用法进行元素定位
  • 在mac m1基于llama.cpp运行deepseek
  • Spring Boot 企业级动态权限全栈深度解决方案,设计思路,代码分析
  • C#基础:Winform桌面开发中窗体之间的数据传递
  • 【WEB】Polar靶场 Day8 详细笔记
  • 力扣 hot100 Day40