Linux 连接 iscsi 服务器

安装

安装 iSCSI 工具

大多数 Linux 发行版默认没有安装 iSCSI 客户端工具,需要先安装。以常见的 Ubuntu/Debain 系统为例,使用以下命令安装:

sudo apt-get install open-iscsi
sudo apt-get install cifs-utils

# 配置开机自启
sudo systemctl enable open-iscsi
sudo systemctl start open-iscsi

发现 iSCSI 目标

使用 iscsiadm命令来发现 iSCSI 服务器上的目标。假设 iSCSI 服务器的 IP 地址是 127.0.0.1,端口是 3260,可以使用以下命令:

iscsiadm -m discovery -t st -p 127.0.0.1:3260

认证配置

若 iSCSI 目标需要 CHAP 认证,就得编辑 /etc/iscsi/iscsid.conf 文件:

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

连接 iSCSI 目标

发现目标后,使用以下命令连接到特定的 iSCSI 目标:

# 将`iqn.8212d4b310`替换为你要连接的实际目标 IQN。
iscsiadm -m node -T iqn.8212d4b310 -p 127.0.0.1:3260 -l

配置 iSCSI 目标自动登录

使用 iscsiadm 设置特定目标在系统启动时自动连接:

将`iqn.8212d4b310`替换为你要连接的实际目标 IQN。

# 设置指定目标自动登录
sudo iscsiadm -m node -T iqn.8212d4b310 -p 127.0.0.1:3260 -o update -n node.startup -v automatic

# 验证设置
sudo iscsiadm -m node -T iqn.8212d4b310 -p 127.0.0.1:3260 -P3 | grep startup
# 输出应显示:node.startup = automatic

配置 /etc/fstab 自动挂载

确保 /etc/fstab 中的挂载选项包含 _netdev,表示这是一个依赖网络的设备,需要在网络就绪后再挂载:

# 编辑 fstab 文件
sudo nano /etc/fstab

# 添加或修改此行,确保包含 _netdev 选项
/dev/disk/by-path/iqn.8212d4b310-lun-1-part1 /mnt/path/   ext4   defaults,_netdev   0   0

其他常用命令

使用 iscsiadm 命令查看会话信息

iscsiadm -m session

查看 iSCSI 节点信息

除了会话,还可以查看已发现的 iSCSI 节点(无论是否已连接):

iscsiadm -m node