CentOS 7作为一种广泛使用的Linux发行版,提供了稳定且高效的存储解决方案,其中iSCSI(Internet Small Computer System Interface)技术的应用尤为常见,iSCSI允许通过网络将存储设备附加到服务器,实现远程存储的集中管理和高效利用,本文将详细介绍在CentOS 7系统上安装和配置iSCSI的完整流程,包括环境准备、服务安装、配置以及客户端连接等关键步骤,帮助读者快速掌握这一技术。

环境准备与系统检查
在开始安装iSCSI之前,需要确保系统环境满足基本要求,确保CentOS 7系统已正确安装并更新至最新版本,可以通过运行sudo yum update -y命令来更新系统包,确认网络配置正常,因为iSCSI依赖网络通信,建议使用静态IP地址以避免动态IP变化导致的问题,检查防火墙设置,确保TCP端口3260(iSCSI默认端口)已开放,可以通过sudo firewall-cmd --permanent --add-port=3260/tcp和sudo firewall-cmd --reload命令来配置防火墙规则。
安装iSCSI服务软件包
CentOS 7系统默认未安装iSCSI相关服务,需要手动下载并安装必要的软件包,主要涉及targetcli工具,用于配置和管理iSCSI目标端(Target),执行以下命令安装:sudo yum install targetcli -y,安装完成后,可以通过targetcli命令进入交互式配置界面,验证安装是否成功,如果安装过程中提示依赖包缺失,系统会自动解决依赖关系,确保所有组件正确安装。
配置iSCSI目标端
配置iSCSI目标端是整个流程的核心步骤,使用targetcli命令进入配置模式,创建新的存储目标(Target),创建一个名为iqn.2025-06.com.example:storage.target1的目标,命令为/backstores/block create disk1 /dev/sdb1(假设使用/dev/sdb1作为后端存储设备),随后,将存储设备绑定到目标:/iscsi create iqn.2025-06.com.example:storage.target1,并设置访问控制列表(ACL),允许特定客户端连接:/iscsi/iqn.2025-06.com.example:storage.target1/tpg1/acls create iqn.2025-06.com.client:client1,配置完成后,通过saveconfig保存设置,并退出targetcli界面。

启动并启用iSCSI服务
配置完成后,需要启动iSCSI服务并设置为开机自启,使用以下命令:sudo systemctl start target和sudo systemctl enable target,通过systemctl status target检查服务状态,确保服务正常运行,如果服务启动失败,可以查看日志文件/var/log/messages或使用journalctl -u target命令排查问题,确保iscsid服务也已启动,该服务负责iSCSI客户端的连接管理。
客户端连接与配置
在客户端系统(可以是另一台CentOS 7服务器或其他支持iSCSI的操作系统)上,安装iscsi-initiator-utils工具:sudo yum install iscsi-initiator-utils -y,配置iSCSI发起端(Initiator)名称,编辑文件/etc/iscsi/initiatorname.iscsi,将InitiatorName设置为与目标端ACL匹配的名称,例如InitiatorName=iqn.2025-06.com.client:client1,随后,使用sudo iscsiadm -m discovery -t st -p <目标端IP地址>命令发现目标端,其中<目标端IP地址>替换为实际的目标服务器IP,发现成功后,通过sudo iscsiadm -m node -T <目标名称> -p <目标端IP地址> -l命令登录目标端,完成存储挂载。
存储设备挂载与使用
登录iSCSI目标后,客户端系统会识别到新的存储设备,可以通过lsblk或fdisk -l命令查看设备名称,例如/dev/sdb,根据需求对设备进行分区和格式化,例如使用sudo mkfs.xfs /dev/sdb格式化为XFS文件系统,然后创建挂载点目录,如sudo mkdir /mnt/iscsi_storage,并执行挂载命令sudo mount /dev/sdb /mnt/iscsi_storage,为实现开机自动挂载,编辑/etc/fstab文件,添加/dev/sdb /mnt/iscsi_storage xfs defaults,_netdev 0 0条目,其中_netdev选项确保网络服务启动后再挂载设备。

相关问答FAQs
Q1: 如何在CentOS 7上卸载已配置的iSCSI目标端?
A1: 使用sudo systemctl stop target停止iSCSI服务,然后进入targetcli配置界面,删除目标端配置,例如执行/iscsi delete iqn.2025-06.com.example:storage.target1,并移除对应的存储后端(如/backstores/block delete disk1),执行saveconfig保存配置并退出,如果需要完全卸载软件包,可运行sudo yum remove targetcli -y。
Q2: iSCSI连接失败时如何排查问题?
A2: 首先检查网络连通性,确保客户端与目标端之间的通信正常,可以使用ping或telnet <目标端IP> 3260测试,验证目标端的ACL配置是否正确,确保发起端名称与ACL匹配,检查客户端的iscsid服务状态及/var/log/messages日志文件,查找错误信息,确认防火墙和SELinux设置是否阻止了iSCSI通信,必要时临时关闭SELinux进行测试(sudo setenforce 0)。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复