linux系统如何挂载iscsi
- Linux
- 2025-08-05
- 4
open-iscsi
工具,启动服务,用
iscsiadm
发现并登录目标,扫描设备后分区格式化,最后挂载使用
是Linux系统挂载iSCSI存储的详细操作指南,涵盖从环境准备到自动化管理的全流程:
前期准备与软件安装
-
确认依赖工具:确保系统已安装
open-iscsi
客户端工具,不同发行版的安装命令如下:- Debian/Ubuntu系:
sudo apt install open-iscsi
- CentOS/RHEL系:
sudo yum install iscsi-initiator-utils
若未安装,可通过包管理器完成部署],部分旧版本可能需要手动指定RPM包路径进行安装(如从系统光盘提取)。
- Debian/Ubuntu系:
-
启动并启用服务:执行以下命令启动iSCSI守护进程,并设置为开机自启:
sudo systemctl start iscsid # 立即启动服务 sudo systemctl enable iscsid # 加入启动项
或传统SysV风格指令:
service iscsi start
+chkconfig iscsi on --level 235
。
发现与连接目标端
-
扫描可用目标:使用
iscsiadm
命令主动探测存储服务器发布的LUN(逻辑单元号):sudo iscsiadm -m discovery -t sendtargets -p <目标服务器IP>
示例:
sudo iscsiadm -m discovery -t sendtargets -p 192.168.4.104
,成功执行后会返回目标设备的IQN(iSCSI合格名称)列表。 -
登录指定目标:根据上一步获取的IQN和端口信息,建立连接会话:
sudo iscsiadm -m node -T <完整IQN> -p <目标IP>:<端口号> --login
典型参数组合如:
sudo iscsiadm -m node -T iqn.2004-01.com.storbridge:block01-wt -p 192.16.10.188:3260 -l
,可通过iscsiadm -m session
查看已建立的会话状态。 -
验证设备识别:运行
fdisk -l
或lsblk
查看新出现的块设备节点(通常命名为/dev/sdX系列),此时设备尚未格式化,需进一步处理。
磁盘初始化与挂载
步骤 | 命令示例 | 说明 |
---|---|---|
分区创建 | sudo fdisk /dev/sdb |
交互式划分主分区/扩展分区 |
文件系统写入 | sudo mkfs.ext4 /dev/sdb1 |
选择Ext4格式兼顾性能与兼容性 |
创建挂载点 | sudo mkdir -p /mnt/iscsi_data |
根据实际需求调整路径位置 |
执行挂载操作 | sudo mount /dev/sdb1 /mnt/iscsi_data |
临时生效,重启后失效 |
持久化配置 | 编辑/etc/fstab 添加条目 |
/dev/sdb1 /mnt/iscsi_data ext4 defaults 0 2 |
注意:直接使用设备名可能在磁盘顺序变化时导致故障,建议用UUID替代(通过blkid
获取)。
高级配置优化
-
多路径I/O(MPIO):通过安装UltraPath等多路径软件提升可靠性,例如安装RPM包:
rpm -Uvh UltraPath-5.01.010.suse11_sp1.x86_64.default.rpm
,实现负载均衡与故障切换。 -
自动登录设置:修改配置文件
/etc/iscsid.conf
中的node.startup
参数为automatic
,使系统启动时自动完成目标登录,减少人工干预。 -
安全增强措施:如需CHAP认证,可在
/etc/iscsi/iscsid.conf
中配置用户名和密钥,确保传输链路加密验证。
常见问题排查
-
无法发现目标端:检查防火墙是否开放3260端口;确认目标服务器的IP地址和TCP端口配置正确性;确保网络路由可达。
-
登录失败提示认证错误:核对IQN名称拼写一致性;检查目标端的ACL访问控制列表是否包含本机发起端的IQN地址;验证CHAP凭证有效性。
-
设备未被内核识别:执行
modprobe iscsi_ibft
强制加载驱动模块;查看dmesg
日志定位错误原因。
FAQs
Q1: 如何在不重启系统的情况下重新扫描新增的iSCSI设备?
A: 使用命令sudo rescan-scsi-bus
触发SCSI总线重检,或者执行echo "scsi add-single-device" > /proc/scsi/scsiX
(需替换X为对应编号),该操作会立即更新设备列表而无需重启。
Q2: 为什么挂载后的iSCSI存储无法被Windows主机同时访问?
A: 因为iSCSI协议基于块级传输,同一时间只能有一个操作系统持有锁,若需跨平台共享,应改用NFS等文件级协议,或将LUN划分为独立卷分别分配给不同OS使用