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

保姆级教程:在CentOS 7上用targetcli配置iSCSI Target,并让另一台Linux客户端成功挂载

从零构建企业级iSCSI存储网络:CentOS 7实战指南

在虚拟化与云计算环境中,存储网络的灵活配置能力直接决定了基础设施的扩展性和可靠性。iSCSI作为IP SAN的核心技术方案,以其硬件兼容性强、部署成本低的优势,成为中小企业构建共享存储的首选方案。本文将手把手带您完成从服务端配置到客户端挂载的全流程操作,特别针对CentOS 7环境中的常见坑点提供解决方案。

1. 环境准备与基础概念

在开始配置前,我们需要明确实验环境的硬件拓扑。假设您已准备两台CentOS 7虚拟机,分别承担以下角色:

  • 存储服务器(192.168.100.20):配备额外磁盘(如/dev/sdb)作为共享存储源
  • 客户端(192.168.100.19):通过以太网访问远程存储

iSCSI协议的核心组件包括:

  • Target:存储资源的提供方(服务端)
  • Initiator:存储资源的使用方(客户端)
  • IQN(iSCSI Qualified Name):全球唯一标识符,格式为iqn.yyyy-mm.<reversed-domain>:identifier

生产环境中建议使用独立的物理网卡或VLAN隔离iSCSI流量,避免与其他网络服务产生带宽竞争

2. 服务端深度配置

2.1 软件安装与磁盘准备

首先在存储服务器执行基础软件安装:

# 安装iSCSI服务端组件 yum install -y targetcli targetd

创建物理磁盘的存储对象时,需特别注意磁盘选择:

targetcli /backstores/block create disk1 /dev/sdb

disk1为自定义存储对象名称,对应物理磁盘/dev/sdb。通过ls命令可验证创建结果:

o- block .................................................... [Storage Objects: 1] | o- disk1 ........................... [/dev/sdb (40.0GiB) write-thru activated]

2.2 创建iSCSI目标与访问控制

建立iSCSI目标时需要遵循IQN命名规范:

/iscsi/ create iqn.2023-07.example.com:storage.target

关键安全配置步骤:

  1. 创建LUN映射:
    cd /iscsi/iqn.2023-07.example.com:storage.target/tpg1/luns create /backstores/block/disk1
  2. 设置CHAP认证(强制建议生产环境启用):
    cd /iscsi/iqn.2023-07.example.com:storage.target/tpg1/acls create iqn.2023-07.example.com:client.initiator set auth userid=storage_user set auth password=Complex@Pass123

2.3 服务优化与防火墙

调整内核参数提升iSCSI性能:

echo "net.ipv4.tcp_timestamps = 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_sack = 1" >> /etc/sysctl.conf sysctl -p

防火墙规则配置示例:

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

3. 客户端连接实战

3.1 初始化连接配置

客户端需安装必要软件包:

yum install -y iscsi-initiator-utils

修改配置文件建立认证关联:

vim /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2023-07.example.com:client.initiator vim /etc/iscsi/iscsid.conf node.session.auth.authmethod = CHAP node.session.auth.username = storage_user node.session.auth.password = Complex@Pass123

3.2 发现与挂载操作

执行存储发现时会显示可用目标:

iscsiadm -m discovery -t sendtargets -p 192.168.100.20

典型输出:

192.168.100.20:3260 via sendtargets iqn.2023-07.example.com:storage.target

建立会话连接:

iscsiadm -m node -T iqn.2023-07.example.com:storage.target -p 192.168.100.20 -l

验证磁盘识别情况:

lsblk | grep -i "sd[b-z]"

4. 高级配置与排错指南

4.1 多路径IO配置(可选)

对于高可用环境,建议配置多路径:

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

配置文件示例(/etc/multipath.conf):

devices { device { vendor "LIO-ORG" product "*" path_grouping_policy failover path_checker tur } }

4.2 常见故障排查

连接失败检查清单

  1. 网络连通性测试:ping 192.168.100.20
  2. 端口可用性验证:telnet 192.168.100.20 3260
  3. 服务状态确认:systemctl status targetd
  4. 认证日志分析:journalctl -u iscsid -f

会话管理命令参考

  • 查看活动会话:iscsiadm -m session
  • 临时断开连接:iscsiadm -m node -U all
  • 永久删除节点:iscsiadm -m node -o delete

5. 生产环境最佳实践

5.1 性能调优参数

在/etc/iscsi/iscsid.conf中添加:

node.conn[0].timeo.noop_out_interval = 15 node.conn[0].timeo.noop_out_timeout = 15 node.session.initial_login_retry_max = 12

5.2 自动化挂载方案

正确的fstab配置示例:

/dev/disk/by-path/ip-192.168.100.20:3260-iscsi-iqn.2023-07.example.com:storage.target-lun-0 /mnt/iscsi xfs _netdev,rw,noatime 0 0

关键注意事项:

  • 必须使用_netdev挂载选项
  • 建议通过磁盘路径标识而非设备名(如/dev/sdb)
  • 可添加nofail选项避免启动阻塞

对于需要更高可靠性的场景,可以考虑使用udev规则自动挂载:

vim /etc/udev/rules.d/99-iscsi.rules ACTION=="add", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="36001405bcd1a892b4a1e8a4a2e1e8f8a", RUN+="/bin/mount /mnt/iscsi"
http://www.jsqmd.com/news/921573/

相关文章:

  • 如何用智能游戏管家彻底解放你的碧蓝航线游戏时间
  • 智慧城市情感智能:从效率管控到人文关怀的技术演进
  • 学 Qt 绕不开 TCP:我整理了一个 TCP 调试助手服务器版源码
  • 人才测评公司有哪些?资质认证、常模样本量、行业案例与数据合规性四维筛选法(附避坑清单) - 品牌排行榜
  • 从‘神奇数字’到趣味数学:带孩子用Scratch或Python探索水仙花数(亲子编程指南)
  • 2025-2026年维克顿数字能源电话查询:选购UPS与精密空调前需关注资质与适配性 - 品牌推荐
  • 2026年4月目前新型国标弯头定制厂家推荐,国标弯头/碳钢管件/无缝钢管,国标弯头公司推荐 - 品牌推荐师
  • 机器学习如何避免虚假相关性:从数据到模型的可解释性实战指南
  • 别再死记硬背了!用Python+Scikit-learn实战复现机器学习期末考点(附代码)
  • Linux服务器SSH登录失败?别急着重装!手把手教你排查密码过期、账户锁定等5种常见原因
  • deepseek数学公式如何正确粘贴?别扯了,这破问题正在吃掉AI替你省下的时间!“AI导出鸭”实测,这才是打工人的救命稻草 - AI导出鸭
  • 2025-2026年一起装修网电话查询:选择装修服务前需全面核实资质与合同细节 - 品牌推荐
  • 百度网盘解析神器:3分钟实现高速下载的终极指南
  • AI训练数据抓取:公开社交数据的合规边界与技术实现
  • 2026年收藏|AIGC率59%降至6%?5款实测降AI工具+6大去AI痕迹纯手改指南 - 降AI实验室
  • 3分钟搞定Unity游戏翻译:零门槛的实时语言转换神器
  • 图像信息熵实战:用这个指标帮你判断图片模糊、噪点多还是信息丰富
  • 20251904 2025-2026-2 《网络攻防实践》第九周作业
  • 公司采购用什么软件?从功能覆盖、系统稳定性到实施成本,选型前必看的几个核心维度 - 品牌排行榜
  • 网络安全初创公司如何通过技术挑战赛验证产品与获取资源
  • GMT6.4绘图进阶:给你的地形剖面图加上高程填充与海平面标识
  • 深度体验CSDN AI智选与深度创作功能:技术博主的创作革命还是另一个噱头
  • 审稿人视角:你的稳健性检验为什么总被质疑?避开这5个坑
  • 别再死记硬背了!用这个电容压差“突变”的数学例子,彻底搞懂EG2104自举原理
  • Autoware.universe开发环境搭建:为什么我更推荐Ubuntu 22.04 + 源码安装而非Docker?
  • AI模拟社区r/SubSimulator:从马尔可夫链到GPT-2的社交实验
  • 如何快速掌握DownKyi:5步实现B站视频下载终极技巧
  • 内网CentOS 7离线装LibreOffice 7.1,我踩过的依赖坑都帮你填好了
  • VMware ESXi 9.1 macOS Unlocker OEM BIOS 2.7 Inspur 浪潮 定制版
  • VASP计算完别急着关!手把手教你从OUTCAR、DOSCAR里“挖”出有用数据