2年前 (2021-02-01)  技术资料 |   抢沙发  1544 
文章评分 0 次,平均分 0.0

【前言】

虚拟机下的软路由、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镜像,做成启动盘来安装。

ESXi、PVE、unRaid对比
iso引导界面。整个安装过程界面都很简陋。
ESXi、PVE、unRaid对比
有磁盘选择和密码设定等简单环节。
ESXi、PVE、unRaid对比
安装成功后重启进入系统,会看到管理地址的提示。
ESXi、PVE、unRaid对比
此时可以按f2进入这个系统设定菜单。主要是用来解决网络设定等问题。

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

ESXi、PVE、unRaid对比
iso引导界面
ESXi、PVE、unRaid对比
有磁盘、密码、网络等设定过程。
ESXi、PVE、unRaid对比
同样,安装重启后即可看到管理地址。

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

ESXi、PVE、unRaid对比
如果是zip包,需要解压到U盘,修改卷标为UNRAID,执行make_bootable.bat。
ESXi、PVE、unRaid对比
插上U盘,设置好引导,启动后直接进入系统,可以看到ip,同样用网页后台管理。

【系统资源占用】

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

ESXi 7.0b,安装iso大小351M,系统占用130G硬盘,待机内存1.1G,待机CPU约1-6%,系统启动时间61秒。
你没看错,系统占用130G磁盘!如果你是256G的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空间,可以自行删除和建立自定义大小空间。

【创建/编辑虚拟机】

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

ESXi、PVE、unRaid对比
创建按钮,你应该一眼就能找到创建按钮。
ESXi、PVE、unRaid对比
创建(1/2)前面的指引步骤,降低了新手理解难度。
ESXi、PVE、unRaid对比
创建(2/2)后面也有详细参数的设定。
ESXi、PVE、unRaid对比
编辑虚拟机跟创建时的详细参数差不多,每一项都比较好理解,多数可以进一步展开。

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

ESXi、PVE、unRaid对比
创建按钮,你能想到藏在右上角吗?
ESXi、PVE、unRaid对比
创建也是多步骤指引,但是设计细节还是略不友好(步骤太多、有几个步骤不能默认)。
ESXi、PVE、unRaid对比
编辑虚拟机变成了截然不同的界面

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

ESXi、PVE、unRaid对比
虚拟机放在靠后的菜单里面了(毕竟主要是做NAS的)
ESXi、PVE、unRaid对比
创建的系统选择倒是挺直观的
ESXi、PVE、unRaid对比
创建/编辑界面完全一样,可设定参数比较有局限
ESXi、PVE、unRaid对比
创建/编辑可以切换为xml形式,看起来比较高级,但每次用界面编辑都会导致xml修改丢失。。。

【硬盘直通】

三个虚拟系统的虚拟硬盘性能都不怎么样。可能跟我的设置方法有关,但我没深究了,如果真的需要高性能磁盘,最好还是做硬盘直通。

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

ESXi、PVE、unRaid对比
首先要先开启SSH(最好在完成操作后再关上)
ESXi、PVE、unRaid对比
SSH下找到硬盘并执行命令挂载为vmdk文件
ESXi、PVE、unRaid对比
虚拟机中添加刚才的vmdk磁盘(ESXi 6.7以上理论上可以直接添加裸盘,但有额外要求)

PVE,只需要命令行操作

ESXi、PVE、unRaid对比
SSH下找到硬盘并直接添加给虚拟机

unRaid,先安装一个插件,再用命令行找到磁盘名,然后界面添加

ESXi、PVE、unRaid对比
找到并安装Unassigned Devices插件,它可以自动加载非阵列中的磁盘
ESXi、PVE、unRaid对比
类似pve,用SSH查到硬盘名
ESXi、PVE、unRaid对比
添加Manual类型硬盘,并指定前面找到的硬盘全路径

【其它硬件直通】

网卡、显卡、sata控制器等都可以用直通的方式供虚拟机使用,性能会好过模拟设备。使用硬件直通,需要有开通主板的Vt-d功能,并且要求不可以使用动态内存。

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

ESXi,直接界面操作

ESXi、PVE、unRaid对比
在硬件列表中切换需要直通的设备为活动状态。7.0以后,直通切换无需重启系统。
ESXi、PVE、unRaid对比
添加新PCI设备、选择需要的设备。

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

ESXi、PVE、unRaid对比
引导配置加上一段,执行update-grub更新
ESXi、PVE、unRaid对比
模块配置确保包含这些模块,然后重启
ESXi、PVE、unRaid对比
此后,就可以随时添加任意一个PCI设备了

unRaid,使用插件配置要直通的设备,然后在虚拟机配置中勾选要直通的设备即可。(声卡和显卡可以无需插件配置,虚拟机配置中有专门的声卡、显卡配置项)

ESXi、PVE、unRaid对比
安装VFIO-PCI Config插件(不借助插件自行设置会比较麻烦)
ESXi、PVE、unRaid对比
在插件中选择要直通的硬件,打勾、生成配置、保存、重启。(有一些情况会失败甚至无法开机,好在你可以拔掉U盘在另一台电脑上修复一下U盘上的配置文件)
ESXi、PVE、unRaid对比
在虚拟机配置中会出现新的可直通设备,勾选即可直通。

【虚拟光驱】

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

ESXi、PVE、unRaid对比
ESXi,支持主机设备和ISO镜像,主机设备还能选具体哪一个设备
ESXi、PVE、unRaid对比
PVE,也支持主机设备和ISO,但是主机设备下面没有具体设备选择
ESXi、PVE、unRaid对比
unRaid,直接被简化成了安装ISO,不支持主机设备

【自动开机、关机】

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

ESXi、PVE、unRaid对比
ESXi,一次性整体设置自动启动的开关、顺序、延迟时间等。
ESXi、PVE、unRaid对比
PVE,需要在每一个虚拟机里面设置自动启动的开关和顺序。
ESXi、PVE、unRaid对比
unRaid,每个虚拟机可以开关自动启动,但是不能调整顺序和间隔时间。

【网络管理】

ESXi、PVE、unRaid对比
ESXi,有众多的网络配置功能,完全可以自己组建各式各样的复杂虚拟网络拓扑结构。不过家用的话,基本用不上,甚至你可能都不需要碰到这个界面。
ESXi、PVE、unRaid对比
PVE,网络管理简单一些,功能也没那么强,但家用足够了。
ESXi、PVE、unRaid对比
unRaid,几乎只有网卡设置,不过一般用途倒是够了。只是每次修改网络配置必须先停掉阵列(所有虚拟机、Docker都要关闭)。

【稳定性】

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

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

【CPU性能】

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

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

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

【授权】

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

ESXi、PVE、unRaid对比

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

ESXi、PVE、unRaid对比

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

ESXi、PVE、unRaid对比

【Docker】

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

ESXi,不支持Docker,估计未来也不会支持,毕竟不是Linux。

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

unRaid,可以运行Docker,还有方便的界面支持。但是虚拟缓存有点麻烦,算是瑕疵。

【温度显示】

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

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

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

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

【磁盘阵列】

这是unRaid独有的,也是它的主要卖点。一种很灵活的磁盘空间组织方式。

我喜欢的几个特点是:

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

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

【总结特点】

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

PVE,兼容性最好,扩展性好,界面友善度欠佳,需要一定Linux基础。
适合低端机型、懂Linux的、爱折腾的。

unRaid,Docker和磁盘阵列是亮点,虚拟机部分有一些亮点,但相比不那么稳。必须U盘引导有点麻烦(廉价U盘还是很容易跪的)。折腾阵列等配置的时候需要先关掉全部Docker、虚拟机,这样软路由都不敢放在上面了。
适合直接做NAS、玩PT,尤其适合做家庭影视库、HTPC,玩一拖二也是个不错的选择。

 

除特别注明外,本站所有文章均为安装打印机网原创,转载请注明出处来自https://www.azdyj.com/15965.html

发表评论

暂无评论

登录

忘记密码 ?

切换登录

注册