CentOS下如何用yum命令安装iscsi,具体步骤是怎样的?

iSCSI(Internet Small Computer System Interface)是一种基于 TCP/IP 协议的存储网络标准,它允许客户端(发起端,Initiator)通过 IP 网络访问远程服务器(目标端,Target)上的存储设备,如同访问本地硬盘一样,在 CentOS 系统中,配置 iSCSI 发起端以连接远程存储是一项常见且重要的任务,尤其在虚拟化、数据库和集中式存储场景中,本文将详细介绍如何使用 yum 包管理器在 CentOS 上安装、配置和管理 iSCSI 发起端。

CentOS下如何用yum命令安装iscsi,具体步骤是怎样的?

准备工作

在开始之前,请确保您具备以下条件:

  1. 一台运行 CentOS 7 或 CentOS 8 的服务器。
  2. 拥有 root 权限或 sudo 权限的用户账户。
  3. 稳定的网络连接,能够访问到 iSCSI 目标服务器。
  4. 已知 iSCSI 目标服务器的 IP 地址、端口(默认为 3260)以及目标 IQN(iSCSI Qualified Name)。

安装 iSCSI 发起端软件

CentOS 系统已经将 iSCSI 发起端相关的软件包收录到了官方源中,安装过程非常简单,只需使用 yum 命令即可。

打开终端,执行以下命令来安装 iscsi-initiator-utils 软件包,这个包提供了 iSCSI 发起端所需的所有核心工具,包括 iscsiadm(管理工具)、iscsid(守护进程)等。

sudo yum install iscsi-initiator-utils -y

安装完成后,iSCSI 服务(iscsid)默认是禁用的,我们需要启动它并设置为开机自启,以便系统能够自动管理 iSCSI 连接。

sudo systemctl start iscsid
sudo systemctl enable iscsid

您可以通过 systemctl status iscsid 命令来检查服务是否已成功运行。

发现 iSCSI 目标

安装并启动服务后,下一步是发现网络中可用的 iSCSI 目标,使用 iscsiadm 命令可以向指定的目标服务器发送查询请求。

命令格式如下:iscsiadm -m discovery -t st -p <TARGET_IP>

  • -m discovery:指定操作模式为发现。
  • -t st:指定发现类型为 sendtargets,这是最常用的类型。
  • -p <TARGET_IP>:指定 iSCSI 目标服务器的 IP 地址。

<TARGET_IP> 替换为您实际的服务器地址,168.1.100

sudo iscsiadm -m discovery -t st -p 192.168.1.100

执行成功后,命令会返回一个或多个目标记录,格式为 TARGET_IP:PORT,PORTAL_TAG TARGET_IQN

168.1.100:3260,1 iqn.2025-10.com.example:storage.target00

这里的 iqn.2025-10.com.example:storage.target00 就是我们需要连接的目标的唯一标识符(IQN),发现操作会将目标信息记录在 /var/lib/iscsi/nodes/ 目录下,方便后续管理。

登录到 iSCSI 目标

发现目标后,就可以使用 iscsiadm 命令登录到该目标,建立连接并获取远程存储设备。

命令格式如下:iscsiadm -m node -T <TARGET_IQN> -p <TARGET_IP> --login

CentOS下如何用yum命令安装iscsi,具体步骤是怎样的?

  • -m node:指定操作模式为节点管理。
  • -T <TARGET_IQN>:指定要登录的目标 IQN。
  • -p <TARGET_IP>:指定目标服务器的 IP 地址。
  • --login:执行登录操作。

使用上一步获取到的 IQN:

sudo iscsiadm -m node -T iqn.2025-10.com.example:storage.target00 -p 192.168.1.100 --login

登录成功后,系统会提示类似 Login to [iface: default, target: iqn.2025-10..., portal: 192.168.1.100,3260] successful. 的信息。

您可以运行 lsblkfdisk -l 命令来查看系统中是否出现了新的磁盘设备,/dev/sdb,这个新设备就是从远程 iSCSI 目标映射过来的块设备。

lsblk

输出示例:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk
└─sda1   8:1    0   20G  0 part /
sdb      8:16   0  100G  0 disk  <-- 这就是新发现的 iSCSI 磁盘

配置和使用 iSCSI 磁盘

新发现的 iSCSI 磁盘 /dev/sdb 此时还不能直接使用,需要像本地硬盘一样进行分区、格式化和挂载。

  1. 分区:使用 fdiskparted/dev/sdb 进行分区,这里以创建一个主分区为例:

    sudo fdisk /dev/sdb

    fdisk 交互界面中,依次输入 n(新建分区)、p(主分区)、1(分区号)、回车(默认起始扇区)、回车(默认结束扇区)、w(保存并退出)。

  2. 格式化:对新创建的分区(/dev/sdb1)进行格式化。ext4 是一个常用的文件系统。

    sudo mkfs.ext4 /dev/sdb1
  3. 挂载:创建一个挂载点,并将文件系统挂载上去。

    sudo mkdir /mnt/iscsi_disk
    sudo mount /dev/sdb1 /mnt/iscsi_disk

    使用 df -hT 可以查看挂载是否成功。

  4. 设置开机自动挂载:为了确保系统重启后 iSCSI 磁盘能被自动挂载,需要将其信息添加到 /etc/fstab 文件中。非常重要的一点是,对于网络设备,必须使用 _netdev 挂载选项,这能确保系统在网络服务启动后再尝试挂载该设备。

    获取分区的 UUID,使用 UUID 比 /dev/sdb1 这样的设备名更稳定。

    sudo blkid /dev/sdb1

    输出示例:/dev/sdb1: UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" TYPE="ext4"

    CentOS下如何用yum命令安装iscsi,具体步骤是怎样的?

    编辑 /etc/fstab 文件:

    sudo vi /etc/fstab

    在文件末尾添加一行:

    UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" /mnt/iscsi_disk ext4 _netdev,defaults 0 0

    保存并退出,这样,系统重启时就会自动登录 iSCSI 目标(因为登录信息已被记录)并挂载该文件系统。

管理 iSCSI 连接

  • 登出目标:如果需要断开与 iSCSI 目标的连接:

    sudo iscsiadm -m node -T <TARGET_IQN> -p <TARGET_IP> --logout
  • 删除目标记录:如果不再需要连接某个目标,可以删除其记录,防止自动登录:

    sudo iscsiadm -m node -o delete -T <TARGET_IQN> -p <TARGET_IP>

核心命令速查表

目的 命令 描述
安装软件 sudo yum install iscsi-initiator-utils 安装 iSCSI 发起端工具包
启动并启用服务 sudo systemctl start iscsid && sudo systemctl enable iscsid 启动服务并设置开机自启
发现目标 sudo iscsiadm -m discovery -t st -p <IP> 查找指定 IP 上的 iSCSI 目标
登录目标 sudo iscsiadm -m node -T <IQN> -p <IP> --login 连接到指定的 iSCSI 目标
登出目标 sudo iscsiadm -m node -T <IQN> -p <IP> --logout 断开与 iSCSI 目标的连接
查看磁盘 lsblk 列出系统所有块设备,包括 iSCSI 磁盘
设置开机挂载 /etc/fstab 中添加带 _netdev 选项的条目 确保网络就绪后再挂载 iSCSI 文件系统

相关问答 (FAQs)

问1:我已经在 /etc/fstab 中配置了 iSCSI 磁盘的自动挂载,但为什么重启后系统卡住或者磁盘没有挂载成功?

答: 这个问题最常见的原因是在 /etc/fstab 的挂载选项中遗漏了 _netdev 参数,系统在启动过程中,会按顺序处理 /etc/fstab 中的条目,如果没有 _netdev,系统会尝试在网络服务(如 NetworkManager)完全启动之前就挂载该设备,导致无法找到 iSCSI 目标而挂载失败,甚至可能因为等待超时而拖慢整个启动过程,请确保您的 /etc/fstab 条目中包含 _netdev 选项,UUID="<your-uuid>" /mnt/iscsi_disk ext4 _netdev,defaults 0 0

问2:如何修改 iSCSI 发起端的名称?

答: iSCSI 发起端名称存储在 /etc/iscsi/initiatorname.iscsi 文件中,您可以编辑此文件来更改名称,默认情况下,它可能是一个随机生成的字符串,您可以将其修改为更有意义的名称,iqn.2025-10.com.mycompany:myhost.initiator

修改步骤如下:

  1. 使用文本编辑器打开文件:sudo vi /etc/iscsi/initiatorname.iscsi
  2. 修改 InitiatorName= 后面的值。
  3. 保存并退出文件。
  4. 重启 iscsid 服务以使更改生效:sudo systemctl restart iscsid

更改发起端名称后,可能需要在 iSCSI 目标服务器上重新配置访问控制,以允许新的发起端名称连接。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-03 04:43
下一篇 2025-10-03 04:46

相关推荐

  • 服务器弹性ip_弹性IP绑定ECS

    弹性IP绑定ECS,即在阿里云等云服务提供商中,将弹性IP地址与指定的ECS实例关联,以便实现灵活的IP管理和应用部署。

    2024-07-02
    005
  • 如何逐步安装服务器客户端?

    摘要:,,本指南将介绍如何安装服务器和客户端。我们将讨论服务器的安装步骤,包括硬件配置、操作系统选择和软件设置。我们将详细说明客户端的安装过程,包括下载、安装程序运行和配置。我们将提供一些常见问题的解决方案,以确保顺利完成安装过程。

    2024-07-27
    009
  • 如何实现一键式部署企业网站的最佳实践?

    采用”Solution as Code”的方法,可以实现企业网站的一键式部署。这包括使用版本控制系统管理代码、自动化构建和测试流程、以及利用基础设施即代码工具来配置服务器环境。此最佳实践确保了部署的一致性和可重复性,同时提高了开发效率和降低了出错风险。

    2024-08-04
    0014
  • 服务器查看客户端文件_查看日志文件

    在服务器上查看客户端文件,首先需要确定文件的位置和权限。使用命令行工具(如ssh)连接服务器,然后使用cat, less, 或 tail 等命令查看日志文件内容。

    2024-07-09
    004

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信