All In Boom 带来的思考

14 天前
 qizheng22

ESXi 7*24 小时稳定运行两年多,前几天拉闸换灯,没提前关电脑。重新开机时发现有台虚拟机找不到了,无法重新注册。目录里只有-flat.vmdk 文件。后来通过其他虚拟机挂载 vmdk 找回。

没过几天,ESXi 的 ssl 证书到期。替换证书重启无法进入系统。提示:

Shutting down firmware services... 
Using 'simple offset' UEFI RTS mapping policy
Relocating the modules and starting the kernel...

即使指定 ignoreHeadless=TRUE 也无法跳过。

虽然重装 ESXi 解决。但是在故障期间,我试着把硬盘拿出来备份数据,在读取 ESXi 的 VMFS 文件系统遇到不少阻碍。一般的磁盘工具无法识别,还有的只能识别很老版本的 VMFS 文件系统。还有一个数据恢复软件是收费的。

使用 ESXi 的初衷是为了隔离不同系统和运行环境。而 ESXi 稳定可靠,自身占用开销小,接近物理机性能。但是这几年使用中发现不少痛点。

  1. 显卡只能直通某一台虚拟机。如果有多台虚拟机,无法共享 GPU 算力。
  2. 未直通显卡的虚拟机无法 GPU 加速。浏览器/远程桌面等应用只能 CPU 软解码,导致 CPU 使用率占用高。
  3. VMFS 文件系统没有预想的通用,不能方便地通过其他系统或磁盘管理工具拿回文件。

必需基于 ESXi 的 All In One ?

在回答这个问题前,先看 ESXi 带来的优点。

  1. 可以 7*24 在线,只能手动更新。ESXi 本身只提供虚拟平台,只要没有功能 bug 和驱动问题。基本不用更新。
  2. 因为 ESXi 只是一个虚拟平台,在使用过程中非常纯净,不会担心因为安装其他乱七八糟的软件弄坏系统。而且支持 U 盘运行。(我用 U 盘稳定运行过一年,系统是加载到内存里里启动的)
  3. 系统自己占用 1G 多内存,不会有其他内存开销。基于 WEB 管理,非常方便。

如果换其他平台,上面三点如何解决?

  1. 对 7*24 小时的机器来说,影响最大的是重启。windows 现在的更新每月一次,可以关闭自动更新和自动重启。而 linux 大多数更新都不用重启。
  2. 无论是 Windows 还是 Linux ,用户文件基本只在用户目录里。只是一般 Windows 都会给最大权限,其他软件又不规矩,相对于 Linux 确实会产生更多垃圾文件。
  3. 在默认启动图形化系统后,Linux 轻量级桌面环境 xfce ,lxqt 占用内存 1G 以下。即使是 gnome ,kde ,占用 2G 以内。Windows 10 LTSC 是 2G 以下。都是可以接受的。

Windows+Hyper-V 还是 Linux+VMware ?

Windows 平台软件丰富,驱动支持好。Windows 下使用 Linux 子系统或 Docker ,需要开启 Hyper-V 。Hyper-V 虚拟化方案是 Type1 ,对标 ESXi ,性能比 VMware ,VirualBox 这类 Type2 好。能用 GPU 加速,但不支持 USB 。启用 Hyper-V ,会和其他虚拟类软件冲突。虽然最新的 VMWare 和 VirtualBox 虽然已兼容,但性能会有损耗。还有很多如安卓模拟器等依然会冲突。

Linux 下对于程序员来说开发环境搭建方便,大多数开发环境只需一条命令安装,玩 AI 也适合。VSCode ,JetBrains Gateway 等远程开发方案都只支持 Linux 。Linux 下原生支持 Docker ,大多数非图形化程序在 Linux 下运行效率高( Windows 的 Microsoft Defender 扫描,对有很多小文件的项目磁盘 IO 有较大影响)。VMWare Workstation 个人已完全免费,性能好,支持 USB 。

如果选择 Windows ,一定会安装 Linux ,因为 NAS 和 Docker 是刚需。而且现在两块数据机械硬盘都是 EXT4 格式,迁移成本大。

如果选择 Linux ,不一定会安装 Windows 。因为有笔记本电脑,Windows 下的电源管理比 Linux 强多了,笔记本电脑还是首选 Windows 。

5999 次点击
所在节点    程序员
65 条回复
godall
14 天前
PVE 呢?
NevadaLi
14 天前
显卡只能直通某一台虚拟机。如果有多台虚拟机,无法共享 GPU 算力。

同一显卡多台虚拟机共享,需要 vGPU (授权警告。。)
NevadaLi
14 天前
不建议 hyperv ,虚拟化本身没有问题,但对于克隆什么的不友好,也没有什么统一的资源管理(比如 iso 仓库,存储池)。每次管理也需要 rdp 上去,不如 web 方便,有些眼花缭乱。

建议 pve
nilai
14 天前
KVM 呢?
SophieEZzz
14 天前
gpu 需要支持虚拟化才能解决前两个问题,第三个也许可以通过软件解决
可以试试 pve
以及我都给 esxi 和软路由额外配个 ups
molezznet
14 天前
硬件不支持 esxi ,只能用 pve 。自动定期导出到另一台
luojiyin87
14 天前
ups ? 321 文件备份原则
Bazingal
14 天前
PVE+GVT-g 应该能解决你的痛点
snipking
14 天前
虚拟化不是刚需,直接 Linux + Docker 就行了
wheat0r
14 天前
“Hyper-V 虚拟化方案是 Type1 ,对标 ESXi ,性能比 VMware ,VirualBox 这类 Type2 好。”
看看这是在说啥
glcolof
14 天前
@NevadaLi Windows 21H2 (也可能从更早的版本开始)的 HyperV 里面没有这个限制了,很多游戏工作室都用 HyperV 开虚拟机来挂游戏。
archxm
14 天前
没有折腾价值
defunct9
14 天前
kvm 就完事了
my101du
14 天前
HyperV 里的 Windows 支持挂 USB 设备啊。 在连接的时候,有个高级选项。
Excepti0n
14 天前
pve+sriov 可能可以解决
Mithril
14 天前
虽说 PVE 大概能满足你的需求,但 PVE 本身的更新也是问题。

他就是个修改过的 debian ,一旦有安全漏洞需要补丁你照样可能需要重启。

但相对的它也就只是个 Linux+webshell ,你 Linux 的使用经验是完全适用的,出了问题你也可以自己搞定。
hez2010
14 天前
@NevadaLi Windows Admin Center 了解一下,现在的 Windows Server 早就不需要 rdp 进去管理了。
hez2010
14 天前
关于 GPU 虚拟化,如果你用 Hyper-V 的话则可以通过 GPU-PV 来启用 GPU 分区和虚拟化,这样一块 GPU 就可以被多台虚拟机共享了。
不过 Linux 需要用微软那个 WSL2 的 kernel ,不然没有 GPU 驱动无法调用 Hyper-V 虚拟化出来的 GPU 。
YongXMan
14 天前
两台 ESXI + vsphere 稳定跑了几年了,没有掉过链子。
Jinnrry
14 天前
PVE + vGPU unlock

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1070200

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX