在选择VPS主机时,管理员通常会查看硬件资源、比较价格并寻找最划算的解决方案。但很少有网站管理员会停下来思考将为其服务器提供支持的虚拟化技术。
今天,我们将研究市场上最流行的两种虚拟化解决方案KVM和OpenVZ ,看看它们如何影响您的主机服务。
什么是虚拟化?
虚拟化是一种技术,它使系统管理员能够将一台物理机器分割成多个独立的部分。这可以是任何东西,从您的家用计算机到强大的服务器集群。虚拟化的类型决定了分区的隔离程度。
基于硬件的虚拟化可让您创建完全独立的虚拟机 (VM)。此设置的主要组件是主机(物理硬件资源)、客户机(VM)和虚拟机管理程序(嵌入在主机软件、固件或硬件中的虚拟机监视器)。
基于硬件的虚拟化也称为完全虚拟化,因为它允许客户机完全独立于主机运行。例如,您可以让 Linux VM 在 Windows 物理机上运行,反之亦然。
这是操作系统虚拟化无法实现的。操作系统级虚拟化意味着配置系统内核以创建彼此独立运行的用户空间(通常称为容器)。容器有各自的文件系统和进程,但除了分配的硬件资源外,它们还利用主机的内核。这意味着用户实际上无法运行与物理服务器上不同的操作系统。
此类虚拟化技术的用例无穷无尽。例如,安全专家通常需要一个隔离的环境来监控和分析恶意软件样本的行为。另一方面,软件开发人员和工程师可以充分利用虚拟化解决方案来测试他们的应用程序在不同平台上的运行情况。
虚拟化技术还可以节省购买硬件和在大型企业环境中设置硬件的大量成本。
但这与其为网络主机行业带来的好处相比根本不算什么……
Web 主机中的虚拟化
共享主机方案继续受到个人和初创在线企业的热烈欢迎,主要是因为价格实惠。然而,在一台服务器上拥有数百个网站,所有网站都消耗相同的资源池,这不可避免地会导致问题。
虚拟化技术通过两种不同的方式解决了这些问题。
首先,它是云计算的核心。借助虚拟化,您的网站可以主机在一组服务器中,因此即使一台机器出现故障,其他机器也可以弥补不足,保证您的网站可以访问。
虚拟化还使得VPS主机成为可能。
和共享服务器一样,VPS 主机允许提供商在同一台主机上设置多个帐户。这里的诀窍是帐户隔离。VPS 客户可以获得一个完整的虚拟服务器,该服务器具有有保障的硬件资源和专用 IP。因此,他们不必担心其他用户给服务器带来过多负载或对自己的项目构成安全风险。
得益于虚拟化,主机公司可以更有效地利用硬件。因此,VPS 计划比专用服务器便宜得多,而且也不比共享交易贵多少。
现在,越来越多的主机公司正在研究提供 VPS 主机包的可能性,并且他们都面临着选择虚拟化解决方案的任务。
KVM和OpenVZ是目前最受欢迎的两个选项,因此值得我们仔细研究一下……
什么是 KVM?
KVM代表基于内核的虚拟机,自2007 年 以来一直是 Linux 内核的一部分。它是一个完整的虚拟化模块,可将物理服务器转变为虚拟机管理程序。使用 KVM 创建的虚拟机可以使用不同的操作系统,并且完全独立于主机或彼此运行。
尽管 KVM 在 Linux 内核中可用并且因此是免费的,但它仍然具有一些方便的功能,包括:
- CPU 热插拔支持
- 实时服务器迁移
- 动态内存管理
- VM 映像支持
- 嵌套访客支持
什么是 OpenVZ?
OpenVZ是一种操作系统级虚拟化解决方案,其起源可追溯到 20 世纪 90 年代末。当时,由 Alexander Tormasov 和 Sergey Beloussov 领导的开发团队开始开发一种系统,该系统可让 Linux 用户在同一台物理机器上创建多个“虚拟环境”。这些现在被称为容器,虽然它们使用主机的内核,但它们充当独立的机器,拥有自己的文件、进程、IP 地址、库等。
与 KVM 一样,OpenVZ 完全免费使用,其一些主要功能包括:
- 硬件资源开销低
- 设置相对简单
- 高效的资源管理
- 单个容器的隔离流量和防火墙
- 健康监测系统
OpenVZ和KVM截然不同。两者都有各自的优势,但仅看工具和功能列表不足以告诉你哪一个最适合你。要找出答案,你需要将它们进行面对面的比较。
KVM 与 OpenVZ – 硬件要求
KVM和OpenVZ之间的区别在于这两种解决方案提供了两种不同类型的虚拟化。
KVM 的硬件级虚拟化需要虚拟机管理程序,在本例中,虚拟机管理程序就是服务器本身。您需要计算能力来运行虚拟机管理程序,这意味着您无法将所有系统资源分配给客户机。其中一些资源需要为虚拟机管理程序保留。
OpenVZ提供的操作系统级虚拟化消除了对成熟虚拟机管理程序的需求,您可以以很少的主机资源开销运行所有容器。据估计,多达99%的物理服务器硬件可以安全地分布在容器之间。
KVM 与 OpenVZ – 操作系统支持
KVM 的完全虚拟化功能让您可以为虚拟机使用几乎任何您想要的操作系统。大多数主机公司都使用 Linux 作为其物理服务器,如果他们使用 KVM 虚拟化,那么设置Windows或FreeBSD VPS也不会有问题。
OpenVZ被打包为 Linux 发行版,您创建的所有容器都使用其内核。因此,无法在 Linux 以外的任何系统上运行容器。
KVM 与 OpenVZ – 内核版本
KVM 的主要优势之一是增强的可定制性。由于虚拟机与服务器的其余部分完全隔离,因此系统管理员可以随意对各个虚拟机的内核进行任意修改。使用不同的内核或自定义现有内核不会影响其他虚拟机或服务器本身。
OpenVZ 的操作系统级虚拟化需要使用主机的内核,这意味着任何修改都是不可能的。
KVM 与 OpenVZ – 内存分布
OpenVZ和KVM之间的主要区别之一在于两种解决方案如何分配主机的 RAM。
使用 KVM,每个 VM 的内存受到严格限制,而 OpenVZ 的未使用内存可供服务器上运行的每个容器使用。
通常情况下,这不会造成太大问题,尤其是当服务器上没有太多容器时。不过,如果其中一台 VPS 机器上的 RAM 使用量激增,那么它也可能对所有其他帐户的性能产生负面影响。
OpenVZ 设置的这一特殊特性使得超额销售变得更加容易。
超卖是一些主机公司为实现利润最大化而采用的一种不良做法。它会导致服务器过度拥挤,用户过多,超出底层硬件的容量。结果就是性能不佳和停机时间,所以如果你决定购买OpenVZ VPS,你应该记住这一点。
KVM 与 OpenVZ – 价格
这两种解决方案都是开源的,完全免费使用。您甚至可以在家用 Linux 计算机上下载并启用它们。
从主机服务提供商的角度来看,KVM 是更昂贵的选择,纯粹是因为其对硬件的要求更高,设置也更复杂。较低的开销和更简单的配置使 OpenVZ 成为注重预算解决方案的公司的首选。
我应该选择哪种虚拟化技术?
很可能大多数网站所有者无法立即分辨出 OpenVZ和KVM VPS之间的区别。不过,底层设置对于您将获得的主机服务的质量至关重要,因此在选择主机服务提供商时,这是一个必须考虑的问题。
在萤光云,我们选择使用KVM有几个很好的理由。首先,硬件级虚拟化使我们能够提供自管理的 Windows VPS 机器以及基于 Linux 的解决方案。这意味着我们可以更加灵活,满足具有不同需求的更广泛受众的主机需求。
此外,额外的隔离使KVM 虚拟化更加可靠和安全,虽然它的设置和维护通常成本更高。
这使我们能够以极具竞争力的价格提供具有每日备份、强大的安全性和易于使用的控制面板的完全主机的 VPS 解决方案。
我们认为KVM是目前最好的虚拟化技术,但如果您认为OpenVZ更适合您,那么也有很多选择。不过,在做出选择之前,请务必进行研究并阅读一些评论,从长远来看,这可以为您省去很多麻烦。
结论
主机公司很少宣传他们选择的虚拟化技术。这主要是因为用户对此类技术并不感兴趣,而且从网站所有者的角度来看,这对他们项目的成功几乎没有影响。
然而,正如我们所发现的,虚拟化解决方案及其正确实施对于高质量的主机服务至关重要。因此,在您与任何主机服务提供商签约之前,请与他们联系并询问他们如何设置虚拟服务器 – 这可能正是您正在寻找的转折点。
常问问题
问: OpenVZ 和 KVM 的主要区别是什么?
答: KVM 是完全虚拟化解决方案,而 OpenVZ 提供操作系统级虚拟化。因此,KVM 的虚拟机完全隔离,可以支持不同的操作系统,而 OpenVZ 容器使用主机的内核,只能在 Linux 上运行。
问: 容器和虚拟机有什么区别?
答:这两个术语都用于表示在物理硬件资源上运行的独立用户环境。容器主要与操作系统级虚拟化相关,这意味着它们使用主机的内核。相比之下,虚拟机仅使用物理机的硬件并在任何操作系统上运行。
问: 我可以在 OpenVZ 容器内运行 Windows 吗?
答: OpenVZ 使用操作系统级虚拟化,这意味着其容器依赖主机的内核来工作。因此,它们只能支持 Linux。