最近折腾软路由,因此给迷你小主机联想 M73 Tiny 装了 ESXi 用于提供底层虚拟化。
其实还是为了更好地利用资源,毕竟 4C8G 只安装一个 LEDE 或者 OpenWrt 就有点浪费了。
差池
▲ 制盘、安装一条龙,进入系统控制面板后发现磁盘空间 NaN 可用空间为空。
以为是磁盘镜像有问题,于是重新制作启动盘,并且使用 PE 格式化分区,重新安装发现问题复现。
仔细观察 DiskGenius 分区表,可以看到磁盘被划分成了四个分区,除了标准的 EFI 引导分区外还有三个分区,两个 4G 大小的系统空间和一个巨大的未知分区。
溯源
搜索后发现已经有完美解决方案了,问题在于自 ESXi 7.0 版本后会自动划分 120GiB 磁盘给「虚拟闪存」。虚拟闪存类似于 Windows 的虚拟内存,提供更大的交换空间,为虚拟机提供读缓存,提升虚拟机的存储性能。
参见新版(7.0)的 ESXi硬件要求 可知:
ESXi 7.0 安装或升级的存储要求
要安装 ESXi 7.0,USB 或 SD 设备的引导设备至少需要为 8 GB,其他设备类型的引导设备至少需要为 32 GB。要升级到 ESXi 7.0,引导设备至少需要为 4 GB。从本地磁盘、SAN 或 iSCSI LUN 引导时,要求具有 32 GB 磁盘以便能够创建系统存储卷,其中包括引导分区、引导槽和基于 VMFS-L 的 ESX-OSData 卷。ESX-OSData 卷负责旧版 /scratch 分区、VM-tools 和核心转储目标的工作。
建议的 ESXi 7.0 安装选项如下所示:
- 8 GB USB 或 SD 以及额外的 32 GB 本地磁盘。ESXi 引导分区位于 USB 或 SD 上,ESX-OSData 卷位于本地磁盘上。
- 至少具有 32 GB 的本地磁盘。该磁盘包含引导分区和 ESX-OSData 卷。
- 本地磁盘为 142 GB 或更大。该磁盘包含引导分区、ESX-OSData 卷和 VMFS 数据存储。
ESXi 7.0 系统存储卷最多可占用 138 GB 的磁盘空间。仅当本地磁盘设备至少有 4 GB 的额外可用空间时,才会创建 VMFS 数据存储。要与本地 VMFS 数据存储共享引导设备,您需要使用 142 GB 或更大的本地磁盘。
如果找不到本地磁盘,则 ESXi 7.0 会在降级模式下运行,即某些功能处于禁用状态,且/scratch
分区位于 RAM 磁盘上并链接到/tmp
。您可以重新配置/scratch
以使用单独的磁盘或 LUN。为实现最佳性能和内存优化,请勿在降级模式下运行 ESXi。升级到 ESXi 7.0 的过程会对引导设备重新进行分区,将原始核心转储、locker 和暂存分区整合到 ESX-OSData 卷中。如果未配置自定义核心转储目标,则默认核心转储位置为 ESX-OSData 卷中的一个文件。
因磁盘使用的是英特尔 S3500 80G 拆机硬盘,不足 142GB ,新版本会自动将磁盘分区为引导磁盘和 ESX-OSData 卷(即 Virtual Flash 分区),默认没有 VMFS 数据存储卷,也就导致图1中的问题。
解决
对于服务器上巨大的磁盘来说,如此策略当然没有问题,还可以免费提升虚拟机性能,何乐而不为,但是作为家用软路由就很是浪费了,但是注意:此分区不能直接使用磁盘分区工具进行删除等硬性操作,会导致系统崩溃或者虚拟机无法正常创建或引导。
▲ 在启动显示以上界面时在3秒内按下 SHIFT+O 组合键(字母O不是数字0)即可修改引导选项。
ESXi 7.0 U1c 之前
在最后加上 autoPartitionOSDataSize
参数即可定制虚拟闪存大小。
<ENTER: Apply options and boot>
> cdromBoot runweasel autoPartitionOSDataSize=8192
注意:默认已有 cdromBoot runweasel
段,务必需要在后面加上空格分隔参数!!默认单位为 MB ,例子为分配 8G,毕竟磁盘只有可怜的 80GB 容量。
然后一路安装即可,在部分主机上使用 DP 接口可能无法看到此界面,可以在按电源后一直按着组合键或者尝试使用 VGA 接口显示器(如果有的话)。
▲ 重新安装后即可看到虚拟闪存已经变成 8 GiB ,存储空间已经恢复正常。
ESXi 7.0 U1c 之后
Update 1c 版本不再支持上述参数,更改为 systemMediaSize
参数,且不再支持手动指定大小,而是系统预制了三个参数。
值 | 解释 |
---|---|
min | 占用33GB,适合单盘或嵌入式产品 |
small | 占用69GB,适合服务器内存512GB内存 |
max | 占用所有可用空间,适合具有TB级存储空间的产品 |
<ENTER: Apply options and boot>
> cdromBoot runweasel systemMediaSize=min
附录
参考链接
- About the boot.cfg File - vmware Docs
- ESXi 系统存储概述 - vmware Docs
- Changing the default size of the ESX-OSData volume in ESXi 7.0 - virtuallyGhetto
- 如何不让ESXi7.0的虚拟闪存占掉你的小硬盘 - 简书
- 完美移除ESXI 7.0默认虚拟闪存,并支持自由调整,释放被占用的磁盘空间 - Hewitt's Blog
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2024-11-19 15:26 PM