低成本网络存储!iSCSI 从 0 搭建 + 多路径高可用实操
CentOS7 iSCSI IP-SAN 完整实战博客前言传统服务器本地硬盘容量有限、无法多机共享光纤FC SAN存储成本高昂。iSCSI基于TCP/IP以太网实现块级远程存储共享俗称IP-SAN普通千兆/万兆网线即可搭建共享存储中小企业、机房实训首选方案。本文完整覆盖iSCSI核心理论、单路径存储部署、客户端挂载、持久化配置、Multipath多路径高可用链路冗余附带完整可复制命令、虚拟机实操步骤、故障排查全部来自实验文档实操内容适合运维自学、课堂实操。一、iSCSI基础概念1.1 什么是iSCSISCSI是本地硬盘通信标准iSCSIInternet小型计算机系统接口将SCSI读写指令封装在IP数据包通过局域网传输实现远程裸盘共享。优势复用现有网络设备部署成本低支持10G以太网卡提升存储性能安全内网存储流量无需加密跨公网可搭配IPsec加密传输端口默认服务监听3260端口。1.2 iSCSI C/S架构Target存储服务端服务器侧挂载物理磁盘/分区对外提供共享存储资源Initiator存储客户端业务主机通过网络连接Target远端磁盘识别成本地裸设备。1.3 核心专业名词IQN全球唯一设备标识服务端、客户端各有独立IQN用于访问鉴权格式iqn.年月.反向域名:自定义标识Portal服务监听IP3260端口一台Target可配置多个Portal实现多链路LUN后端磁盘映射后的共享逻辑单元一个Target可绑定多块LUNBackstore后端存储池4种类型block物理硬盘/分区生产常用fileio文件模拟磁盘测试用pscsi直通本地物理SCSI设备ramdisk内存磁盘断电数据丢失ACL访问控制客户端IQN白名单未加入白名单主机无法登录共享磁盘。二、单路径iSCSI完整部署2.1 实验节点规划主机名IP地址角色硬件配置iscsi-server10.1.8.10/24Target服务端额外新增2块20G SCSI硬盘iscsi-client10.1.8.11/24Initiator客户端普通CentOS7虚拟机2.2 虚拟机硬件准备关闭虚拟机进入虚拟机设置添加SCSI类型20G虚拟硬盘系统基础配置关闭防火墙、SELinux配置静态IP、修改主机名# 服务端基础配置hostnamectl set-hostname iscsi-server nmcli connection modify ens33 ipv4.method manual ipv4.addresses10.1.8.10/24 ipv4.gateway10.1.8.2 ipv4.dns10.1.8.2 autoconnectyesnmcli connection up ens33 systemctl disable firewalld--nowsetenforce0# 客户端同步修改IP、主机名、关闭防护hostnamectl set-hostname iscsi-client nmcli connection modify ens33 ipv4.method manual ipv4.addresses10.1.8.11/24 ipv4.gateway10.1.8.2 ipv4.dns10.1.8.2 autoconnectyesnmcli connection up ens33 systemctl disable firewalld--nowsetenforce02.3 Target服务端配置流程流程顺序创建后端存储 → 创建Target IQN → 绑定LUN磁盘 → 添加客户端ACL白名单 → 配置监听Portal → 保存配置1. 安装服务端工具yuminstall-ytargetd targetcli systemctlenabletarget--now# 放行3260端口firewall-cmd--permanent--add-serviceiscsi-target firewall-cmd--reload2. targetcli交互式完整配置# 进入交互控制台targetcli# 1. 创建后端存储绑定/dev/sdb硬盘cd/backstores/block create myblock1 /dev/sdb# 2. 创建Target唯一IQNcd/iscsi create iqn.2026-04.cloud.laogao.iscsi-server:disk1# 3. 绑定LUN关联后端磁盘cd/iscsi/iqn.2026-04.cloud.laogao.iscsi-server:disk1/tpg1/luns create /backstores/block/myblock1# 4. 添加客户端IQN白名单cd../acls create iqn.2026-04.cloud.laogao.iscsi-client# 5. 删除默认全地址监听仅监听本机10.1.8.10cd../portals delete0.0.0.03260create10.1.8.103260# 退出自动保存配置exit3. 非命令行一键批量配置适合脚本自动化targetcli /backstores/block create myblock2 /dev/sdc targetcli /iscsi create iqn.2026-04.cloud.laogao.iscsi-server:disk2 targetcli /iscsi/iqn.2026-04.cloud.laogao.iscsi-server:disk2/tpg1/luns create /backstores/block/myblock2 targetcli /iscsi/iqn.2026-04.cloud.laogao.iscsi-server:disk2/tpg1/acls create iqn.2026-04.cloud.laogao.iscsi-client targetcli /iscsi/iqn.2026-04.cloud.laogao.iscsi-server:disk2/tpg1/portals delete0.0.0.03260targetcli /iscsi/iqn.2026-04.cloud.laogao.iscsi-server:disk2/tpg1/portals create10.1.8.103260targetcli saveconfig# 查看完整存储配置targetclils2.4 Initiator客户端完整操作1. 安装客户端工具yuminstall-yiscsi-initiator-utils2. 修改客户端唯一IQN必须和服务端ACL一致vim/etc/iscsi/initiatorname.iscsi# 修改内容InitiatorNameiqn.2026-04.cloud.laogao.iscsi-client# 重启iscsi服务生效systemctl restart iscsid3. 扫描存储服务器、登录共享盘# 发现Target设备iscsiadm-mdiscovery-tst-p10.1.8.10# 登录指定IQN存储iscsiadm-mnode-Tiqn.2026-04.cloud.laogao.iscsi-server:disk1-l# 查看识别的远端磁盘lsblk# 查看完整会话信息iscsiadm-msession-P34. 磁盘格式化、临时挂载# 格式化远端裸盘mkfs.xfs /dev/sdb# 创建挂载目录并挂载mkdir/storagemount/dev/sdb /storage# 写入测试文件验证echotest/storage/test.txtcat/storage/test.txt5. 开机持久化挂载关键规范禁止使用/dev/sdb盘符盘符会随扫描顺序变化必须使用UUID挂载参数添加_netdev系统等待网络就绪再挂载存储。# 获取磁盘UUIDblkid /dev/sdb# 编辑fstabvim/etc/fstab# 写入配置示例UUID0461e240-7743-47fe-876b-6df8b8e7ebf8/storage xfs defaults,_netdev00# 验证挂载无报错mount-a# 设置iscsi开机自启systemctlenableiscsi6. 断开存储完整流程卸载挂载目录注销iSCSI会话删除本地存储节点记录umount/storage iscsiadm-mnode-Tiqn.2026-04.cloud.laogao.iscsi-server:disk1-uiscsiadm-mnode-Tiqn.2026-04.cloud.laogao.iscsi-server:disk1-odelete2.5 单路径常见故障排查客户端无法登录存储99%是客户端IQN与服务端ACL白名单不匹配修改initiatorname.iscsi并重启iscsid服务重新扫描登录。三、进阶Multipath多路径高可用部署3.1 多路径作用单网卡存在单点故障网线/网卡损坏会直接丢失存储。多路径给存储搭建多条独立网络链路一条链路故障自动切换备用线路同时支持带宽聚合生产环境必备高可用方案。3.2 双网卡实验环境升级iscsi-server、iscsi-client各新增一块网卡划分两套独立网段网卡110.1.8.0/24网卡210.1.1.0/24服务端Target新增第二个Portal监听10.1.1.10:3260实现双链路访问同一LUN。3.3 客户端多路径配置1. 安装多路径软件yuminstall-ydevice-mapper-multipath iscsi-initiator-utils# 生成默认配置文件mpathconf--enable--with_multipathdy# 启动多路径守护进程systemctlenablemultipathd--now2. 双链路扫描登录存储# 扫描两个网段Portaliscsiadm-mdiscovery-tst-p10.1.8.10 iscsiadm-mdiscovery-tst-p10.1.1.10# 批量登录所有存储节点iscsiadm-mnode-Lall# lsblk查看两条链路识别出sdb、sdc两块盘实际是同一块远端存储3. 多路径状态查看与WWN识别WWN是存储设备全球唯一标识两条链路磁盘WWN一致代表同一块存储# 查看磁盘WWN/usr/lib/udev/scsi_id-g-u/dev/sdb /usr/lib/udev/scsi_id-g-u/dev/sdc# 查看多路径聚合虚拟设备multipath-ll输出说明statusactive当前主业务链路statusenabled备用冗余链路statusfailed链路故障自动切换线路3.4 多路径两种工作模式主备模式默认service-time同一时间仅一条链路传输IO主链路故障自动切备用适合大多数企业场景multibus负载均衡模式多条链路同时分担读写流量提升存储带宽需存储控制器支持双活。3.5 多路径持久挂载与故障模拟聚合后的统一设备为/dev/mapper/mpatha格式化、挂载、fstab持久化操作和单路径一致故障测试操作断开服务端其中一块网卡执行multipath -ll可观察链路状态自动切换业务读写不中断。3.6 multipath.conf配置文件详解配置文件分为5大模块优先级multipaths devices defaultsdefaults全局默认参数IO调度、链路检测blacklist本地硬盘黑名单避免本地磁盘被误聚合blacklist_exceptions白名单放行iSCSI存储盘devices匹配厂商存储设备批量配置规则multipaths自定义存储别名、链路策略四、生产运维规范总结安全规范禁止Target监听0.0.0.0全地址必须配置ACL客户端IQN白名单防止内网任意主机挂载存储公网传输iSCSI流量搭配IPsec加密。挂载规范iSCSI属于网络存储fstab必须添加_netdev参数绝对不能使用/dev/sd盘符挂载统一采用UUID避免盘符漂移无法开机。高可用规范生产环境全部部署Multipath多路径消除网卡、网线单点故障普通XFS/EXT4文件系统不支持多主机同时读写多节点共享存储需部署GFS2集群文件系统。存储选型规范测试环境可使用fileio、ramdisk正式业务统一使用block物理磁盘模式ramdisk内存盘断电丢失数据禁止线上使用。故障排查顺序客户端无法挂载 → 检查IQN匹配 → 检查3260端口防火墙放行 → 单路径检查网线多路径执行multipath -ll查看链路状态。

相关新闻

JS逆向进阶:用原型链与属性描述符精准补环境绕过检测

JS逆向进阶:用原型链与属性描述符精准补环境绕过检测

1. 项目概述:当逆向遇上原型链最近在搞小红薯的X-s参数逆向,这玩意儿现在越来越“卷”了,环境检测的坑是一个接一个。特别是globalThis和document.all这两个老演员,用常规的window global或者直接Object.defineProperty去补&…

2026/8/11 6:51:17 阅读更多 →
UE5 C++ TCP通信中GetConnectionState()的局限性与可靠连接检测方案

UE5 C++ TCP通信中GetConnectionState()的局限性与可靠连接检测方案

1. 项目概述:为什么GetConnectionState()在UE5 C TCP通信中是个“坑”?如果你正在用UE5的C开发网络功能,尤其是涉及到需要稳定、可靠的长连接TCP通信时,你大概率已经和GetConnectionState()这个函数打过交道,并且很可能…

2026/8/11 6:51:17 阅读更多 →
AI绘画进阶:如何让Stable Diffusion生成具有“德系压迫感”的工业设计图像

AI绘画进阶:如何让Stable Diffusion生成具有“德系压迫感”的工业设计图像

如果你最近关注AI绘画,可能会发现一个有趣的现象:同样是生成汽车图片,有些模型产出的作品线条硬朗、光影锐利,充满力量感;而有些则显得柔和、圆润,甚至有些“塑料感”。这背后不仅仅是“画得好”与“画得不…

2026/8/11 6:51:17 阅读更多 →

最新新闻

AI编程新范式:从Spec-Kit到SDD,如何通过“写清楚”提升代码生成质量

AI编程新范式:从Spec-Kit到SDD,如何通过“写清楚”提升代码生成质量

1. 从“先写清楚”到“让AI干活”:Spec-Kit、SDD与OpenSpec的殊途同归最近在跟几个技术团队交流时,发现一个挺有意思的现象:大家聊到如何用AI来辅助开发,尤其是生成代码时,总会提到几个听起来很相似但又不太一样的词—…

2026/8/11 7:41:41 阅读更多 →
5个秘诀快速掌握DownKyi:B站视频下载终极完全指南

5个秘诀快速掌握DownKyi:B站视频下载终极完全指南

5个秘诀快速掌握DownKyi:B站视频下载终极完全指南 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#xff0…

2026/8/11 7:41:41 阅读更多 →
3分钟上手XNB文件处理:星露谷物语模组制作终极指南

3分钟上手XNB文件处理:星露谷物语模组制作终极指南

3分钟上手XNB文件处理:星露谷物语模组制作终极指南 【免费下载链接】xnbcli A CLI tool for XNB packing/unpacking purpose built for Stardew Valley. 项目地址: https://gitcode.com/gh_mirrors/xn/xnbcli 想要自定义你的《星露谷物语》游戏体验吗&#x…

2026/8/11 7:41:41 阅读更多 →
SpringBoot格式化器原理与实战应用

SpringBoot格式化器原理与实战应用

1. SpringBoot注册格式化器核心价值解析 在Web应用开发中,数据格式转换是每个开发者都会遇到的常规需求。想象这样一个场景:前端传递的日期字符串"2023-08-15"需要自动转换为LocalDate对象,或者金额字段"1,000.00"需要映…

2026/8/11 7:41:41 阅读更多 →
GPT Pro怎么充值?国内微信支付宝开通教程

GPT Pro怎么充值?国内微信支付宝开通教程

国内用户想开通 GPT Pro,常见卡点不是不会选套餐,而是当前结账页没有合适的付款条件。侠狼 GPT(plusdingyue.com)提供 GPT Pro 国内充值服务:用户在线提交订单,用微信或支付宝付款,Pro 会员开到…

2026/8/11 7:41:41 阅读更多 →
智算底座如何驱动产业数字化?深度解析智能算力的产业价值

智算底座如何驱动产业数字化?深度解析智能算力的产业价值

数字经济发展经历多个阶段:早期依靠通用算力支撑信息化系统,大数据阶段重点解决海量数据存储与统计分析,而当下生成式 AI 普及,标志着产业发展正式进入智能算力时代。智算,也就是面向人工智能任务优化的智能计算能力&a…

2026/8/11 7:40:41 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →