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

Linux iSCSI安装后无法连接存储,如何排查解决?

Linux iSCSI 安装与配置指南

iSCSI 技术概述

iSCSI(Internet Small Computer System Interface)是一种基于 TCP/IP 协议的存储网络技术,允许通过网络将存储设备(如磁盘阵列、SAN)挂载到本地系统,使其表现为本地块设备,相比传统的光纤通道(FC),iSCSI 具有成本低、部署灵活、易于管理等优势,广泛应用于中小企业的存储解决方案中,在 Linux 系统中,可通过开源工具(如 open-iscsi)轻松实现 iSCSI 客户端功能,而服务端则常用 targetclitgt 等工具提供存储服务。

Linux iSCSI安装后无法连接存储,如何排查解决?

环境准备

在开始安装前,需确保以下条件满足:

  1. 网络环境:客户端与服务端需处于同一局域网,且网络互通,建议配置静态 IP 地址以避免动态分配导致连接中断。
  2. 系统要求:推荐使用 CentOS 7+/Ubuntu 20.04+ 等主流发行版,确保内核版本支持 iSCSI(Linux 2.6.16+ 已原生支持)。
  3. 存储后端:服务端需提供可共享的存储资源,如本地磁盘分区、LVM 逻辑卷或文件系统镜像。

Linux iSCSI 客户端安装与配置

安装 open-iscsi 软件包

在客户端系统中,执行以下命令安装 open-iscsi 工具:

  • CentOS/RHEL
    sudo yum install -y iscsi-initiator-utils  
  • Ubuntu/Debian
    sudo apt update && sudo apt install -y open-iscsi  

配置 iSCSI 客户端

安装完成后,需修改 /etc/iscsi/iscsid.conf 配置文件,调整连接参数(如认证方式、超时时间等)。

node.session.auth.authmethod = CHAP  
node.session.auth.username = your_username  
node.session.auth.password = your_password  

保存后启动 iscsid 服务并设置为开机自启:

sudo systemctl enable --now iscsid  

发现并连接 iSCSI 目标

使用 iscsiadm 命令发现服务端提供的存储目标:

sudo iscsiadm -m discovery -t st -p <server_ip>  

<server_ip> 为 iSCSI 服务器的 IP 地址,发现成功后,查看目标列表:

sudo iscsiadm -m node  

登录并挂载存储设备

登录目标并确认系统已识别到新的块设备:

sudo iscsiadm -m node -T <target_name> -p <server_ip> --login  
lsblk  

此时应能看到新设备(如 /dev/sdb),创建文件系统并挂载:

Linux iSCSI安装后无法连接存储,如何排查解决?

sudo mkfs.ext4 /dev/sdb  
sudo mkdir /mnt/iscsi_disk  
sudo mount /dev/sdb /mnt/iscsi_disk  

为实现自动挂载,需编辑 /etc/fstab,添加以下条目:

/dev/sdb /mnt/iscsi_disk ext4 defaults,_netdev 0 0  

注意_netdev 选项确保系统在网络启动后挂载该设备。

管理连接状态

可通过以下命令管理 iSCSI 连接:

  • 断开连接:sudo iscsiadm -m node -T <target_name> -p <server_ip> --logout
  • 删除节点:sudo iscsiadm -m node -T <target_name> -p <server_ip> -o delete

Linux iSCSI 服务端安装与配置

安装 targetcli 工具

以 CentOS 为例,安装 targetcli

sudo yum install -y targetcli  

安装后启动服务并启用自启:

sudo systemctl enable --now targetui  

配置存储后端

进入 targetcli 交互界面:

sudo targetcli  

执行以下命令创建存储后端(以 LVM 为例):

/backstores/block create disk1 /dev/sdb1  

/dev/sdb1 为服务端提供的物理分区。

Linux iSCSI安装后无法连接存储,如何排查解决?

创建 iSCSI 目标

定义目标名称(格式为 iqn.yyyy-mm.com.domain:identifier):

/iscsi create iqn.2023-10.com.example:storage.target1  

将存储后端绑定到目标:

/iscsi/iqn.2023-10.com.example:storage.target1/tpg1/luns create /backstores/block/disk1  

配置访问控制

允许客户端 IP 访问:

/iscsi/iqn.2023-10.com.example:storage.target1/tpg1/acls create iqn.2023-10.com.client:client1  

iqn.2023-10.com.client:client1 为客户端的 Initiator 名称(可通过 cat /etc/iscsi/initiatorname.iscsi 查看)。

设置认证(可选)

启用 CHAP 认证:

/iscsi/iqn.2023-10.com.example:storage.target1/tpg1/set attribute authentication=1  
/iscsi/iqn.2023-10.com.example:storage.target1/tpg1/chap create user=your_user password=your_pass  

保存配置并退出

saveconfig  
exit  

常见问题与解决方案

  1. 连接超时:检查防火墙设置(如 firewall-cmd --permanent --add-port=3260/tcp)及网络连通性。
  2. 设备未识别:确认 iscsid 服务运行正常,并检查目标名称与 ACL 配置是否匹配。
  3. 性能优化:调整内核参数(如 /etc/sysctl.conf 中的 net.core.rmem_max)以提升网络吞吐量。

通过以上步骤,即可在 Linux 系统中完成 iSCSI 客户端与服务端的安装与配置,iSCSI 技术为分布式存储提供了灵活且经济的解决方案,尤其适用于虚拟化环境、数据库集群等场景,实际部署中,建议结合 RAID、快照等功能进一步保障数据安全与可靠性。

赞(0)
未经允许不得转载:好主机测评网 » Linux iSCSI安装后无法连接存储,如何排查解决?