教程 3:搭建无盘工作站(iSCSI sanboot)
⏱ 预计用时:20 分钟 | 难度:进阶 | 读者:需要多台无盘工作站的场景(机房、实验室、瘦客户端) 前置条件:PxeLab 已启动、一台 iSCSI 存储(或可做 iSCSI 目标的机器)、客户端支持网络引导
场景
20 台配置相同的机器,不需要本地硬盘:系统统一放在一台 iSCSI 存储上,任何一台开机都从网络启动同一套系统。坏了换一台,系统在存储上毫发无损——这就是无盘工作站(sanboot)。
iSCSI 存储 (192.168.1.50)
iqn.2024-01:disk
▲
│ 从 SAN 启动(无需本地盘)
┌───────────┼────────────┐
│ 客户端 1 客户端 2 … 客户端 20 │
└───────────────────────┘
PxeLab 提供引导信息准备
- iSCSI 目标:存储服务器上的 LUN(示例:IP
192.168.1.50,IQNiqn.2024-01:disk) - PxeLab 与 iSCSI 存储、客户端网络互通
- 客户端支持 iPXE 引导(PxeLab 内置的 iPXE 支持 sanboot,无需额外编译)
第 1 步:准备 iSCSI LUN
在存储服务器上创建 LUN 并在其中安装好系统(或将已有系统盘做成 LUN 导出)。记下三个信息:
- 存储服务器 IP(示例:
192.168.1.50) - IQN(示例:
iqn.2024-01:disk) - LUN 号(默认为 0,即
:disk后缀省略 LUN 号时的默认值)
授权 PxeLab 网段的客户端访问该 LUN。
第 2 步:创建 sanboot 引导项
进入 基础配置 → 引导菜单(Profiles),新建一个引导项:
| 字段 | 示例值 |
|---|---|
| 名称 | Diskless Workstation |
| 引导类型 | sanboot — SAN 存储启动 |
| URL | iscsi:192.168.1.50::::iqn.2024-01:disk |
URL 格式说明:iscsi:<存储IP>:<端口(空)>::<IQN>:<LUN>——示例即从 192.168.1.50 的默认端口(3260)启动 iqn.2024-01:disk。
第 3 步:让客户端走这个引导项
两种方式任选:
- 全部机器:把这个引导项设为默认菜单项(引导菜单配置 → 默认菜单 → 添加该条目)
- 指定机器:在主机管理中登记客户端 MAC 并绑定该引导项(Profile),每台机器独立引导
第 4 步:客户端开机,验证无盘启动
客户端开机 → 网络引导 → PxeLab 引导菜单 → 选择 Diskless Workstation。
客户端从 iSCSI 存储启动系统,运行过程中不依赖本地硬盘。
本教程常见问题
| 现象 | 可能原因 | 解决 |
|---|---|---|
| 启动失败 / 找不到存储 | iSCSI 目标未授权客户端 IP | 在存储端确认 LUN 的访问控制(initiator 授权) |
| IQN 或 LUN 写错 | 配置笔误 | 核对存储端导出的 IQN 与 LUN 号 |
| 多台机器同时启动异常 | 多客户端写同一 LUN 冲突 | 系统盘做只读,或用多副本/每台独立 LUN |
| 引导菜单里没有该条目 | 未设为默认/未绑定主机 | 回到第 3 步检查 |