news 2026/5/8 2:41:06

企业级 iSCSI 端到端与多路径存储详细实施方案 (RHEL / openEuler)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
企业级 iSCSI 端到端与多路径存储详细实施方案 (RHEL / openEuler)

本方案涵盖了从存储服务端(Target)提供存储空间,到业务客户端(Initiator)挂载存储,再到配置多路径(Multipath)高可用的完整端到端实施流程。

一、 角色定义与物理拓扑拓扑

在实施前,必须明确两台机器的角色和网络规划。为了实现多路径高可用,必须规划两个独立的存储网段。

1. 机器角色分配

  • 【机器 A】存储服务器 (iSCSI Target 端)

    • 作用:充当存储阵列,提供物理磁盘空间,划分 LUN 并通过网络共享。

    • 网络:存储网卡 1 (192.168.113.66);存储网卡 2 (192.168.113.67)。

  • 【机器 B】业务服务器 (iSCSI Initiator + Multipath 客户端)

    • 作用:运行核心业务(如数据库),连接存储服务器,配置多路径并格式化使用磁盘。

    • 网络:存储网卡 1 (192.168.113.11);存储网卡 2 (192.168.113.12)。

复制网卡 [root@localhost network-scripts]# cp ifcfg-ens160 ifcfg-ens224 修改网卡 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=eui64 NAME=ens224 DEVICE=ens224 ONBOOT=yes IPADDR=192.168.113.67 PREFIX=24 GATEWAY=192.168.113.2 DNS1=192.168.113.2

切记:NAME与DEVICE与UUID信息一定不能和ens33信息一样

重启网卡

[root@localhost network-scripts]# systemctl restart NetworkManager

二、存储服务器 (Target服务端) 详细部署

操作节点:仅在【机器 A】上执行。

目标:使用targetcli将本地的一块磁盘(或逻辑卷)通过两条网络路径共享出去,并只允许【机器 B】访问。

1、安装并启动 Target 服务

sudo dnf install targetcli -y systemctl enable --now target

2、准备底层存储

进入targetcli交互命令行

3、配置后端存储

/> /backstores/block create name=disk01 dev=/dev/sda

4、创建 Target IQN 与 LUN(唯一)

/> iscsi/ create iqn.2025-05.com.example:storage.target01

5、进入刚刚创建的 Target 目录(TPG1),将后备存储disk01映射为 LUN 0:

/> cd iscsi/iqn.2025-05.com.example:storage.target01/tpg1/luns create /backstores/block/disk01

6、配置 ACL (访问控制)

定义谁可以连接这个存储。

此处填写【机器 B】(客户端)未来要使用的 IQN 名称(例如iqn.2025-05.com.example:app.client01):

/iscsi/iqn.20...t01/tpg1/luns> cd ../acls /iscsi/iqn.20...t01/tpg1/acls> create iqn.2025-05.com.example:app.client01

7、 配置 Network Portals (网络入口)

为了实现多路径,需要监听【机器 A】的两个存储网卡 IP:

/iscsi/iqn.20...t01/tpg1/acls> cd ../portals/ /iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260 /iscsi/iqn.20.../tpg1/portals> create 192.168.113.66 3260 /iscsi/iqn.20.../tpg1/portals> create 192.168.113.67 3260

8、保存

/iscsi/iqn.20...target01/tpg1> cd / /> saveconfig /> exit

三、 业务服务器 (Initiator客户端) 详细部署

操作节点:仅在【机器 B】上执行。

目标:配置与 Target 端 ACL 匹配的 IQN,通过两条网络链路发现并登录存储

1、安装客户端组件

sudo dnf install iscsi-initiator-utils -y

2、配置 Initiator IQN

修改客户端的 IQN,必须与【机器 A】第 5 步 ACL 中配置的名称完全一致

sudo vi /etc/iscsi/initiatorname.iscsi

3、修改为

InitiatorName=iqn.2025-05.com.example:app.client01

4、启动服务并发现 Target

sudo systemctl enable --now iscsid sudo iscsiadm -m discovery -t st -p 192.168.113.66 sudo iscsiadm -m discovery -t st -p 192.168.113.67

5、登录并设置开机自启动

# 登录发现的所有 Target sudo iscsiadm -m node -l # 设置开机自动登录 sudo iscsiadm -m node -o update -n node.startup -v automatic

6、确认链路连通

lsblk

此时你应该看到两个大小相同的新磁盘(如sdbsdc),它们实际上是同一个物理 LUN 的两条路径。

四、多路径 (DM-Multipath) 详细部署

操作节点:继续在【机器 B】上执行。

目标:将刚才看到的sdbsdc聚合成一个高可用的逻辑设备。

1、安装与初始化多路径(kylin系统与openEuler系统可能自带multipath)

sudo dnf install device-mapper-multipath -y # 生成默认配置并启动服务 sudo mpathconf --enable --with_multipathd y

2、获取磁盘 WWID

[root@zabbix-manager network-scripts]# sudo multipath -v2 [root@zabbix-manager network-scripts]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 99G 0 part ├─klas-root 253:0 0 63.9G 0 lvm / ├─klas-swap 253:1 0 3.9G 0 lvm [SWAP] └─klas-backup 253:2 0 31.2G 0 lvm sdb 8:16 0 200G 0 disk └─360014050a30281fbc4043f8a6747b369 253:3 0 200G 0 mpath sdc 8:32 0 200G 0 disk └─360014050a30281fbc4043f8a6747b369 253:3 0 200G 0 mpath sr0 11:0 1 1024M 0 rom ​

3、配置 multipath.conf

编辑配置文件,为其指定别名和高可用策略:

sudo vim /etc/multipath.conf ​ multipaths { multipath { wwid "36001405xxxxxxxxxxxxxxxxxxxxxx" # 替换为实际查到的 WWID alias "mpath_data" # 自定义别名 path_grouping_policy "multibus" # 负载均衡策略,所有路径处于活跃状态 path_selector "round-robin 0" # I/O 轮询算法 failback "immediate" # 链路恢复后立即切回 no_path_retry "fail" } }

4、重启生效与验证

输出应显示mpath_data状态为active,下方包含两条active ready running的路径(对应sdbsdc

[root@zabbix-manager network-scripts]# sudo systemctl restart multipathd [root@zabbix-manager network-scripts]# sudo multipath -ll mpath_data (360014050a30281fbc4043f8a6747b369) dm-3 LIO-ORG,disk01 size=200G features='2 queue_mode mq' hwhandler='1 alua' wp=rw |-+- policy='service-time 0' prio=50 status=active | `- 33:0:0:0 sdc 8:32 active ready running `-+- policy='service-time 0' prio=50 status=enabled `- 34:0:0:0 sdb 8:16 active ready running

五、 【机器 B】业务使用:格式化与持久化挂载

警告:绝对不能直接格式化/dev/sdb/dev/sdc,必须操作多路径别名设备。

sudo mkfs.xfs /dev/mapper/mpath_data

配置网络存储开机挂载 (_netdev)

创建挂载点:

sudo mkdir -p /data

编辑/etc/fstab

/dev/mapper/mpath_data /data xfs defaults,_netdev 0 0

挂载测试

sudo mount -a df -h | grep mpath_data

至此,端到端的 iSCSI 服务端提供、客户端挂载、以及多路径容灾部署已全部实施完毕。可以尝试断开【机器 B】的10.0.1.10网卡进行高可用故障演练,业务不会中断。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 2:28:32

互联网大厂 Java 求职面试:从 Java SE 到 Spring Boot 的技术探讨

互联网大厂 Java 求职面试:从基础到复杂的技术考察 在这个故事中,我们将跟随两位角色:面试官与燕双非,一位搞笑的程序员。他们将在互联网大厂的面试现场进行一场精彩的对话。第一轮提问 面试官(严肃)&#…

作者头像 李华
网站建设 2026/5/8 2:23:29

PLL频率合成技术演进与DIPA创新突破

1. PLL频率合成技术演进与DIPA创新突破锁相环(PLL)频率合成技术自20世纪中期问世以来,一直是电子系统频率生成的核心方案。传统PLL通过相位比较器(PD)、环路滤波器(LPF)和压控振荡器(VCO)构成闭环系统,其基本工作原理可类比为"精密的速度调节器&quo…

作者头像 李华
网站建设 2026/5/8 2:19:36

专业指南:5步高效使用AMD Ryzen调试工具SMUDebugTool

专业指南:5步高效使用AMD Ryzen调试工具SMUDebugTool 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://git…

作者头像 李华
网站建设 2026/5/8 2:18:41

Windows系统shellstyle.dll文件丢失无法启动程序解决

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华