如果您正在考虑选择哪种虚拟化服务器,但不熟悉这些技术之间的差异,那么本文可能会有所帮助。您将了解存在哪些基本虚拟化类型以及 KVM 和 LXC 虚拟化之间的区别,这通常用于 MasterDC 中的 VPS 服务器。
理解 VPS 的所有参数和技术细节相当困难。这就是为什么我们决定解释虚拟化本身是如何工作的,同时重点介绍Master DC 中常用的KVM 和 LXC ,用于Linux OS 的虚拟化服务器。在我们开始讨论相关技术之前,首先让我们讨论一下实际存在哪些虚拟化类型以及它们的一般缺点/优点是什么。
虚拟化类型
存在几种不同的虚拟化,特别是在执行虚拟化的程度和级别上有所不同,这对 VPS 功能(例如可扩展性和/或操作系统兼容性)具有根本影响。为了达到本文的目的,介绍两种基本类型就足够了——完全虚拟化和操作系统级别的虚拟化。显然还有许多其他部分虚拟化,它们只虚拟化一些硬件实例(内存、处理器、网卡),但这些不是本文的主题。
完全或换句话说,原生虚拟化是真正意义上的虚拟化。它的关键组件是一个管理程序,它监视和控制直接在硬件级别上运行的 VS。您可以将其想象为一个主要的仲裁者,将性能和物理服务器内存分配给各个虚拟服务器,同时将服务器彼此分开。
操作系统位于虚拟机管理程序之上,可以在单个虚拟机上启动各种未修改的操作系统,这使其成为完全虚拟化的主要优势之一。但另一方面,管理费用也相当高。运行管理程序本身可能会消耗多达 20% 的物理服务器性能。完全虚拟化的一个典型例子是 VMware 解决方案。
操作系统级别的虚拟化创建了所谓的容器,也使得在一台物理服务器上运行多个独立的虚拟机成为可能。主要区别在于这些虚拟机运行在一个共享的操作系统内核上,因此各个虚拟机(容器)的操作系统必须具有相同的内核。因此,用于创建虚拟机的应用程序高于操作系统的级别。
操作系统级别的虚拟化是有利的,因为与完全虚拟化相比,它更有效地使用了性能和物理服务器容量。然后,应用程序与管理程序类似,在磁盘、内存上分配配额,并优先处理处理时间。另一个重要优势是可以隔离容器并随后将其部署在不同的环境中。这种虚拟化类型包括OpenVZ、Docker和LXC。
领先的软件公司支持 KVM 虚拟化
KVM 管理程序最初是由以色列初创公司 Qumranet 开发的。然而,在 2008 年 9 月,RedHat——商业领域 Linux 解决方案的世界第一——以 1.07 亿美元的价格买下了它。KVM 缩写表示基于内核的虚拟机,可以粗略地翻译为“核心级别的虚拟化”。因此,标题指的是 KVM 使用的一种虚拟化机制——一个模块,它使 Linux 核心作为管理程序工作。
一方面,必须安装操作系统,另一方面,该操作系统本身作为管理程序工作。因此,不同的来源并不总是就正在发生的虚拟化类型达成一致。大多数人声称 KVM 对应于完全虚拟化,因为原始操作系统的已安装核心的行为类似于管理程序。它符合完全虚拟化的关键特性之一,因为在 KVM 上可以启动未经修改的操作系统。KVM 作为一个免费软件,可以在不同的 Linux 发行版上使用,例如 CentOS、Ubunt 和 Debian。如果要虚拟化 Windows 操作系统的物理服务器,则需要选择不同的管理程序。
Docker 支持、安全性和其他 KVM 虚拟化优势
KVM 虚拟化的主要优势之一是您可以轻松地在必要时为项目创建容器,以便将它们彼此分离。支持 Docker的VPS是开发人员的理想解决方案,因为它促进了高可移植性和更容易扩展。您可以在我们关于容器如何工作以及为什么需要它们的文章中了解有关 Docker 的更多信息。
由于 KVM 是 Linux 内核的一部分,它可以非常有效地更改单个虚拟机的 RAM,而不会减慢已经运行的进程。另一个重要特征是动态迁移的可能性。这意味着可以在不中断其活动的情况下转移各个虚拟系统。由于 Linux 基础,KVM 虚拟化提供了高水平的安全性,使用附件可能会得到增强。此外,SELinux 提供加密和访问控制。
最后但并非最不重要的一点是,有必要提到不断调整 KVM 管理程序。虽然一开始它只与 Linux x86 平台兼容,但现在支持的平台有数十种。KVM 管理程序也被认为是市场上最可靠和最可靠的管理程序之一。从这个角度来看,与 RedHat 与其他关注软件开发的研究公司(如 IBM、Intel 和 NetApp)的合作起着至关重要的作用。
LXC 虚拟化具有较低的间接成本
LXC 技术在操作系统级别虚拟化服务器,这就是为什么它被称为“轻量级虚拟化”。与完全虚拟化相比,它节省了处理器内存和性能,因为整个虚拟化过程的成本要求非常低。因此,与完全虚拟化相比,可以更轻松、更快地创建新的虚拟机(容器)。
LXC 技术与 KVM 一样,将被虚拟化的物理服务器的系统资源分配给各个虚拟机。例如,它定义了单个 VPS 的操作内存、硬盘大小和处理器性能。它还负责隔离各个容器。因此,当其中一个 VPS 受到威胁或攻击时,其他服务器不会受到影响。但是与KVM相比,安全程度较低,这是由虚拟化本身的特性所决定的。完全虚拟化以比操作系统级别的虚拟化更复杂的方式隔离单个虚拟机。
另一个显着的缺点是Docker 无法在 LXC 虚拟化服务器上启动,因为此功能不受官方支持。开源技术Proxmox提供直观的 Web 界面,用于管理具有 LXC 和 KVM 虚拟化的大量服务器,从而使管理员的工作更加轻松。
选择具有虚拟化的服务器总是更好吗?
显然,这取决于服务器所针对的项目类型。KVM 虚拟化的主要优点是单个 VPS 使用其自己的 Linux 发行版的内核,因此不必共享主机服务器的操作系统内核。
此外,如果您需要将 VPS 划分为单独的容器(可能使用 Docker),最好选择带有 KVM 虚拟化的 VPS。此功能特别适合应用程序开发和测试,以及启动多个应放置在隔离环境中的网站。
带有 LXC 虚拟化的 VPS 成本较低,但您必须忍受它的选项与主机服务器的操作系统兼容性绑定的事实。因此,它们的使用受到很大限制,更适合小型项目,例如网络托管,特别是如果您打算使用 CMS 来插入内容(编辑 Word Press、Joomla! 或 Drupal 类型)。即因为CMS兼容基于容器的虚拟化技术。
从广泛的 VPS 中进行选择
除了 KVM 和 LXC,Master 还提供使用 Hyper-V 技术虚拟化的 VPS,该技术在操作系统级别虚拟化服务器,因此特别适用于 Windows。研究我们提供的完整虚拟化服务器,并为您的项目选择理想的解决方案。