在企业级虚拟化环境中,使用独立的共享存储是实现虚拟机高可用(HA)、在线迁移等高级功能的基础。本文将详细介绍如何在嵌套实验环境中,利用 H3C CAS 平台纳管计算节点,并配置基于 TrueNAS 的 iSCSI 共享存储,最终验证其可用性。
环境介绍及架构规划
硬件与软件要求
进行此类嵌套虚拟化实验,对宿主机的性能有一定要求,建议配置如下:
- CPU: 8核心以上
- 内存: 32G以上
- 硬盘: 200G以上
- CAS软件版本:
H3C_CAS-R0785P03-h3linux-x86_64
- 宿主机操作系统:
Windows 11 22h2 或者 Vmware Exsi
- 虚拟化软件:
Vmware Workstation 17 pro
- iSCSI 存储模拟软件:
TrueNAS-SCALE-25.10.2.1
网络规划
我们需要在 Vmware Workstation 中创建三个独立的虚拟网络,以实现管理、存储和业务流量分离。
| 网络名称 |
子网划分 |
模式 |
| VMNET01 |
192.168.100.100/24 |
仅主机模式 |
| vmnet02 |
172.16.188.1/24 |
仅主机模式 |
| vmnet08 |
192.168.40.1/24 |
NAT模式 |
虚拟机配置规划
本次实验共需创建5台虚拟机,各司其职,具体规划如下表:
| 虚拟机用途 |
硬件配置 |
IP地址 |
网卡 |
用途 |
| CVM纳管平台 |
CPU: 4 核心 内存:8G 硬盘:200G |
192.168.100.102/24 |
eth0 |
管理 |
|
|
172.16.188.2/24 |
eth1 |
存储 |
|
|
192.168.40.3/24 |
eth2 |
业务 |
| CVK01 |
CPU: 8 核心 内存:16G 硬盘:500G |
192.168.100.103/24 |
eth0 |
管理 |
|
|
172.16.188.3/24 |
eth1 |
存储 |
|
|
192.168.40.4/24 |
eth2 |
业务 |
| CVK02 |
CPU: 8 核心 内存:16G 硬盘:500G |
192.168.100.104/24 |
eth0 |
管理 |
|
|
172.16.188.4/24 |
eth1 |
存储 |
|
|
192.168.40.5/24 |
eth2 |
业务 |
| TrueNAS |
CPU: 2 核心 内存:4 G 系统盘:20g 存储盘:50G * 3 |
192.168.100.105/24 |
eth0 |
管理 |
|
|
172.16.188.100/24 |
eth1 |
存储 |
| Rocky 8.10 |
CPU: 1 核心 内存:1G 系统盘:20g |
192.168.40.6/24 |
eth0 |
业务 |
总体规划架构图
整个实验环境的网络拓扑与逻辑关系如下图所示,清晰展示了管理、存储、业务三网分离,以及 CVM、CVK、TrueNAS 和业务虚拟机之间的连接关系。

CVM虚拟化管理平台安装
首先,在 VMware Workstation 中新建一台名为 CVM 的虚拟机,为其配置三个网络适配器,并按照上表规划分配网络类型。操作系统平台选择 Linux 的 CentOS 7 64位。
关键步骤:务必在虚拟机CPU设置中,勾选“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”选项,否则无法正常安装和运行。

关于安装镜像,有两个选择:一是使用流传较广的基于 CentOS 7 的旧版 H3C_CAS-E0730P06-centos-x86_64;二是从 H3C 官网下载基于 OpenEuler 22.04 的新版 H3C_CAS-R0785P03-h3linux-x86_64。两者安装过程略有不同,本文将使用最新的信创版本进行演示。
安装过程简述
- 编辑虚拟机设置,将下载好的 ISO 镜像文件加载到虚拟机的光驱。
- 启动虚拟机,在 GUI 安装界面中,
SOFTWARE SELECTION 部分务必选择 CVM。
- 设置 root 密码,需要满足复杂度要求(建议包含数字、大小写字母和特殊符号)。
- 其他选项保持默认即可,安装程序会自动进行分区。
- 等待安装完成,点击重启。
绕过虚拟化环境限制(针对新版CVM)
安装重启后,通过浏览器访问 http://192.168.100.102,使用默认账号 admin 和密码 Cloud@1234 尝试登录。很可能会遇到“获取不到 MAC 地址”的错误提示。这是因为新版 CAS 加强了虚拟化环境检测。
解决方法如下:
- 保持 CVM 虚拟机开机,使用 SSH 工具以 root 身份连接
192.168.100.102。
- 执行
ip a 命令,找到 eth0 网卡对应的 MAC 地址并复制备用。
- 依次执行以下命令,创建一个伪造 MAC 地址的 Python 编译文件:
cd /root
vi dummy.py
按 i 进入编辑模式,将以下内容粘贴进去,注意将第三行的 MAC 地址替换为你刚才复制的 eth0 的真实 MAC 地址。
import py_compile
with open('dummy1.py', 'w') as f:
f.write('print("0c:da:41:1d:ca:bb")') # 将此处的MAC地址替换为你的eth0 MAC地址
py_compile.compile('dummy1.py', 'dummy.pyc')
按 ESC 键,输入 :wq 保存并退出。
- 继续执行以下命令,替换系统原有的 MAC 获取模块并重启相关服务:
python dummy.py # 会生成 dummy.pyc 文件
sudo chmod 777 dummy.pyc
sudo mv /opt/bin/get_host_mac.pyc /opt/bin/get_host_mac.pyc.bak
cp -f dummy.pyc /opt/bin/get_host_mac.pyc
systemctl restart tomcat
systemctl restart casserver
等待约一分钟后,再次刷新 CVM 管理平台页面,即可正常登录。
CVK计算节点安装
CVK 的安装过程与 CVM 类似。创建虚拟机时,硬件配置参考规划表,在安装界面的 SOFTWARE SELECTION 部分选择 CVK 即可。安装完成后重启,无需进行 MAC 地址绕过操作。请按照相同步骤完成 CVK01 和 CVK02 两台计算节点的安装。
TrueNAS 存储系统安装与配置
安装流程
在 VMware Workstation 中新建虚拟机,硬件平台选择 Linux,系统版本选择 Debian 11/12 均可。
至少需要两块虚拟磁盘:一块用于安装系统(建议20GB),另一块或多块用于提供存储空间(本例使用3块50GB盘)。
安装过程中,在选择系统安装盘的界面,仅对系统盘打勾(按空格),数据盘不要选择。然后为 truenas_admin 用户设置一个强密码并牢记。
安装完成后,通过规划的 IP (http://192.168.100.105) 访问 TrueNAS Web 管理界面。
基础设置
- 登录:使用用户名
truenas_admin 和安装时设置的密码登录。
- 设置中文界面:依次点击左侧菜单
系统设置 -> 常规,在“本地化”区域设置语言、时区等。
配置 iSCSI 共享存储
这是实现共享存储的核心步骤。
-
创建存储池(Pool):
- 进入
存储 -> 池,点击“创建池”。
- 为池命名(如
pool),然后添加磁盘(VDEV)。根据磁盘数量选择布局:单盘选“条带”,三盘及以上可选“RAIDZ1”以提供冗余。本实验直接创建池,暂不添加缓存等高级VDEV。
-
创建块设备(Zvol):
- 进入
存储 -> 数据集。
- 选中刚创建的存储池(如
pool),点击右上角的 添加Zvol。
- 设置 Zvol 名称(如
share)和大小(例如 70G),这将作为之后共享给 CVM 的存储空间。
-
配置 iSCSI 服务:
- 进入
共享 -> 块(iSCSI)。
- 点击“向导”开始配置。
- 目标:选择“新建”。
- 区块:设备类型选“设备”,在“设备”下拉框中,选择刚才创建的 Zvol(如
pool/share)。
- 协议选项:门户选择“新建”,IP 地址填写 TrueNAS 存储网的 IP
172.16.188.100。
- 完成向导后,系统会提示启动 iSCSI 服务,点击确认。
至此,TrueNAS 端的 iSCSI 共享存储已经配置完毕。
CVM平台纳管与存储配置
添加主机与集群
- 登录 CVM 管理平台 (
http://192.168.100.102)。
- 创建主机池和集群(如命名为
HA)。
- 在集群中添加两台 CVK 主机 (
cvknode01, cvknode02),填写其管理口 IP 地址。
配置存储网络
为了实现 CVK 节点对共享存储的访问,需要先配置存储网络。
- 在集群的
存储 标签页下,点击 增加 创建一个新的存储网络。
- 网络类型选择“存储网络”,转发模式为“VBE”。
- 在“配置主机网络”部分,为
cvknode01 和 cvknode02 分别添加其存储网卡 (eth1) 及对应的 IP 地址(172.16.188.3 和 172.16.188.4)。
添加 iSCSI 共享存储
- 在集群的
存储 标签页,点击 增加。
- 类型选择“共享文件系统”。
- 点击“共享文件系统”输入框旁的搜索按钮,在弹出的窗口中点击
增加。
- 基本信息:填写名称、类型(
iSCSI)、目标路径(如 /vms/share)。
- LUN信息:在“IP地址”标签页下,填写 TrueNAS 的存储 IP (
172.16.188.100),点击“LUN”输入框旁的搜索按钮,选择 TrueNAS 提供的 LUN。
- 添加成功后,在“选择共享文件系统”窗口选中刚创建的存储,点击“确定”。
- 回到“增加共享存储”页面,点击“选择主机”,勾选
cvknode01 和 cvknode02,将存储关联到两台计算节点。
- 确认提交。稍等片刻,CVM 会自动在 CVK 节点上挂载该共享存储,并将其添加到集群存储列表中。
验证与虚拟机部署
存储添加成功后,你可以在 CVM 存储列表中看到其状态和容量。接下来便可以在该共享存储上创建虚拟机。
嵌套虚拟化环境下的部署经验:
在 VMware Workstation 嵌套的 CVK 环境中,直接上传 ISO 镜像并安装 Linux 虚拟机经常会遇到各种报错,安装 Windows 则耗时极长。
推荐做法:
- 先在 VMware Workstation 宿主机层面安装好一个基础的 Rocky Linux 或 CentOS 虚拟机。
- 将该虚拟机关机,通过
文件 -> 导出为 OVF 功能将其导出。
- 进入生成的 OVF 文件夹,不要选择 ISO 文件,将其余所有文件打包成 ZIP 压缩包。
- 在 CVM 平台的“部署 OVF 模板”功能中,上传此 ZIP 包。
- 基于该模板快速部署虚拟机。此方法能极大节省时间并避免安装过程中的兼容性问题。
通过以上步骤,你已经成功搭建了一个基于华三 CAS 和 TrueNAS iSCSI 的共享存储虚拟化环境。在此架构上,你可以进一步测试虚拟机的高可用(HA)故障切换、存储动态扩展等企业级功能。如果在配置过程中遇到问题,可以到云栈社区的相关板块与更多技术爱好者交流讨论。