服务器测评网
我们一直在努力

Linux安装iSCSI时,如何配置多路径和自动挂载?

在Linux系统中安装和配置iSCSI(Internet Small Computer System Interface)是一项常见的服务器管理任务,iSCSI允许通过网络将存储设备作为块设备使用,具有部署灵活、成本较低等优势,本文将详细介绍在Linux环境下安装iSCSI Initiator(发起端)和Target(目标端)的完整流程,包括环境准备、软件安装、配置步骤及常见问题处理,帮助读者快速掌握这一技术。

Linux安装iSCSI时,如何配置多路径和自动挂载?

环境准备与基础概念

在开始安装前,需明确iSCSI架构中的两个核心角色:Initiator(发起端)是客户端,负责发起存储请求;Target(目标端)是服务端,提供存储资源,本文将以CentOS 7和Ubuntu 20.04为例,分别介绍基于RHEL和Debian系的发行版配置方法,实验环境建议准备两台虚拟机,分别作为Initiator和Target,确保网络互通,并规划好IP地址段,Target端IP设为192.168.1.100,Initiator端设为192.168.1.101,子网掩码和网关需保持一致。

iSCSI Target端的安装与配置

Target端是存储资源的提供方,需安装targetcli工具进行管理,以CentOS 7为例,首先执行sudo yum install targetcli -y安装软件包,Ubuntu系统则使用sudo apt update && sudo apt install targetcli -y,安装完成后,启动并设置开机自启:sudo systemctl enable --now targetcli

创建存储后端

targetcli使用命令行界面管理存储资源,输入targetcli进入交互模式,执行backstores/block/ create disk1 /dev/sdb1命令,将磁盘分区/dev/sdb1创建为块存储后端,其中disk1为自定义名称,若使用文件作为存储后端,可执行backstores/fileio/ create file1 /path/to/image.img 10G创建10GB大小的文件镜像。

配置iSCSI目标

创建iSCSI目标,执行iscsi/ create iqn.2023-06.com.example:storage.target01,其中IQN(iSCSI Qualified Name)需按格式iqn.年-月.反向域名:自定义标识命名,随后,将存储后端绑定到目标:cd iscsi/iqn.2023-06.com.example:storage.target01/tpg1/luns,执行create /backstores/block/disk1

设置访问控制

tpg1/acls目录下创建ACL规则,允许Initiator端访问:create iqn.2023-06.com.example:initiator01,其中IQN需与Initiator端的IQN一致,接着在tpg1/portals目录下设置监听地址,默认为0.0.0.0,可修改为特定IP如168.1.100:3260,最后执行saveconfig保存配置,退出targetcli。

Linux安装iSCSI时,如何配置多路径和自动挂载?

防火墙配置

确保Target端防火墙允许iSCSI流量,CentOS 7执行:sudo firewall-cmd --permanent --add-port=3260/tcp && sudo firewall-cmd --reload,Ubuntu系统使用sudo ufw allow 3260/tcp

iSCSI Initiator端的安装与配置

Initiator端是存储资源的消费者,需安装open-iscsi软件包,CentOS 7执行sudo yum install iscsi-initiator-utils -y,Ubuntu系统使用sudo apt install open-iscsi -y,安装完成后,启动服务并设置开机自启:sudo systemctl enable --now iscsid

配置Initiator名称

编辑/etc/iscsi/initiatorname.iscsi文件,修改InitiatorName为与Target端ACL匹配的IQN,如InitiatorName=iqn.2023-06.com.example:initiator01,保存后执行sudo systemctl restart iscsid使配置生效。

发现iSCSI目标

使用sudo iscsiadm -m discovery -t st -p 192.168.1.100命令发现Target端资源,其中-t st表示通过iSNS发现,-p指定Target端IP,发现成功后,执行sudo iscsiadm -m node -T iqn.2023-06.com.example:storage.target01 -p 192.168.1.100 --login登录目标,-T参数指定目标IQN。

验证与挂载

登录成功后,通过lsblkfdisk -l查看新识别的块设备,通常为/dev/sdb,创建文件系统并挂载,sudo mkfs.xfs /dev/sdb && sudo mkdir /mnt/iscsi && sudo mount /dev/sdb /mnt/iscsi,为实现开机自动挂载,编辑/etc/fstab,添加/dev/sdb /mnt/iscsi xfs defaults,_netdev 0 0,其中_netdev表示网络设备需等待网络启动后再挂载。

Linux安装iSCSI时,如何配置多路径和自动挂载?

高级配置与故障排查

多路径配置

为提高存储可用性,可配置多路径访问,在Initiator端安装multipath-tools(CentOS 7使用yum install device-mapper-multipath -y,Ubuntu使用apt install multipath-tools -y),编辑/etc/multipath.conf文件,启用多路径功能并设置扫描规则,执行sudo multipath -v2扫描设备,生成多路径设备如mpathb

常见问题处理

  • 登录失败:检查Target端ACL配置、防火墙规则及网络连通性,使用sudo iscsiadm -m session -P 3查看详细日志。
  • 设备未识别:确认iscsid服务正常运行,执行sudo iscsiadm -m discovery -p IP重新发现目标。
  • 挂载报错:检查文件系统是否正确创建,_netdev参数是否已添加至fstab,确保网络初始化完成后再挂载。

性能优化建议

  • 调整网络MTU值为9000,启用Jumbo Frame以减少网络开销。
  • 在Target端启用write_back缓存模式(需硬件支持),提升写入性能。
  • 根据业务需求调整队列深度,如echo 256 > /sys/block/sdb/queue/nr_requests

通过以上步骤,即可完成Linux环境下iSCSI的完整部署,Target端负责提供存储资源,需合理规划后端存储与访问控制;Initiator端负责消费存储资源,需正确配置发现与登录参数,在实际生产环境中,建议结合监控工具(如Prometheus)实时跟踪iSCSI性能,并定期备份Target端配置,确保存储服务的稳定可靠,掌握iSCSI技术不仅能够降低存储成本,还能为构建分布式存储系统奠定基础,是Linux运维人员必备的技能之一。

赞(0)
未经允许不得转载:好主机测评网 » Linux安装iSCSI时,如何配置多路径和自动挂载?