在Linux系统中安装和配置iSCSI(Internet Small Computer System Interface)是一项常见的服务器存储管理任务,它允许通过网络将存储设备(如磁盘阵列或NAS)挂载到本地系统,实现块级数据的远程访问,以下将详细介绍在Linux环境下安装iSCSI客户端的完整流程,包括软件安装、设备发现、连接配置及持久化设置等关键步骤。

安装iSCSI客户端工具
在开始之前,需要确保系统已安装iSCSI客户端软件包,主流Linux发行版通常使用open-iscsi工具包,它提供了iscsiadm命令行工具用于管理iSCSI会话,以基于Debian/Ubuntu的系统为例,可通过以下命令安装:
sudo apt update sudo apt install open-iscsi
对于基于RHEL/CentOS的系统,则使用:
sudo yum install iscsi-initiator-utils
安装完成后,建议启动并启用iscsid服务(该服务负责维护iSCSI连接的持久化):
sudo systemctl enable --now iscsid
发现iSCSI目标设备
连接iSCSI存储的第一步是发现网络上可用的目标设备(Target),这需要知道iSCSI服务器的IP地址以及目标名称(Target Name),使用iscsiadm命令进行发现:
sudo iscsiadm -m discovery -t st -p <iSCSI服务器IP>
-t st表示通过iSCSI发现协议(SendTargets)扫描目标,-p后接服务器的IP地址或域名,执行成功后,系统会列出所有可用的目标及其门户信息(Portal,即目标设备的网络访问点)。
登录iSCSI目标
发现目标后,需要登录以建立会话并挂载存储设备,使用以下命令登录指定的目标:

sudo iscsiadm -m node -T <目标名称> -p <iSCSI服务器IP>:<端口> --login
若目标名称为iqn.2023-01.com.example:storage.target1,服务器IP为168.1.100,则命令为:
sudo iscsiadm -m node -T iqn.2023-01.com.example:storage.target1 -p 192.168.1.100:3260 --login
登录成功后,可通过lsblk或fdisk -l命令查看新识别的块设备,通常以/dev/sdX(如/dev/sdb)或/dev/nvmeXnY的形式出现。
配置持久化连接
默认情况下,iSCSI连接在系统重启后会自动重新建立,但需要确保目标信息已正确保存到配置中,若上述登录命令未自动保存配置,可手动执行:
sudo iscsiadm -m node -T <目标名称> -p <iSCSI服务器IP> --op update -n node.startup -v automatic
该命令将目标设置为automatic启动模式,确保系统重启后自动连接,若需修改认证信息(如CHAP认证),可通过以下命令更新:
sudo iscsiadm -m node -T <目标名称> -p <iSCSI服务器IP> --op update -n node.session.auth.authmethod -v CHAP
格式化与挂载存储设备
连接成功后,新设备需要格式化并创建文件系统(如ext4):
sudo mkfs.ext4 /dev/sdb1 # 假设设备分区为/dev/sdb1
创建挂载点并挂载设备:

sudo mkdir -p /mnt/iscsi_storage sudo mount /dev/sdb1 /mnt/iscsi_storage
为确保开机自动挂载,需将信息添加到/etc/fstab文件中:
echo "/dev/sdb1 /mnt/iscsi_storage ext4 defaults,_netdev 0 0" | sudo tee -a /etc/fstab
其中_netdev选项表示该设备为网络设备,需在网络启动后挂载。
管理与维护
如需断开iSCSI连接,可使用:
sudo iscsiadm -m node -T <目标名称> -p <iSCSI服务器IP> --logout
删除目标配置(仅移除本地记录,不影响服务器端):
sudo iscsiadm -m node -T <目标名称> -p <iSCSI服务器IP> --op delete
通过以上步骤,即可在Linux系统中完成iSCSI存储的安装、连接与管理,实现灵活可靠的远程存储扩展,实际操作中,建议根据具体环境调整参数,并注意网络安全配置(如防火墙规则)以确保数据传输安全。
















