iSCSI 挂载工具说明

本项目提供两个脚本:
iscsi_ssh_menu.sh:交互式菜单,支持发现(discovery)、列出节点、登录/登出,以及设备挂载/卸载。
install_iscsi_deps.sh:自动安装 iSCSI 客户端依赖(根据发行版选择包管理器)。
菜单 选项说明(1-10)
下面给出 iscsi_ssh_menu.sh 中主菜单选项 1 到 10 的简明用法说明与何时使用:
-
发现 Target (discovery)
- 用途:向指定 Target Portal(IP[:port])发送 discovery(sendtargets),列出远端可用的 IQN/target。
- 使用场景:不知道目标 IQN 或需要扫描 iSCSI 存储时。
-
列出已知节点
- 用途:显示
iscsiadm -m node 中已保存的 portal + IQN 条目。
- 使用场景:查看本机已配置的 iSCSI 节点信息。
-
列出会话 (session)
- 用途:显示当前已登录并建立连接的 iSCSI 会话(
iscsiadm -m session)。
- 使用场景:验证是否已成功登录目标并建立会话。
-
登录节点
- 用途:交互选择已知节点或手动输入 IQN,然后执行
iscsiadm -m node -T <IQN> -l 登录。
- 使用场景:需要使远端 LUN 在本机成为块设备时。
-
登出节点
- 用途:交互选择或手动输入 IQN,执行
iscsiadm -m node -T <IQN> -u 登出并断开会话。
- 注意:请先卸载相关挂载点并确保设备不被占用。
-
设置开机自动登录(守护)
- 用途:将选中已知节点设置
node.startup=automatic,并创建 /usr/local/sbin/iscsi-autologin.sh 与 systemd 单元以在网络就绪后自动登录。
- 使用场景:服务器重启后需要自动恢复 iSCSI 连接与挂载。
-
为当前已登录节点创建守护(开机自动登录)
- 用途:把当前活动会话的 IQN 加入已知节点(如需)并设置为
node.startup=automatic,同时创建/启用 autologin 服务。
- 使用场景:已手动登录若干目标,想持久化为开机自动登录。
-
列出已挂载 iSCSI 设备
- 用途:查找
/dev/disk/by-path 中包含 iscsi 的链接,解析为实际设备并显示其挂载点(若存在)。
- 使用场景:快速定位哪些 iSCSI 设备已挂载,便于卸载或排查。
-
挂载设备
- 用途:交互输入或选择设备路径(例如
/dev/disk/by-path/... 或 /dev/sdb1),查看 lsblk -f/blkid 信息并将设备挂载到指定挂载点(默认 /mnt/iscsi)。
- 注意:确保设备上有文件系统且未被占用,脚本会要求确认。
-
卸载设备
- 用途:从当前挂载列表选择挂载点并执行卸载;若挂载点被占用,脚本提供列出占用进程并可选择发送 TERM/KILL、使用
umount -l 或 umount -f 等处理方式。
- 风险提示:强制杀进程或强制卸载可能导致数据丢失,执行前请谨慎确认。
查看或运行主脚本的快速命令(在目标 Linux 主机中运行):
# 赋予可执行并运行脚本
chmod +x ./iscsi_ssh_menu.sh
sudo ./iscsi_ssh_menu.sh
AI写的或许有错误
附件:iSCSI.zip