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 稳定可靠,自身占用开销小,接近物理机性能。但是这几年使用中发现不少痛点。
在回答这个问题前,先看 ESXi 带来的优点。
如果换其他平台,上面三点如何解决?
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 。
1
godall 87 天前
PVE 呢?
|
2
NevadaLi 87 天前
显卡只能直通某一台虚拟机。如果有多台虚拟机,无法共享 GPU 算力。
同一显卡多台虚拟机共享,需要 vGPU (授权警告。。) |
3
NevadaLi 87 天前
不建议 hyperv ,虚拟化本身没有问题,但对于克隆什么的不友好,也没有什么统一的资源管理(比如 iso 仓库,存储池)。每次管理也需要 rdp 上去,不如 web 方便,有些眼花缭乱。
建议 pve |
4
nilai 87 天前
KVM 呢?
|
5
SophieEZzz 87 天前
gpu 需要支持虚拟化才能解决前两个问题,第三个也许可以通过软件解决
可以试试 pve 以及我都给 esxi 和软路由额外配个 ups |
6
molezznet 87 天前 via Android
硬件不支持 esxi ,只能用 pve 。自动定期导出到另一台
|
7
luojiyin87 87 天前
ups ? 321 文件备份原则
|
8
Bazingal 87 天前
PVE+GVT-g 应该能解决你的痛点
|
9
snipking 87 天前
虚拟化不是刚需,直接 Linux + Docker 就行了
|
10
wheat0r 87 天前
“Hyper-V 虚拟化方案是 Type1 ,对标 ESXi ,性能比 VMware ,VirualBox 这类 Type2 好。”
看看这是在说啥 |
12
archxm 87 天前
没有折腾价值
|
13
defunct9 87 天前
kvm 就完事了
|
14
my101du 87 天前
HyperV 里的 Windows 支持挂 USB 设备啊。 在连接的时候,有个高级选项。
|
15
Excepti0n 87 天前
pve+sriov 可能可以解决
|
16
Mithril 87 天前
虽说 PVE 大概能满足你的需求,但 PVE 本身的更新也是问题。
他就是个修改过的 debian ,一旦有安全漏洞需要补丁你照样可能需要重启。 但相对的它也就只是个 Linux+webshell ,你 Linux 的使用经验是完全适用的,出了问题你也可以自己搞定。 |
18
hez2010 87 天前
关于 GPU 虚拟化,如果你用 Hyper-V 的话则可以通过 GPU-PV 来启用 GPU 分区和虚拟化,这样一块 GPU 就可以被多台虚拟机共享了。
不过 Linux 需要用微软那个 WSL2 的 kernel ,不然没有 GPU 驱动无法调用 Hyper-V 虚拟化出来的 GPU 。 |
19
YongXMan 87 天前
两台 ESXI + vsphere 稳定跑了几年了,没有掉过链子。
|
20
Jinnrry 87 天前
PVE + vGPU unlock
|
21
msg7086 87 天前
ESXi 不是一个适合 DIY 的东西。如果掉电了,那是没有 UPS 的锅。如果换证书换炸了,那基本上也是你的锅。ESXi 就是你不动他他就很稳,但是但凡你要搞点什么事,就炸了。这是我从 ESXi 5.5 平台上学来的血泪教训。
PVE 没有很多痛点,只要你熟悉 Linux ,什么都可以按照你的心思来,一切都在你自己的掌握中。怕存磁盘的文件系统断电爆炸?你可以用 lvm raw device 。需要 snapshot ?你可以用 zfs 。需要高可用? ceph 走起。内核补丁打完要不要重启也是你自己决定,想玩集群也可以玩,热迁移到另一台母鸡上然后滚动重启也是可以做到的。 显卡共享算力这个,你买了支持共享共享算力的显卡了吗。 |
23
yuantinghg 87 天前 via Android
切 PVE 吧
|
24
iloveayu 87 天前
个人用就 PVE 吧,ESXi 这种黑盒想稳还是得靠原厂 support 。
|
25
povsister 87 天前
ESXi 迁移 PVE 用户
稍微会玩一点的,搞 AIO 肯定都还是偏向于使用 linux ,那么 pve 可以 lxc 直接以极低的 overhead 跑 linux 就是一个很大优势。 如果实在需要 guest kernel ,那 pve 也有完善的 vm 支持和模板可以用。 而且,#21 说的很对,如果你对 linux 熟悉,那你甚至可以把 pve 搞成任何你需要的样子。 这一点,ESXi ?就是只能当个 hypervisor 用罢了。 |
28
roidinev 87 天前
支持 kvm +linux 方案。一切在自己掌控下 也容易更新。就是需要折腾
|
29
hertzry 87 天前 via iPhone
Hyper-V 能挂载外部设备。
|
30
zyq2280539 87 天前
最近自学了 Linux 运维,感觉底层用 Linux 然后使用 KVM 方式使用虚拟机更方便。😄
|
31
512357301 87 天前 via Android
boot2docker 无敌
|
32
haython 87 天前
之前在公司内部用 pve ,虚拟出来几个机器,不知道怎么回事,过一段时间就会把整个公司网络搞挂掉,只要把这个 pve 机器断网或重启就没事了,最后只能卸载了,后来就没出现过了
|
33
LoliconInside 87 天前
@wheat0r
Hyper-V 确实是第一类 VMM ,直接与硬件交互并调度资源,开启 Hyper-V 功能后,Windows 宿主机本身也是作为一个特权虚拟机运行的(类似 Xen 中的 Domain 0 )。 VMWare Workstation 、VirtualBox 等方案就是第二类 VMM ,依赖于宿主机操作系统进行硬件资源分配。 |
37
gbadge 87 天前
越少越好,只要必要
|
38
hez2010 87 天前
@NevadaLi Windows Admin Center 是装在网关上用来管理集群的,这个网关的资源你得给够。反正我给了 2 核 4G 的资源给它用起来非常流畅。
|
39
qizheng22 OP 目前选择了 Linux+Docker ,除了远程桌面有点蛋疼。大多数远程桌面不支持 Wayland ,Gnome 的 RDP 不能保存会话,退出远程后,所有程序都关了
|
40
4s4IYOLfT1s3InRR 87 天前
上边好几个 v 友都说了 pve 可以解决,非要用 linux+docker ,这不纯若只么,如果只是远程操控自带的 vnc 完全够用
|
41
wyxls 87 天前
从 OP 需求上看,PVE 比较适合而且灵活,想走 Linux 可以直接创一个 LXC 容器出来,当原生 Linux 用,同时兼容 windows 虚拟机,硬件直通也有基本兼容
我自己都是搭配 NAS 的大容量存储,每周给全容器做增量备份操作,只要不是备份挂了,换一套 x86 硬件装上 OS ,然后一通还原就能恢复全部服务 当然如果涉及到生产力,建议还是上商业化的方案 |
42
webcape233 87 天前 via iPhone
以前也试过 pve ,感觉还是麻烦。 现在我是直接 archlinux ,大部分工作直接里面用,一些测试开发环境就是 kvm 虚拟机,用 cockpit 网页版或者 virmanager ,也没必要服务都容器化,直接运行,简单省心性能好,也很稳。
|
43
RobinHuuu 87 天前 via iPhone
linux all in one 就好了
|
46
user100saysth 87 天前
话说 OP 的 ALL IN BOOM 处理器是啥//?
|
48
Greenm 87 天前
楼主写了这么多对比和分析,什么 vmware ,hyperv ,偏偏就没写 ESXi 的直接对比方案 PVE ,PVE 有着各种个样的优点(我自己也选择的 PVE ),评论也有很多推荐 PVE 的,到底是什么原因让楼主依然选择了 Linux + vmware ?
是 OP 根本没考虑到没听说过 PVE 吗? 没了 PVE 方案的对比,你正文里的方案对比犹如鸡肋,食之无味弃之可惜。 |
49
Hopetree 87 天前
最开始 EXSI ,后面换成 PVE ,我感觉 PVE 可玩性更高,也很稳定,EXSI 是商用的,稳定是第一基本不需要质疑
|
51
qizheng22 OP @Greenm PVE 以前只是装过一次,没用过,所以无法对比。现在用 Linux ,VMware 暂时没用到。用 Docker 是因为很多系统各自需要的数据库对版本有要求,用 Docker 方便实现各版本数据库使用。
CPU 是 7700K ,48GB 内存 以前用 ESXI ,一共 3 个虚拟机:开发环境(数据库,各种中间件),基础服务(NAS 文件共享,云笔记,博客等),开发机(图形化的 Linux ,一般用 idea 或 vscode 远程开发,偶尔连上去),还有一个 windows 备用,基本没启动。偶尔要下载或者 office 等才开。 用 EXSI 时,开发环境和基本服务各分 8G 内存,开发机分 16G 内存。用 Linux+Docker 后,一般 20G 就够用了。 分成不同虚拟机,分配资源还是会有一定浪费,但又不得不留一些剩余。 |
52
shentar 87 天前
我的经验是数据远比系统重要。数据跟系统不要耦合。数据一定是放在标准的文件系统上面,不要指望什么软硬 raid 。重要数据手动复制多份冗余。系统无状态,可随时重装。
|
53
8355 87 天前
可能我会选择 All In Mac Studio / Mac mini
能稍微安心点 但是我确实没有 op 这种连续 2 年多的长期使用经验 |
54
xinmans 87 天前
建议 pve+开个 VM 直通硬盘部署 pbs 备份。 无论怎么坏,只要 pbs 的数据(可以用 zfs )在,就可以恢复出来。我实践过最坏的情况是,pve 都坏了,vm 都看不到。
我是按照如下步骤逐一恢复的。 1. 部署 pve 2. 开个 vm 部署 pbs 3. 直通之前有 pbs 数据的 zfs 文件系统的 sata 硬盘到 pbs 4. 在 pbs 里能看到所有的配置和备份的 vm 5. 在 pve 里逐一恢复备份在 pbs 里的 vm 至此,所有的数据和配置都自动恢复了,唯一需要手动的是 pve 里配置 pbs 的存储。 所以 allinboom 没问题,只要备份做得好,怎么 boom 都可以自举恢复(除非 pbs 的数据没了,比如机器爆炸了,硬盘掉电挂了,不过我对 zfs 这方面还是有信心的) |
55
qizheng22 OP @shentar 赞同。有时候偷懒,软件用 apt install 安装,配置文件在/etc 里。用久了,配置文件里有很多,比如 nginx 。突然 boom 搞起来很麻烦。有些自己都不记得了。
|
56
qizheng22 OP @xinmans zfs 很久以前就听说很好,一直没试过,有点不敢。以前用过 brafs 文件系统,感觉也没多大区别。最后还是选择 ext4 ,毕竟这么多年,还是值得信赖。
硬盘直通是好办法,存储盘直通没问题。但是有时想让其他虚拟机共享 SSD 的速度。直通的话只有一个虚拟机能用了。硬盘有限,其他虚拟机就只能用虚拟磁盘。 |
57
zephyru 87 天前
我装了一圈后,选择了 windows+VMWare Workstation
选择 windows 还是简单,方便维护,家用的稳定性其实也差不多说的过去 不过长时间开机内存占用会维持在高位,重启,也算是正好应对差不多每几个月一次的更新 之前用 wsl 体验不佳,所以也不怎想用 Hyper-V 感觉也没什么明显优势 |
58
seven123 87 天前
ESXI 几年了,只要自己不乱搞,稳得很
|
59
qizheng22 OP @zephyru win 系统开发的话有点烦。项目目录要设置排除目录,虽然一般 ide 会自己做了这个工作。各种环境变量配起来比 linux 烦琐。还有经常改 hosts ,不像 linux 直接 vi /etc/hosts 。不过 win 下的远程桌面体验没得说。但现在的远程开发工具基本都只支持 ssh 连 linux
|
60
qizheng22 OP @seven123 确实稳,不过后面换机器,考虑到它不支持大小核利用,还是尽早切换出来。尤其这次事件,没什么好的工具能读 vmfs 文件系统,让我下定决心换了
|
61
XXOO133 87 天前
PVE 可替代,楼上几位都说了,另外,作为过来人,建议你还是不要把系统装 U 盘了,我之前 PVE 装 U 盘里,用了 3 年多,前段时间还在坛子里说可靠,结果近几个月出现问题了,重启有时候起不起来,后面系统还是换装到固态硬盘了。
|
62
zzxCNCZ 87 天前
all in boom 总有一天会 boom ,提前做好恢复准备就好,pve 虚拟机导出一份备份,虚拟机系统使用硬盘直通挂盘,哪天 boom 了恢复起来也很快
|
63
Ackvincent 86 天前
搞个双机热备好了,除了费电没什么毛病。
|