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

Linux iSCSI存储共享实验指南

实验介绍

1、在Linux平台上通过iSCSI协议实现IP-SAN存储共享

2、掌握存储导出(export)和存储导入(import)的配置方法

3、学习iSCSI存储的发现、连接、断开和管理操作

1、实验环境

两台同网段的Linux虚拟机(无需物理交换机)

操作系统:Linux(具体发行版未指定)

软件包:scsi-target-utils、iscsi-initiator-utils

IP-SANde实现

IP地址

导出端(Target Server)

10.1.1.141

导入端(Initiator Client)

10.1.1.142

拓扑图:

2、实验步骤

(1)基础环境准备(两台机器执行)

# 为两台虚拟机配置静态IP地址

# 关闭防火墙和SELinux(两台机器均需执行)

systemctl stop firewalld && systemctl disable firewalld

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# 配置主机名解析(可选,建议执行)

vi /etc/hosts

10.1.1.141 hn141

10.1.1.142 hn142

# 时间同步(两台机器均需执行)

yum install -y ntpdate && ntpdate pool.ntp.org

# 检查两台机子是否可以互ping

(2)存储导出端(export)配置

#安装必要软件包

yum -y install epel-release

yum -y install scsi-target-utils

rpm -aq|grep scsi

#创建块存储文件

dd if=/dev/zero of=/tmp/file0 bs=1M count=1024

#查看块存储文件

ls -lh /tmp/file0

#查看文件

rpm -qc scsi-target-utils-1.0.55-4.el7.x86_64

cat /etc/tgt/tgtd.conf

cat -n /etc/tgt/conf.d/sample.conf

#配置iSCSI目标

#编辑配置文件/etc/tgt/targets.conf

vi /etc/tgt/targets.conf

default-driver iscsi

<target scsi:data>

    backing-store /tmp/file0

</target>

#启动服务

systemctl start tgtd.service

systemctl enable --now tgtd.service

# 验证服务是否启动

systemctl status tgtd          # 检查服务是否运行

lsof -i:3260                   # 检查3260端口是否监听

#查看共享状态

tgt-admin --show

(3)存储导入端(import)配置

#安装客户端软件

yum -y install iscsi-initiator-utils

iscsiadm --version

#发现iSCSI目标# (指定导出端IP)

iscsiadm -m discovery -t sendtargets -p 10.1.1.141

如果报错如下:

可能是因为防火墙,在导出端执行以下命令,检查网络策略

# 在导出端(10.1.1.141)执行:

# 1. 检查防火墙规则(即使已关闭也需确认)

iptables -L -n | grep 3260    # 查看是否有3260端口的规则

# 2. 临时放行3260端口(即使防火墙已关闭)

iptables -I INPUT -p tcp --dport 3260 -j ACCEPT

# 3. 检查网络接口绑定(确保监听所有接口)

netstat -tulnp | grep tgtd    # 应显示0.0.0.0:3260

#登录连接iSCSI目标

iscsiadm -m node -l  # 登录

lsblk  # 验证新设备出现

#存储使用与验证

#格式化并挂载存储

mkfs.ext4 /dev/sdb

mkdir /file1

mount /dev/sdb /file1

lsblk  # 验证新设备出现

# 验证写入

echo "iSCSI Test" > /file1/test.txt

cat /file1/test.txt

(4)安全断开连接操作

# 在导入端执行

#查看当前会话

iscsiadm -m session

# 断开特定连接

umount /file1

iscsiadm -m node -T scsi:data -p 10.1.1.141:3260 -u

# 彻底删除节点记录

iscsiadm -m node -o delete

# 在导出端可停止服务(如需)

systemctl stop tgtd

3.实验结果

(1)成功在两台Linux虚拟机之间建立了iSCSI存储共享

导出端成功创建并共享了1GB的虚拟块存储

导入端能够发现、连接并使用该存储设备

掌握了iSCSI存储的连接、断开和管理操作

(2)注意事项

断开iSCSI连接前,确保没有应用程序正在使用该存储设备,否则可能导致数据丢失或应用程序出错

部分操作可能需要root权限,建议使用sudo提升权限

块设备无法同时被多个主机共享使用

(3)排错指南

# 1.连接失败:

检查两台机器是否能互相ping通

导出端执行 lsof -i:3260 确认端口监听

查看日志:journalctl -u tgtd(导出端)或 /var/log/messages(导入端)

# 2.CHAP认证错误:

确保两端的用户名/密码完全一致

导入端检查 /etc/iscsi/iscsid.conf 配置

# 3.设备未识别:

在导入端执行 dmesg | grep scsi 查看内核日志

4.实验总结

通过本次实验,我们成功在Linux平台上实现了基于iSCSI协议的IP-SAN存储共享。实验涵盖了从环境准备、服务配置到实际连接使用的完整流程,并学习了相关的管理命令。iSCSI作为一种经济高效的SAN解决方案,可以在标准IP网络上实现块级存储共享,适合中小型企业的存储需求。

相关文章:

  • SpringMVC(结合源码浅析工作流程)
  • 一条SQL语句的旅程:解析、优化与执行全过程研究
  • 【论文精读】2023 AAAI--FastRealVSR现实世界视频超分辨率(RealWorld VSR)
  • Flutter遇到的问题
  • 数据结构(5)线性表-栈
  • Flutter - 国际化
  • 【JVM 02-JVM内存结构之-程序计数器】
  • 线程池介绍,分类,实现(工作原理,核心组成,拒绝策略),固态线程池的实现+详细解释(支持超时取消机制和不同的拒绝策略)
  • OBS 玩转你直播录视频
  • 【SSL部署与优化​】​​OCSP Stapling配置指南:减少证书验证延迟​​
  • ten-vad:低延迟、轻量化且高性能的流式语音活动检测系统
  • HTTP协议接口三种测试方法之-postman
  • vue pinia 独立维护,仓库统一导出
  • leetcode hot100刷题日记——11.相交链表
  • Linux 之 Ubuntu Server 安装
  • 【Bluedroid】蓝牙HID Host disconnect流程源码解析
  • 【Hexo】3.主题
  • AI-02a5a8.神经网络-与学习相关的技巧-超参数的验证
  • java对接全文检索MeiliSearch
  • Linux之 SPI 驱动框架- spi-mem 框架
  • 网站建立的关键技术/seo服务是什么意思
  • 网站用户注册怎么做/南宁seo优势
  • 涪城移动网站建设/深圳关键词优化软件
  • wordpress维基主题/厦门关键词优化网站
  • 建设商务网站的步骤/推广网址
  • 深圳网站建设黄浦网络 骗子/谷歌广告上海有限公司