目录
收起
【前言】
【概述】
【系统安装】
【系统资源占用】
【创建/编辑虚拟机】
【硬盘直通】
【PCI硬件直通】
【显卡直通】
【虚拟光驱】
【自动开机、关机】
【网络管理】
【稳定性】
【CPU性能】
【授权】
【Docker】
【温度显示】
【特别的磁盘阵列】
【总结特点】

【前言】

虚拟机下的软路由、NAS玩了几个月了,当初选择虚拟系统真是纠结得很,觉得哪个都好哪个都有问题。试来试去,发现已经把ESXi、PVE、unRaid这三大虚拟系统(unRaid有点冤)都折腾了几遍了。

这里罗列记录一下,也许也可以帮你少纠结一点。

我会粗略描述一些操作步骤,旨在体现操作复杂度等,可能无法当做完整教程。有需要了解详细步骤的同学可以参看其它大神的文章。

【概述】

ESXi,是VMWare vSphere Hypervisor套件之下重要组件。前身是ESX,依赖Linux源码,后来抛弃Linux源码做成了ESXi。整个产品商用气息浓重,界面清晰易用,但硬件兼容性较差(主要面向服务器),没什么扩展性(毕竟不是linux)。

PVE,全称Proxmox Virtual Environment,是基于Debian的Linux系统,虚拟机内核为KVM。硬件兼容性优秀。界面功能不强,很多操作要靠命令行,但扩展能力几乎是无限的。

unRaid,其实是个NAS系统,是基于Slackware的Linux系统,虚拟机内核也是KVM。磁盘阵列管理非常有特色,灵活性很高。同时还有很不错的插件、Docker和虚拟机支持。

【系统安装】

ESXi,官网获取iso镜像,做成启动盘来安装。

iso引导界面。整个安装过程界面都很简陋。

有磁盘选择和密码设定等简单环节。

安装成功后重启进入系统,会看到管理地址的提示。

此时可以按f2进入这个系统设定菜单。主要是用来解决网络设定等问题。

PVE,同样是官网获取iso镜像,做成启动盘来安装。

iso引导界面

有磁盘、密码、网络等设定过程。

同样,安装重启后即可看到管理地址。也可以此时登陆控制台进行高级操作。

unRaid,比较特别,需要准备一个U盘,制作启动U盘。可以从官网的下载制作工具(exe)来制作。也可以直接下载系统的zip包,如果要用开(po)心(jie)版,也只能下载zip包。

如果是zip包,需要解压到U盘,修改卷标为UNRAID,执行make_bootable.bat。

插上U盘,设置好引导,启动后直接进入系统。可以看到后台管理地址,也可以登陆控制台。

【系统资源占用】

以下测试数据来自于我笔记本的Win10下的VMWare虚拟机,仅供参考。

ESXi 7.0b,安装iso大小351M,系统占用130G硬盘,待机内存1.1G,待机CPU约1-6%,系统启动时间61秒。
你没看错,系统占用130G磁盘!如果你是128G的ssd,可用空间直接就没有了!其实罪魁祸首是ESXi

7.0版本安装系统会默认分配120G的虚拟闪存(安装系统启动前,可以用shift+o,加上autoPartitionOSDataSize=...来改变默认大小,单位MB)。另外,ESXi
6.7安装之后默认占用磁盘空间约10G。

PVE 6.2-4,安装iso大小862M,系统占用6G以上硬盘,待机内存900M,待机CPU约1%,系统启动时间20秒。
安装系统时,磁盘空间会动态分配,除了交换分区等,主要两个分区是:系统分区和LVM分区,后者提供给虚拟机磁盘使用。不知道具体什么分配算法,实测得到:
16G硬盘安装PVE,交换分区1.9G、系统3.6G(1.8G已用)、LVM 6G。
128G硬盘安装PVE,交换分区4G、系统31G(1.8G已用)、LVM 74G。

unRaid 6.8.3,zip包213M,系统必须放入U盘(所需空间不足300M),占用23G硬盘空间,待机内存不足200M,待机CPU约1-3%,系统启动时间59秒。
23G硬盘空间中,启动Docker会默认创建20G的镜像文件。不用Docker可以手动删除镜像,也可以自定义镜像大小,还可以采用文件夹的方式而不是固定大小的镜像。

【创建/编辑虚拟机】

ESXi,创建/编辑虚拟机,比较简单易懂

创建按钮,你应该一眼就能找到了。

创建(1/2)前面的指引步骤,降低了新手理解难度。

创建(2/2)后面也有详细参数的设定。

编辑虚拟机跟创建时的详细参数差不多,每一项都比较好理解,多数可以进一步展开。

PVE,创建/编辑虚拟机,功能也比较全

创建按钮,你能想到藏在右上角吗?

创建也是多步骤指引,但是设计细节还是略不友好(步骤太多、有几个步骤不能默认)。

编辑虚拟机变成了截然不同的界面

unRaid,需要先设定并启用阵列后才能使用虚拟机。(阵列相关后面再讲)

虚拟机放在靠后的菜单里面了(毕竟主要是做NAS的)

创建的系统选择倒是挺直观的

创建/编辑界面完全一样,可设定参数比较有局限

创建/编辑可以切换为xml形式,看起来比较高级,但每次用界面编辑都会导致xml修改丢失。。。

【硬盘直通】

三个虚拟系统的虚拟硬盘性能都不怎么样。具体虚拟磁盘的性能问题可以见我另一篇分享(https://zhuanlan.zhihu.com/p/271901267)。如果真的需要高性能磁盘,最好还是做硬盘直通。

ESXi,需要命令行操作找到硬盘并挂载(RDM),然后在界面添加此磁盘。

首先要先开启SSH(最好在完成操作后再关上)

SSH下找到硬盘并执行命令挂载为vmdk文件

虚拟机中添加刚才的vmdk磁盘(ESXi 6.7以上理论上可以直接添加裸盘,但有额外要求)

PVE,只需要命令行操作

SSH下找到硬盘并直接添加给虚拟机

unRaid,先用命令行找到磁盘名,然后界面添加

类似pve,用SSH查到硬盘名

添加Manual类型硬盘,并指定前面找到的硬盘全路径

【PCI硬件直通】

网卡、声卡、sata控制器等都可以用PCI直通的方式供虚拟机使用(显卡相关后面详述),性能会好过模拟设备。使用硬件直通,需要CPU有Vt-d功能,并在bios中开启,且要求不可以使用动态内存。

还有一种叫SR-IOV直通的,能力更强一些,但要求较高,我还没成功过,就不聊了。

ESXi,直接界面操作

在硬件列表中切换需要直通的设备为活动状态。7.0以后,直通切换无需重启系统。

添加新PCI设备、选择需要的设备。

PVE,先修改系统配置打开直通功能,然后就可以直接界面操作了

引导配置加上一段,执行update-grub更新

模块配置确保包含这些模块,然后重启

此后,就可以随时添加任意一个PCI设备了

unRaid,6.9.2之后可以在系统工具中屏蔽要直通的设备,然后在虚拟机配置中勾选要直通的设备即可。(6.9.1以及之前需要安装VFIO-PCI Config插件)

在Tools/System Devices中选择要直通的硬件,打勾、保存、重启。(有一些情况会失败,甚至无法开机,好在你可以拔掉U盘在另一台电脑上修复一下U盘上的配置文件)

在虚拟机配置中会出现新的可直通设备,勾选即可直通。

【显卡直通】

显卡本来也是PCI硬件之一,但是会有诸多原因导致它的直通不会那么容易。

ESXi,基本操作还是PCI硬件直通的操作,但可能遇到了以下诸多的限制:

  • 核显直通后在Win10下驱动错误,代码43(据说其它系统可以直通,但不能显示)
  • 想直通独显,需要在bios屏蔽核显,否则可能无法启动或蓝屏(有的主板没这个限制)
  • NVIDIA显卡直通需要配置hypervisor.cpuid.v0 = FALSE,否则驱动错误,代码43
  • ESXi7.0以后切换显卡直通不需要重启,但是已经直通显卡再重启会导致直通失败,手动切换两次可恢复。这个BUG导致直通显卡的虚拟机是无法开机自动启动的。

PVE,除一般PCI硬件直通的步骤外还需要一些配置,具体操作因为pve版本不同、硬件不同等差别很大。几乎没有限制,技术够牛(改bios、改源码……),基本能直通成功。这里只按照我遇到的简单情况说明下(PVE 6.4-4、Q87主板、NVIDIA显卡)。

在/etc/modprobe.d/pve-blacklist.conf添加这些驱动黑名单,随后重启。

虚拟机的硬件配置中,机器(machine)设置为q35。

添加PCI设备,需要勾选“高级”,随后勾选主GPU、PCI-Express

unRaid,系统帮忙解决了很多直通问题,仅在虚拟机中设置即可,连硬件的屏蔽都省了。

直接把默认的VNC虚拟显卡改成想要直通的显卡即可。也可以添加多个显卡。声卡一样。

【虚拟光驱】

虚拟光驱最大的作用是加载iso光盘镜像,用于安装系统。少数人还需要把真的光驱给虚拟机用,用来读取/刻录光盘。

ESXi,支持主机设备和ISO镜像,主机设备还能选具体哪一个设备

PVE,也支持主机设备和ISO,但是主机设备下面没有具体设备选择

unRaid,直接被简化成了安装ISO,不支持主机设备

【自动开机、关机】

有时候虚拟系统主机会需要重启或是意外断电等情况,此时我们需要某些虚拟机会在系统启动后按顺序自动启动。

ESXi,一次性整体设置自动启动的开关、顺序、延迟时间等。

PVE,需要在每一个虚拟机里面设置自动启动的开关和顺序。

unRaid,每个虚拟机可以开关自动启动,启动顺序就是但是不能调整顺序和间隔时间。

【网络管理】

ESXi,有众多的网络配置功能,完全可以自己组建各式各样的复杂虚拟网络拓扑结构。不过家用的话,基本用不上,甚至你可能都不需要碰到这个界面。

PVE,网络管理简单一些,功能也没那么强,但家用足够了。

unRaid,几乎只有网卡设置,不过一般用途倒是够了。只是每次修改网络配置必须先停掉阵列(所有虚拟机、Docker都要关闭)。

【稳定性】

单说长时间运行的话,三者没发现什么区别,都很稳定。但如果你跟我一样喜欢“瞎折腾”,那就很容易出事了。

所以ESXi是最稳的,界面清晰、扩展性不强,所以也不太会出故障。PVE、unRaid折腾多了都很危险。尤其是unRaid,似乎虚拟机部分还没那么成熟,花样越多坑越多,而且很多设定(比如网络、直通)必须通过重启或关闭磁盘阵列(所有Docker、虚拟机都要关闭)来生效。

【CPU性能】

ESXI使用自己的VMware内核,CPU优化相当好,损耗趋近于0%。

PVE与unRaid接近(都是KVM),损耗大约是4-10%的样子。

详细的对比我就不展示了,受影响因素太多,我也没搞清楚,容易误导大家。总的来说三者差距不会很大,如果你的CPU性能本身有一定过剩,就不用特别纠结这点点损耗了。

【授权】

ESXi,安装即可试用60天。官网可以免费注册,会有功能限制,但个人足够用了。
最便宜的1年期授权大概是1700人民币以上。
网上可以搜注册码。

PVE,算是免费吧。不注册会每次登陆有个提示框,且不能更新官方稳定源。
最便宜的1年期授权是85欧元。
可以通过修改代码屏蔽提示,还可以添加免费更新源来更新。

unRaid,针对U盘注册,不注册几乎等于不能用。可以免费注册30天试用版。
6块硬盘的永久授权是59美元,允许一年换一块U盘(毕竟是U盘杀手)。
网上有开(po)心(jie)版。

【Docker】

如果你没玩过Docker,强烈建议你入坑~ 比虚拟机更轻便、灵活。很多好用的Linux软件都会有Docker的版本,很好地解决了兼容性等问题。

ESXi,不支持Docker,估计未来也不会支持,毕竟不是Linux。你只能先装个linux虚拟系统,再用docker。

PVE,本身不直接支持Docker,但是可以自己安装相关软件。

unRaid,可以运行Docker,还有方便的界面支持。但是虚拟缓存有点麻烦(内存不足时才用),算是瑕疵。

【温度显示】

如果不是用过这几个虚拟系统,我还真想象不到温度显示也会是一个需要考虑的问题。

ESXi,需要主板支持IPMI,基本只有服务器才行了。否则,就完全看不到温度。

PVE,需要安装软件和手改界面代码。不同机器情况还不一样,要解决得有点编程基础。

unRaid,默认只显示硬盘温度。需要安装温度显示插件来显示CPU、主板温度。

【特别的磁盘阵列】

这是unRaid独有的,也是它最初的主要卖点。它不同于真正的raid阵列,是一种灵活的文件级磁盘空间组织方式。

使用中体会到的几个优点:

  • 硬盘数量可以随时增加(减少也能,但会麻烦点)。
  • 每一块盘上面都是独立的文件系统(阵列只剩一块盘,也能读出部分数据)。
  • 结合共享目录做设定,可以指定不同目录的不同阵列分配方案。

但这个文件系统的性能不是太好,连续满负荷读写会突然性能下降,即使有ssd缓存也不行。不知道是BUG还是某些机制决定了这样的特性。

【总结特点】

ESXi,注重企业支持,界面简单易用,自身功能较强,对硬件要求较高,扩展性较低。
适合初学者、不想太折腾的、有服务器主板的(例如Gen8这种家用服务器)。迷茫的时候,优选ESXi吧。

PVE,兼容性最好,扩展性好,界面友善度欠佳,需要一定Linux基础。
适合低端机型、懂Linux的、爱折腾的。PVE玩得溜了之后,看其它的系统都像是弟弟。(可惜我玩不溜)

unRaid,Docker、磁盘阵列、显卡直通、虚拟U盘等都是亮点。必须U盘引导有点麻烦(廉价U盘7x24工作,心还是很慌)。特色功能多,出新快,因此问题也多。
适合直接做NAS、玩PT,尤其适合做家庭影视库、HTPC,玩一拖二也是个不错的选择。比较有可玩性,又不会难度特别高

ESXi、PVE、unRaid对比的更多相关文章

  1. 【恒天云】OpenStack和CloudStack对比研究报告

    摘自恒天云:http://www.hengtianyun.com/download-show-id-8.html 1. 概述 常见的IaaS开源平台有OpenStack.CloudStack.Euca ...

  2. All in one入门之All in one和三种PVE、ESXI、Windows Server方案

    前言 All in one 前段时间,在某多多上花了446大洋弄了一台J4125准系统小主机,再花了一点钱买个杂牌msata和"全新"三星内存条,入坑了All in one. Al ...

  3. ESXi内虚拟机带快照与不带快照的情况下简单性能对比.

    1. 两个虚拟机配置相同都为2vCPU 8G内存 一个虚拟机内包含较多的快照且有内容梗概 一个虚拟机不包含快照直接只有一个虚拟机的vmdk磁盘文件 操作系统未windows server 2008r2 ...

  4. VMware vSphere 5.x 与 vSphere 6.0各版本功能特性对比

    各版本中的新特性及功能对比:   VMware vSphere 5.0 VMware vSphere 5.1 VMware vSphere 5.5 VMware vSphere 6.0 ESXi 5. ...

  5. [转帖]在VMware ESXi服务器上配置NAT上网 需要学习一下。

    http://blog.51cto.com/boytnt/1292487 在使用VMware workstation的时候,我们经常以NAT的方式配置虚拟机的网络,与桥接方式相比,这样配置可以让虚拟机 ...

  6. ESXI虚拟机磁盘管理(精简-厚置-精简)

    VMwareESX/ESXi 精简置备(thin)与厚置备(thick)虚拟机磁盘之间转换 VMwareESX/ESXi 虚拟机磁盘thin与thick之间转换 注意:转换前请先关闭虚拟机!!! 一. ...

  7. VMware Converter 迁移物理机到 esxi 虚拟机

    http://dngood.blog.51cto.com/446195/685082/ VMware Converter  有啥用? VMware Converter 是一款能将物理电脑系统.VMwa ...

  8. Vsphere中ESXi主机ssh开启的三种方法

    ESXi 5.5是直接安装在物理主机上的一个虚拟机系统,本质上是一个Linux系统. 平时可以通过VMware Client端或者VMware vCenter进行管理,但对于一些特殊的VMware命令 ...

  9. Linux的桌面虚拟化技术KVM(四)——虚拟机镜像格式对比与转换

    Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机 Linux的桌面虚拟化技术KVM(二)——远程桌面管理 Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照 (1).常用镜像格 ...

  10. 记一次 vmware ESXI 升级

    旧服务器的esxi版本为 60(6765062),计划安装成为最新版 的为ESXI 60  (14513180),中间波折遇坑多次,现记录如下: 一.开启ESXI的SSH 访问权限(可以通过按F2进入 ...

随机推荐

  1. [转]CMake:相关概念与使用入门

    CMake:相关概念与使用入门(一) CMake:搜索文件和指定头文件目录(三) CMake 子工程添加 根目录中他文件夹里的cpp文件 翻译 搜索 复制

  2. JAVA Swing日期选择控件datepicker的使用

    声明:本控件来自互联网,仅可应用于个人项目,不可商用,如您未遵守造成的任何问题请自行承担点击下载 datepicker.jar 使用方法1.导入 在eclipse中,单击你的项目名,右键–>Bu ...

  3. 即时通讯技术文集(第37期):IM代码入门实践(Part1) [共16篇]

    为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第37 期. [- 1 -] 一种Android端IM智能心跳算法的设计与实现探讨(含样例代码) ...

  4. WSL设置中文、修改默认Root登陆、添加右键菜单

    1.设置中文 首先安装 aptitude 管理工具 #apt-get install aptitude 然后安装语言环境并进入语言环境设置. #aptitude install locales #dp ...

  5. 注册中心如何选型?Eureka、Zookeeper、Nacos怎么选

    这是小卷对分布式系统架构学习的第9篇文章,第8篇时只回答了注册中心的工作原理的内容,面试官的第二个问题还没回答,今天再来讲讲各个注册中心的原理,以及区别,最后如何进行选型 上一篇文章:如何设计一个注册 ...

  6. 深入剖析数据删除操作:DELETE 语句的使用与管理实践

    title: 深入剖析数据删除操作:DELETE 语句的使用与管理实践 date: 2025/1/8 updated: 2025/1/8 author: cmdragon excerpt: 数据删除( ...

  7. 自定义快捷命令程序(VC++加批处理)

    一 概述 在看<从小工到专家-程序员修炼之道>时,看到建议使用Shell,很有感触.在很多时候,通过键盘操作,比鼠标的确会块很多,如果能用好shell命令(或批处理命令)   ,的确能节省 ...

  8. Linux:yum

    yum介绍 [yellow dog updater,modified],一个在Fedora和RedHat以及SUSE.Centos中的shell前段软件包管理器 能够自动的从指定的服务器自动下载RPM ...

  9. IDEA 统计代码量

    参考:链接 打开setting 找到Plugins,打开插件市场 搜索Statistic ,点击下载 重启IDEA即可 问题 idea插件安装后不显示 插件版本与idea本身版本不同导致的不兼容.解决 ...

  10. Vite构建项目记录

    背景 微信推送了一些公众号文章,所 vite 已经跟新到 v6 版本了,于是构建一个 vite 项目看下啥变化 过程 直接打开 https://vite.dev/ 官网,切换问中文语言,找到此处 ht ...