Pnet-Labs 与 iSCSI 存储整合教程:存储池搭建、客户端安装、挂载验证及 DC 靶机部署

Pnet-Labs 与 iSCSI 存储整合教程:存储池搭建、客户端安装、挂载验证及 DC 靶机部署
28.7的博客声明:
warning 此教程仅适用于你有一台可以不关机的集群环境,对于个人学习者,存储池挂载有选择权,选择是否将其纳入pnet-labs认可的挂载路径,但如果你选择挂载,那么基本就告别电脑关机,除非你是真的将其当成服务器使用,否则开关机会导致引导丢失(目前我不知道解决办法,当然你可以挂载硬盘文件),如果你按照教程做了,导致引导丢失,那么请及时进行取证,将”/opt/unetlab/html/templates” 以及”/opt/unetlab/addons/qemu”取出来,减少工作量
本次是要需要的软件均已免费共享
本教程分为两部分,先通过 StarWind 创建 iSCSI 存储池,再在 Pnet-Labs(基于 Ubuntu)中安装 iSCSI 客户端并挂载存储,最终实现存储扩容与虚拟机部署测试。
一、安装 Pnet-Labs
1.1 准备工作
- 所需文件:Pnet-Labs 内存文件(镜像)
- 硬件配置要求:
- 初始存储:100G(后续通过 iSCSI 扩容)
- 内存:27G
- 网卡:2 块(分别配置 NAT 模式和桥接模式)
- 关键前提:开启宿主机虚拟化功能(BIOS 中启用 VT-x/AMD-V)
1.2 初始登录与网络配置
默认账户:用户名
root,密码pnet配置静态 IP:为确保 iSCSI 连接稳定,需将 Pnet-Labs 配置为静态 IP(避免 DHCP 自动分配导致地址变动)
二、创建 iSCSI 存储池(基于 StarWind)
2.1 准备工作
- 所需工具:StarWind Virtual SAN(用于创建 iSCSI 目标存储)
2.2 安装 StarWind
双击 StarWind 安装包,启动安装向导
选择安装路径(建议默认,或自定义到空间充足的磁盘)
后续步骤保持默认(如组件选择、开始菜单文件夹等),直至安装完成
安装完成后,启动 StarWind 管理界面
2.3 创建 iSCSI 虚拟磁盘(存储池)
打开 StarWind 管理界面,右键点击左侧侧边栏的 Device,选择“Create Virtual Disk”(创建虚拟磁盘)
选择磁盘类型:默认“Hard Disk”(硬盘),点击“Next”
选择磁盘格式:建议“Thin Provisioning”(精简配置,按需占用空间),点击“Next”
设置磁盘名称与保存路径:自定义名称(如“Pnet-iSCSI-Storage”),选择存储路径,点击“Next”
配置磁盘容量:根据需求设置(本教程示例为 200G),点击“Next”
启用缓存优化:选择“Write-back caching”(回写缓存,提升存储读写速度),点击“Next”
开启集群化(可选但推荐):勾选“Enable Clustering”,便于后续存储扩容或高可用配置,点击“Next”
确认配置并完成创建:核对信息无误后,点击“Create”,等待磁盘创建完成
三、Pnet-Labs(Ubuntu)挂载 iSCSI 存储
3.1 安装 iSCSI 客户端
通过 apt 包管理器安装 open-iscsi(Linux 常用 iSCSI 客户端工具):
1 | # 更新软件源 |
3.2 启动并配置 iSCSI 服务
1 | # 启动 iscsid 服务 |
3.3 发现 iSCSI 目标(存储池)
执行以下命令发现 StarWind 上创建的 iSCSI 目标(需替换 192.168.20.1 为 StarWind 所在主机的 IP 地址):
1 | sudo iscsiadm -m discovery -t sendtargets -p 192.168.20.1 |
- 成功发现后,会输出类似结果:
192.168.20.1:3260,-1 iqn.2008-08.com.starwindsoftware:kubernetes.docker.internal-pnet-target
3.4 登录 iSCSI 目标
使用上一步发现的 IQN(iSCSI 目标标识符) 登录存储:
1 | sudo iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:kubernetes.docker.internal-pnet-target -p 192.168.20.1 -l |
- 登录成功提示:
Login to [iface: default, target: ...] successful.
3.5 确认 iSCSI 设备已被识别
通过 lsblk 命令查看系统磁盘列表,确认 iSCSI 设备(通常为 /dev/sdb,容量与创建时一致,本示例为 200G):
1 | lsblk |
3.6 格式化 iSCSI 设备(首次使用)
警告:此操作会清除设备所有数据,请确认设备为新创建的 iSCSI 盘(如 /dev/sdb),格式化为 ext4 文件系统:
1 | sudo mkfs.ext4 /dev/sdb |
3.7 创建挂载点并挂载设备
创建挂载目录(自定义路径,本示例为
/mnt/iscsi):1
sudo mkdir -p /mnt/iscsi # -p 确保目录不存在时自动创建
挂载 iSCSI 设备到目录:
1
sudo mount /dev/sdb /mnt/iscsi
3.8 验证挂载结果
通过 df -h 命令查看挂载状态,确认 /dev/sdb 已挂载到 /mnt/iscsi:
1 | df -h |
- 成功挂载示例:
/dev/sdb 196G 61M 186G 1% /mnt/iscsi
四、测试:部署 DC 靶机验证存储可用性
4.1 准备靶机模板与镜像
创建虚拟机模板文件:进入 Pnet-Labs 模板目录,创建 DC 靶机的 YAML 配置文件:
1
2
3
4# 进入模板目录
cd /opt/unetlab/html/templates
# 创建并编辑 DC 模板文件
sudo vim DC.yml粘贴以下 YAML 内容(定义 DC 靶机的硬件配置):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20# Linux 系统模板(DC 渗透测试靶机)
# 默认账号:DC不提供账户密码
type: qemu
description: "[渗透测试] DC "
name: DC
cpulimit: 1
icon: Server.png
cpu: 1
ram: 1024
ethernet: 1
eth_format: eth{0}
shutdown: 1
console: vnc
inject_as_first_nic: 1
username: root
qemu_arch: x86_64
qemu_version: 6.0.0
qemu_nic: virtio-net-pci
qemu_options: -machine type=pc,accel=kvm -vga virtio -usbdevice tablet -boot order=cd -cpu host保存退出:按wq
上传靶机镜像:将 DC 靶机的
qcow2镜像文件(虚拟机磁盘格式)放入 Pnet-Labs 的镜像目录:1
2# 目录路径(需提前创建 DC-1 文件夹)
/opt/unetlab/addons/qemu/DC-1/
4.2 登录 Pnet-Labs 控制台创建靶机
访问 Pnet-Labs Web 控制台:在浏览器输入 Pnet-Labs 的静态 IP(如
http://192.168.20.100)。登录控制台:默认用户名
admin,密码pnet。创建 DC 靶机:
- 点击左侧“Templates”,找到“[渗透测试] DC”模板。
- 拖拽模板到拓扑区域,配置网络(如桥接模式)。
- 启动靶机,确认可正常运行。
五、教程总结
至此,Pnet-Labs 配置 iSCSI 存储的全流程已完成:
- 成功安装 Pnet-Labs 并配置静态 IP。
- 通过 StarWind 创建 200G iSCSI 存储池。
- 在 Pnet-Labs 中挂载 iSCSI 存储,将总存储从 100G 扩容至 300G。
- 部署 DC 靶机验证存储可用性,确认 iSCSI 存储可正常支撑虚拟机运行。
后续可根据需求,通过 StarWind 继续扩容 iSCSI 存储,或增加更多虚拟机测试。











