Linux下搭建iSCSI共享存储-(Linux-IO Target)

从零搭建iSCSI Target服务:基于TGT的存储网络实战指南 SCSI协议作为存储设备通信的通用语言,定义了主机与存储设备间的标准命令集。iSCSI技术将SCSI命令封装在TCP/IP数据包中,使其能够在标准以太网上传输,实现了块级存储的网络化共享。这项技术的核心价值在于,它允许客户端像访问本地硬盘一样使用网络存储资源,为构建低成本、高性能的存储区域网络(SAN)提供了可行方案。在虚拟化环境、数据库集群和高性能计算等应用场景中,iSCSI常用于提供共享存储池,例如为Proxmox VE或VMware ESXi提供Datastore。本文以TGT框架为例,详细解析了iS 阅读详情

Linux下搭建iSCSI共享存储-(Linux-IO Target)

相比昂贵的商业用的ipsan存储,软件实现的ipsan方案更加经济实惠,适用于一般的测试环境。Linux-IO Target是Linux内核中的一个软件,用于实现各种SCSI Target。它支持的SAN技术包括Fibre Channel、FCoE、iSCSI等,同时还能为本机生成模拟的SCSI设备,以及为虚拟机提供基于virtio的SCSI设备。Linux-IO Target在Linux内核中的版本为linux 2.6.38及以后的版本1。

下面以CentOS7为例,介绍如何基于Linux-IO Targe搭建iSCSI共享存储:

1. 环境准备

  • iSCSI目标端(Target):提供存储设备,类似于存储服务器。

本文使用一台centos7机器作为iSCSI目标端,分配一个200G磁盘用作iSCSI存储设备,盘符为/dev/vdb。

  • iSCSI发起端(Initiator):需要访问存储设备的客户端。

可以是其他网络可达支持iscsi协议的客户端,如Windows、Linux等。

2. 安装iSCSI软件包

在目标端和发起端都需要安装相关的iSCSI软件包。

2.1 目标端(Target)上安装

CentOS 7/8可以使用targetcli来管理iSCSI。

sudo yum install targetcli -y

2.2发起端(Initiator)上安装

发起端(即客户端)需要安装iscsi-initiator-utils。

sudo yum install iscsi-initiator-utils -y

3. 在目标端配置iSCSI存储

3.1 启动并启用targetcli

sudo systemctl start target
sudo systemctl enable target

3.2 使用targetcli配置iSCSI目标

进入targetcli命令行界面:

sudo targetcli

在targetcli中,按照以下步骤操作:

  1. 创建一个后端存储块设备(可以是物理磁盘或一个文件映像):
/> /backstores/block create name=mydisk dev=/dev/vdb
Created block storage object mydisk using /dev/vdb.

或者使用一个文件作为存储:

# 提前创建好对应目录: mkdir -p /var/lib/iscsi_disks
/> /backstores/fileio create name=mydisk file_or_dev=/var/lib/iscsi_disks/mydisk.img size=10G

注意:如果为追求IO性能,建议使用物理磁盘作为存储。

  1. 创建iSCSI目标端:
/> /iscsi create iqn.2023-09.com.example:mytarget
Created target iqn.2023-09.com.example:mytarget.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.

说明:

iqn.2023-09.com.example:mytarget为iSCSI目标端iqn名称,根据自己的需要进行自定义。

  1. 将创建的后端存储与目标关联:

通过如下命令创建一个LUN:

/> /iscsi/iqn.2023-09.com.example:mytarget/tpg1/luns create /backstores/block/mydisk
Created LUN 0.
  1. 配置网络ACL以允许发起端连接:
/> /iscsi/iqn.2023-09.com.example:mytarget/tpg1/acls create iqn.1994-05.com.redhat:dd7e92f1d16e
Created Node ACL for iqn.1994-05.com.redhat:dd7e92f1d16e
Created mapped LUN 0

注意:

上述ACL中添加客户端的iqn,需要在客户端通过命令cat /etc/iscsi/initiatorname.iscsi查看。

如果是单个LUnch映射多个发起端,配置相应的发起端即可:

/> /iscsi/iqn.2023-09.com.example:mytarget/tpg1/acls create iqn.1994-05.com.redhat:d68f277777
  1. 查看当前配置信息以及退出targetcli:
/> ls /
o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 1]
  
配置iSCSI target端共享资源交互 配置iscsi 第一步先安装硬盘重启服务器 第二步查看新装的磁盘名字和位置,这里是/dev/sdb 第三步安装target 第四步运行targetcli 第五步创建后端存储backstores 第六步创建target端的iqn 第七步设置iqn的acl 第八步设置iqn的luns 第九步删除现有的portal 0.0.0.0:3260 第十步设置portals,对应服务器IP 第十一步查看配置信息 阅读详情

相关推荐

iSCSI 搭建(target)--软件架构设计作业

12.03.2018 周一 软件架构设计 首先安装管理工具 [root@crawler1 ~]# yum -y install targetcli [root@crawler1 ~]# whereis targetcli targetcli: /usr/bin/targetcli /usr/share/man/man8/targetcli.8.gz #启动target服务 [root@crawle...

yvette19961020的博客 666

基于Tgt的iSCSI共享存储配置实战:从安装到多节点挂载

本文详细介绍了基于Tgt的iSCSI共享存储配置实战,从安装到多节点挂载的全过程。通过Tgt这一轻量级工具,企业可以高效搭建Linux环境下的共享存储解决方案,支持多客户端并发访问,提升存储资源利用率。文章涵盖环境准备、配置详解、客户端连接及性能调优等关键步骤,为IT基础设施部署提供实用指导。

weixin_29306011的博客 190

iSCSI服务器搭建与优化全指南

iSCSI(Internet Small Computer System Interface)是一种基于IP网络的存储协议,通过将SCSI命令封装在TCP/IP包中,实现在以太网上传输块级存储数据。其核心价值在于利用现有网络基础设施构建存储区域网络(SAN),避免了专用光纤通道的高成本。典型的应用场景包括虚拟化环境共享存储、数据库高性能存储等。在Linux系统中,可通过LIO、SCST等Target实现构建iSCSI服务器,配合多路径I/O(MPIO)和TCP卸载引擎(TOE)等优化技术提升性能。本文详细解

weixin_33282146的博客 292

Linux环境下基于Tgt的高效iSCSI存储共享方案实战

本文详细介绍了在Linux环境下使用Tgt部署iSCSI共享存储的完整实战方案。通过对比Tgt与其他方案的优劣,提供了从服务端快速安装配置、客户端连接挂载,到性能调优、安全加固及多客户端并发访问(集群文件系统)的全流程指南,并总结了常见运维问题的排查思路,帮助用户快速构建高效、稳定的企业级网络存储环境。

weixin_29289821的博客 347

Linux入门之使用 systemd targets

systemd 目标由目标单位表示。目标单元文件以.target文件扩展名结尾,目标的作用是通过依赖链将其他 systemd 单元组合在一起。graphical.target unit用于启动图形会话,启动系统服务 gdm.service 或 accounts-daemon.service并激活multi-user.target unitmulti-user.target 单元启动其他基本系统服务,NetworkManager.service ,dbus.service。...

蛐蛐的博客 547

基于python获取网易云热门歌单及封面

先看一下图片背后的代码 非常好,里面歌单名字,id,以及封面图片都有了.在复制url的时候注意把/#删掉,要不然爬不了. import requests from lxml import etree url='https://music.163.com/discover/playlist' head={ 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Ch

ziyuan12345678的博客 535

GPU八卡A100使用INT4-W4A16量化大模型实验

本实验旨在探索在环境下,对大语言模型进行权重量化的可行性、效率与性能影响。通过采用工具集成 GPTQ 算法,实现对所有线性层的权重量化(W4A16 方案最终通过lm-eval工具在GSM8K任务上对压缩模型进行评估。

goodgood_UP的博客 1905

三维点云孔洞修复(附Python代码和公共点云数据集链接)

(1)物体自身缺失(2)物体自身形状复杂,很多凹凸面不够规则甚至存在空腔,空腔内部无法被三维激光扫描仪扫描到(3)物体部分区域对激光扫描不敏感,未被扫描上(4)扫描仪的扫描稳定性。

yanghl1215的博客 6948

大疆Livox Mid-70雷达的使用

一、前期准备 (一)、使用Livox Viewer测试雷达 1、设置静态IP sudo ifconfig enx081f7152092a 192.168.1.50 查看IP是否设置成功 lacyexsale@lacyexsale-KLV-WX9:~$ ifconfig enx081f7152092a Link encap:以太网 硬件地址 08:1f:71:52:09:2a inet 地址:192.168.1.50 广播:192.168.1.255 掩码:255.255.25

LacyExsale的博客 1万+

GX Works2系统启动失败排查指南:从环境配置到修复方案

在工业自动化与PLC编程调试中,软件启动异常是常见的工程痛点。当开发工具因系统环境配置不当而频繁报错时,往往不是简单的重启能解决的。运行库缺失、区域设置错误、临时目录失效或系统服务被禁用,都可能导致编程软件无法完成初始化流程。掌握从基础环境检查到系统组件修复的系统性排查思路,是提升工控开发效率的关键能力。本文从软件初始化原理出发,结合Windows系统维护实践,梳理一套适用于工业软件启动故障的通用诊断方法,并自然聚焦到三菱GX Works2常见启动失败问题的实际处理,帮助工程师快速定位并解决环境性故障,保障

weixin_42567046的博客 448

使用bandersnatch搭建pypi 本地镜像源(20211026)

需求背景:公司内网不能联网,同时开发工作需要各种python的模块,因此需要搭建一个pypi的本地镜像源。 参考网上的方法,总结了大致有下面几种方式搭建pypi本地源: devpi: 企业内网利用devpi搭建pypi私服 - 简书 pip2pi: https://yangfannie.com/1439.html pypiserver: https://zhongneng.github.io/2019/02/16/creat-pip/ bandersnatch:基于bandersnatch搭...

liurizhou的博客 6468

盘点天才少年稚晖君彭志辉的知识体系

一个杰出工程师的工作区间和装备

曲折旅程,艰难人生 2万+

基于TI C2000的CCS安装与工程创建完整示例

手把手演示基于TI C2000系列的CCS安装过程及首个工程创建步骤,涵盖环境配置与常见问题处理,助力快速上手嵌入式开发,ccs安装和工程搭建不再难。

weixin_42476987的博客 967

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: Python对象存储实践-minio库
下一篇: Linux下搭建iSCSI共享存储-Tgt
KongTY312
博客等级 码龄12年 2143粉丝 189原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

KongTY312

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值