当前位置: 首页 > 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网络上实现块级存储共享,适合中小型企业的存储需求。

http://www.xdnf.cn/news/610885.html

相关文章:

  • NFS服务小实验
  • SkyWalking启动失败:OpenSearch分片数量达到上限的完美解决方案
  • c语言字符串函数
  • 深入浅出 Python Testcontainers:用容器优雅地编写集成测试
  • Java详解LeetCode 热题 100(20):LeetCode 48. 旋转图像(Rotate Image)详解
  • 皮尔森电流互感器在浪涌电流测试中的应用
  • 如果教材这样讲---开关电源的拓扑结构
  • 路由协议RIP配置与分析
  • 现代软件开发利器
  • C++成员对象和封闭类
  • 【鼎的3D设计与AI提示词方案】
  • echarts之双折线渐变图
  • 独木桥 Java
  • 基于SpringBoot+Vue的社区医院信息平台设计与实现
  • 软考中级软件设计师——计算机系统篇
  • STM32+腾讯物联网平台OTA升级详细教程
  • 华为OD机试_2025 B卷_爱吃蟠桃的孙悟空(Python,100分)(附详细解题思路)
  • 从逆流监测到智慧用电:ADL200N-CT系列单相导轨表赋能家庭绿色能源
  • ubuntu设置开机不输密码笔记
  • 解决Vue项目依赖错误:使用electron-vite重建
  • 提升开发运维效率:原力棱镜游戏公司的 Amazon Q Developer CLI 实践
  • 使用clickhouse的ReplacingMergeTree引擎表做活跃玩家信息表
  • Unity 打包程序全屏置顶无边框
  • 宽松相等(==) 的转换规则(仅考虑基本数据类型)
  • 怎么判断一个Android APP使用了Ionic这个跨端框架
  • 智能交通红绿灯系统(Python)
  • TCP 三次握手,第二次握手报文丢失会发生什么?
  • IP隧道技术中数据包头部的变化分析:必然增加的封装机制
  • (15)关于窗体的右键菜单的学习与使用,这关系到了信号与事件 event
  • 特殊的完全平方数