left arrow icon返回博客

VPS 托管

KVM 虚拟机

KVM 与 OpenVZ VPS:究竟有何变化?

KVM 和经典的 OpenVZ 容器 VPS 都允许多个客户使用同一台物理服务器。两者的分界在于操作系统内核:经典 OpenVZ 容器共享主机的 Linux 内核,而 KVM 虚拟机则启动自己的内核。这会影响您可以安装的内容、管理服务器的方式以及安全边界所在的位置。

EDIS Global 曾经提供 OpenVZ。如今,我们的 VPS 产品仅使用 KVM。以下是两者在实际使用中的区别,也会说明营销中的简化说法在哪些方面需要谨慎看待。

浅色插图:较旧的共享内核容器与相互独立的 KVM 虚拟机并列展示。

KVM 与 OpenVZ 对比概览

  • 内核:经典 OpenVZ 容器使用主机内核;KVM VM 启动自己的客户机内核。
  • 资源:两者都可以设置限制。哪些资源有保障取决于提供商的分配政策,而不能仅凭标签判断。EDIS 在 KVM 上配置专用 vCPU 分配、有保障的 RAM 和套餐存储空间。
  • 操作系统:旧版 OpenVZ 容器运行与主机内核兼容的 Linux 用户空间。KVM 可以运行受支持的 Linux 或 Windows 客户机,并启动受支持的自定义映像。
  • 隔离:容器通过内核机制隔离进程和文件,但共享同一个内核。KVM 将每个客户机置于独立的虚拟硬件边界之后。

KVM VPS 与 OpenVZ VPS 有什么区别?

经典 OpenVZ VPS 是操作系统容器。其应用程序是主机上的进程,并被归入一个独立的文件、网络和进程 ID 视图中。对客户而言,它的使用体验类似服务器,但并没有独立的客户机内核。KVM VPS 是完整的虚拟机:虚拟 CPU、内存和磁盘会提供给单独启动和运行的客户机操作系统。

本文将 KVM 与 VPS 买家熟悉的较旧 OpenVZ 容器产品进行比较。更广泛的 OpenVZ 平台也支持基于 KVM 的虚拟机;单独出现 OpenVZ 一词并不意味着所有产品都是容器。

我可以运行自己的内核或加载内核模块吗?

使用 KVM 时可以:客户机控制自己的内核。您可以更新内核、选择受支持的替代内核,并在客户机内使用内核功能或模块,但须受虚拟硬件和您的配置限制。root 权限是您 VM 内部的 root 权限,而不是物理主机上的 root 权限。

在经典 OpenVZ 容器中,所有租户都依赖主机内核。您无法从容器内部替换该内核,也无法加载任意主机内核模块。这通常会使原本简单的软件要求变成需要提交支持请求的问题。

CPU、RAM 和磁盘资源是专用的吗?

KVM 为 VM 分配自己的虚拟 CPU、内存和虚拟磁盘。但这本身并不意味着每个 vCPU 都独占一个完整的物理核心,也不意味着整台物理服务器都归一个客户使用。物理处理器、存储硬件和网络上行链路仍属于共享基础设施,因此套餐和提供商的配置政策至关重要。

OpenVZ 也允许设置 CPU、内存和磁盘限制,但较早的容器产品通常采用不同的资源计量和突发使用规则。在 EDIS Global,每个 KVM 套餐都有指定的 vCPU 配额、保证的 RAM 和预配置的磁盘容量。请根据所需资源量比较具体套餐和地点;仅凭 KVM 一词并不能推断其性能和网络吞吐量。

我可以安装哪些操作系统?

传统 OpenVZ 容器在宿主机的 Linux 内核上使用 Linux 用户空间。您可以选择兼容的 Linux 模板,但无法将 Windows 作为容器启动,也无法选择完全独立的操作系统内核。

KVM 可以启动受支持的 Linux 和 Windows 客户机系统,因为每个 VM 都有虚拟硬件和自己的内核。EDIS 提供 Linux 镜像、适用于合适套餐的 Windows,以及自定义 ISO 安装选项。请检查具体套餐可用的镜像、启动模式、驱动程序和许可证;对于 Windows Server,我们建议至少配备 4 GB RAM 和 2 vCPU。

安全隔离有何不同?

OpenVZ 容器并非没有隔离:该技术会隔离进程列表、文件系统视图和其他资源。其重要限制在于所有容器共享宿主机内核。如果某个漏洞使攻击者能够跨越这一共享边界,宿主机上的其他容器就可能面临风险。一个容器中的应用遭到入侵并不会自动暴露所有相邻容器,但共享内核会扩大潜在的影响范围。

KVM 为每个 VPS 增加了独立的客户机内核和硬件辅助虚拟化边界。通常,一个客户无法通过自己的 VM 查看另一客户的客户机进程或文件。虚拟机监控程序和宿主机漏洞仍然存在,因此强隔离是一项设计优势,并不意味着绝不可能遭到入侵。宿主机补丁、访问控制和客户侧更新仍然至关重要。

其他客户或 EDIS 能否看到我的 VPS 内部运行的内容?

其他租户通常无法像浏览自己服务器一样,浏览 KVM 客户机的进程列表或已挂载文件。他们的 VM 拥有自己的视图和客户机操作系统。这与由宿主机管理的容器进程和文件树存在实质性差异。

声称任何人都绝不可能看到 KVM VM 内部的内容并不准确。拥有宿主机或存储系统特权访问权限的管理员,可能会检查虚拟磁盘或正在运行的客户机内存;法律程序或遭到入侵的宿主机也可能改变威胁模型。KVM 将客户彼此隔离,但 EDIS 仍须运营并保护底层基础设施。请将对提供商的信任和访问控制纳入您的安全决策。

我可以在 KVM VPS 内加密磁盘吗?

可以。客户机可以在受支持的虚拟磁盘上使用操作系统级加密,例如 Linux LUKS。当您掌握密钥时,这有助于防止离线访问存储的数据。请规划客户机重启后的解锁方式,妥善保管恢复密钥,并在依赖该功能前测试恢复流程。VPS 使用 KVM 并不意味着加密会自动启用。

磁盘加密并不会让正在运行的 VM 对宿主机管理员不可见:客户机运行时需要在内存中保存明文数据和密钥。它也不能取代加密备份、应用安全或谨慎的密钥管理。在加密生产服务器之前,请检查启动和恢复流程。

Waveride 是什么?EDIS 为什么放弃 OpenVZ?

许多年前,EDIS 运营过一个名为 Waveride 的热门 OpenVZ 项目。其原网站称它为“一家 EDIS 公司”,并宣传在维也纳、阿姆斯特丹和芝加哥提供经济型 OpenVZ VPS。那只踩着冲浪板、欢快冲浪的企鹅让该项目令人难忘。我们从中获得了不少乐趣;但当时可供我们使用的 SolusVM 面板和其他控制面板选项不太令人满意。

原版 Waveride 插图:一只企鹅在蓝色海浪中冲浪,旁边是芝加哥徽章。
EDIS 旧网站上用于芝加哥 OpenVZ 地点的原版 Waveride 插图。

在我们较早的架构中,容器更像是由宿主机管理的进程和文件树结构,而不是一台独立完整的机器。我们希望为客户提供更好的内核控制和隔离,因此大约十年前,我们停用了 OpenVZ VPS 产品线并迁移到 KVM。这是我们的历史,并非声称所有现代容器平台都缺乏隔离,也不是说每个 OpenVZ 版本都将文件存储为普通目录;较新的版本可以使用磁盘镜像。

为什么 EDIS Global 如今只提供 KVM?

我们希望每个 VPS 都能启动自己的客户机操作系统,为客户提供内核级控制,并置于强大的虚拟机边界之后。KVM 符合这一模式,使我们能够配置套餐中的 vCPU、RAM 和磁盘资源,同时支持 Linux 和合适的 Windows 配置。这是一种成熟且符合当前需求的多租户 VPS 托管方式。

当您能够控制宿主机并希望以轻量方式打包应用程序时,容器仍然很有用。对于需要独立内核并与其他租户实现更强隔离的客户 VPS,请选择 KVM。比较 EDIS Global KVM VPS 套餐和位置,然后再订购。

技术参考资料