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

别再手动分区了!用targetcli在CentOS 7上快速配置iSCSI共享存储(附防火墙和开机自启设置)

告别手动分区:用targetcli在CentOS 7实现iSCSI存储自动化部署

当服务器集群需要快速扩展存储容量时,传统的手动分区配置方式就像用螺丝刀组装整排机柜——效率低下且容易出错。iSCSI技术早已成为企业级存储网络的主流选择,但大多数教程仍停留在基础操作层面,忽略了实际部署中最耗时的防火墙配置和服务自启环节。本文将带您用targetcli这把"瑞士军刀",在CentOS 7上完成从磁盘准备到客户端自动连接的完整流水线作业。

1. 环境准备与工具解析

在开始前,我们需要理解targetcli与传统配置方式的本质区别。这个基于Python的交互式工具将原本分散的iscsi-target配置流程整合为统一的树形命令结构,就像把散落的零件组装成标准化模块。以下是基础环境要求:

  • 操作系统:CentOS 7.6及以上(内核版本≥3.10)
  • 网络环境:千兆以太网(推荐使用独立存储网络)
  • 软件包
    yum install -y targetcli python-rtslib python-configshell

注意:虽然CentOS 8默认使用targetd,但targetcli在批量操作和脚本化方面更具优势。

存储拓扑规划建议采用以下结构:

组件类型示例配置性能影响因子
后端存储/dev/sdb磁盘转速/SSD
网络带宽10Gbps独立网卡传输延迟
LUN分配多LUN负载均衡IOPS分布

2. 三步完成服务端配置

2.1 存储后端创建

跳过传统fdisk分区步骤,直接使用原始磁盘设备能获得更好的性能表现。进入targetcli交互界面:

/> cd /backstores/block /backstores/block> create shared_disk /dev/sdb

关键参数说明

  • shared_disk:自定义存储对象名称
  • write_cache:默认为enable,SSD建议禁用

2.2 iSCSI Target智能配置

现代存储环境需要动态识别机制,以下命令创建自适应Target:

/> iscsi/ create iqn.2024-07.$(hostname -d):$(hostname -s) Created target iqn.2024-07.example.com:node1

自动生成技巧

iqn.$(date +%Y-%m).$(hostname -d):$(hostname -s)

2.3 安全绑定与网络优化

将存储与Target绑定并优化网络参数:

/iscsi/iqn.../tpg1> luns/ create /backstores/block/shared_disk /iscsi/iqn.../tpg1> portals/ create 192.168.1.100 /iscsi/iqn.../tpg1> set attribute authentication=0 demo_mode_write_protect=0

生产环境安全建议

  • 启用CHAP认证
  • 限制访问IP范围
  • 启用数据加密

3. 防火墙的智能通行方案

传统的一关了之(systemctl stop firewalld)在真实环境中如同撤掉所有安检——危险且不专业。下面是精准放行方案:

firewall-cmd --permanent --add-port=3260/tcp firewall-cmd --reload

对于多节点环境,可使用IP集合提高效率:

firewall-cmd --new-ipset=iscsi_nodes --type=hash:ip firewall-cmd --ipset=iscsi_nodes --add-entry=192.168.1.101 firewall-cmd --add-rich-rule='rule family="ipv4" source ipset="iscsi_nodes" port port="3260" protocol="tcp" accept'

4. 开机自启的进阶管理

4.1 服务配置固化

使用targetcli的自动保存功能:

/> saveconfig /etc/target/saveconfig.json

创建systemd服务保障脚本:

cat > /usr/lib/systemd/system/iscsi-preload.service <<EOF [Unit] Description=Preload iSCSI configuration Before=target.service [Service] Type=oneshot ExecStart=/usr/bin/targetcli restoreconfig /etc/target/saveconfig.json [Install] WantedBy=multi-user.target EOF

4.2 客户端自动连接方案

在客户端创建智能连接脚本:

#!/bin/bash iscsiadm -m discovery -t st -p 192.168.1.100 | while read target; do iscsiadm -m node -T ${target%% *} -p 192.168.1.100 -l done

添加到rc.local实现开机自动连接:

chmod +x /etc/rc.d/rc.local echo "/path/to/connect_iscsi.sh" >> /etc/rc.d/rc.local

5. 性能调优实战技巧

5.1 多路径IO配置

当使用双网卡绑定提升带宽时:

yum install -y device-mapper-multipath mpathconf --enable --with_multipathd y

配置/etc/multipath.conf

devices { device { vendor "LIO-ORG" path_grouping_policy multibus } }

5.2 队列深度优化

调整内核参数提升IO吞吐:

echo "vm.dirty_ratio = 20" >> /etc/sysctl.conf echo "vm.dirty_background_ratio = 10" >> /etc/sysctl.conf sysctl -p

targetcli中设置队列参数:

/iscsi/iqn.../tpg1> set attribute max_outstanding_r2t=8

6. 异常处理与监控

建立实时监控体系:

watch -n 1 "targetcli ls && iscsiadm -m session -P 3"

常见故障处理速查表:

现象排查命令解决方案
客户端无法发现Targettcpdump -i eth0 port 3260检查防火墙/网络连通性
连接频繁中断iscsiadm -m session -P 3调整noop_outstanding_writes
读写性能低下iostat -x 1优化队列深度和MPIO策略

在最近一次数据中心迁移项目中,这套自动化方案将原本需要2小时的存储配置缩短至15分钟。特别是通过targetcli的批处理功能,可以快速生成配置脚本:

targetcli <<EOF /backstores/block create disk1 /dev/sdb /iscsi create iqn.2024-07.example.com:node1 /iscsi/iqn.../tpg1/luns create /backstores/block/disk1 exit EOF
http://www.zskr.cn/news/1431166.html

相关文章:

  • Go2 ROS2 SDK终极指南:让四足机器人实现智能导航与避障
  • 2026年厦门精益生产与数字化转型管理咨询服务推荐指南 - 精选优质企业推荐官
  • LizzieYzy:3个核心功能,带你从围棋新手到AI分析高手
  • 别再只备份系统了!用Timeshift+BackInTime打造Linux Mint双保险数据安全方案
  • 花生米炒货机核心技术参数解析与场景适配指南:燃气炒货机/电磁炒货机厂家/胡麻炒货机/花生米炒货机/五谷杂粮炒货机/选择指南 - 优质品牌商家
  • 手把手教你用OSX-KVM项目搞定macOS虚拟机:从下载镜像到virt-manager配置避坑指南
  • 2026年唐果子市场价格盘点 - mypinpai
  • Keil MDK开发板USB RNDIS协议栈实战指南
  • 企业级AI应用隐私防护实战指南(GDPR/CCPA/《个人信息保护法》三重合规对照表)
  • 英雄联盟效率革命:LeagueAkari如何用5大智能模块为你节省90%操作时间?
  • AI4Math 综述:人工智能如何重塑数学研究
  • 3DS游戏存档终极保护指南:用JKSM轻松管理你的游戏进度
  • 墨刀推出全新 AI 协作平台「墨见」,主打多智能体协同,一键配置你的虚拟产研团队!
  • 用Python和Linux打造开源音频循环工作站:从原理到实战
  • 健身器材十大品牌综合盘点
  • MATLAB数字全息三算法实现包:菲涅尔积分、卷积衍射与角谱传播
  • 新手入门电子焊接:从零组装STC单片机红蓝警车模型
  • 调参玄学?ESN储备池的谱半径、稀疏度到底怎么设?一份基于Numpy的实验报告
  • 用Python和Pandas玩转全球凋落物数据集:从ORNL DAAC下载到物候分析实战
  • 8051双数据指针编译器支持与优化实践
  • 2026年山东刺绣贴排行榜,亲测分享实践心得
  • 3步搞定MOOC课程离线下载:免费建立个人学习资源库
  • AMD Ryzen处理器深度调试指南:5个SMU系统管理单元优化实战技巧
  • 别再用MLP了?KAN模型实战:用Python复现论文核心,实测速度到底慢多少
  • claude code 消息系统 Skill 调用(五)
  • 2026 苏州防水补漏靠谱品牌榜单 结合各区建筑特点根治反复渗漏 - 吉修匠
  • 涂胶机品牌哪家好?瑞德佑业是您的靠谱之选 - mypinpai
  • 企业认证与安全体系(四):企业登录认证流程全解析——JWT、Redis、Spring Security 如何协同工作?
  • 为什么你的Gemini需求总被算法团队拒收?曝光5个技术负责人绝不明说但必查的PRD硬伤
  • 交流微电网系统网络化分层协调控制策略优化【附代码】