【虚拟空间】服务器虚拟化是什么?一台服务器如何实现虚拟化?
服务器虚拟化技术允许一个物理服务器创建多个虚拟服务器,这些虚拟服务器可以执行与普通服务器相同的任务,而不需要每个虚拟服务器拥有自己的物理资源。每个虚拟服务器都执行指定的功能,不影响在相同硬件上运行的其他虚拟服务器。
许多虚拟机与一个物理服务器相关联,虚拟化软件将物理组件与虚拟环境(虚拟机监控程序)分开,管理程序表示底层物理资源和运行于其上的虚拟环境之间的管理层。
在虚拟化之前,需要在硬件上安装一个操作系统(OS),使其直接链接到服务器。这意味着,如果需要多个服务器,每个服务器必须有自己的硬件。平均而言,专用服务器在正常运行期间仅使用15%的资源。
考虑到必须为每个服务器以及它的电力使用、空间、冷却和维护付费,将整个服务器都投入到一个任务中可能是低效的。在虚拟化之前,存在电力和硬件资源的浪费,以及软件或硬件修复实例的低效。因此,出于安全目的,需要提高资源利用率,并保持客户机操作系统之间的隔离。
服务器虚拟化的类型
基于服务器虚拟化提供的隔离,有三种方法:
1.完全虚拟化
在完整的虚拟机模型中,管理程序完全隔离客户机。它共享主机的硬件,但运行起来就像在完全自主的计算机上一样,不影响管理程序及其角色。这些虚拟机认为自己是独立和高效的,因此,不需要调整或特别修改它们的操作系统实例。
2.Paravirtual
当需要多个虚拟机并具有灵活的资源共享时,可能不需要完全虚拟化的环境。在这种情况下,半虚拟化的环境可能更适合这种情况。
虚拟模型消除了VM捕获特权指令的需要,使其更节省时间,对系统的干扰更小。操作系统承认系统管理程序的存在,并通过发送称为超调用的注释与之直接通信。
为了进行这种通信,管理程序和操作系统都专门用于交换超调用。因此,半虚拟化需要一个半虚拟化的管理程序和操作系统。通过实现API(应用程序编程接口)来修改它们,使它们能够通过超调用进行通信。
3.操作系统层
操作系统级别的虚拟化是操作系统的一个特性,操作系统的内核允许存在多个用户空间实例。
程序可以在容器中运行,但仅限于容器的内容和分配给该容器的设备。与主要操作系统不同,这些用户空间实例认为它们拥有所有可用资源,但仅限于分配给容器的资源。
由于此级别的虚拟化使用与主机相同的操作系统和内核,因此只能根据操作系统的版本与主机不同。因此它是有限的,因为它不能拥有与其主机不同的操作系统。
创建虚拟环境使用两种类型的管理程序
1.Type 1 Hypervisors
Type 1或 bare-metal hypervisors直接安装在主机的物理硬件上,在硬件和操作系统之间提供一个层。在这一层之上,可以安装许多虚拟机。这些机器没有以任何方式连接,它们可以拥有不同的操作系统实例,并充当不同的应用程序服务器。
系统管理员和高级用户通过称为管理控制台的接口远程控制管理程序,有了它,可以连接和管理操作系统的实例。还可以打开和关闭服务器,将操作系统从一台服务器转移到另一台服务器(在停机或故障的情况下),并执行许多其他操作。
Type 1 Hypervisors是高度安全的,因为它没有底层操作系统(主机)的攻击面。此外,它根据每个虚拟机的使用情况控制和分配分配给每个虚拟机的资源,以避免浪费资源。
Type 1 Hypervisors监控程序的例子包括VMware ESXi、KVM、Oracle VM、Citrix XenServer、Microsoft Hyper-V等。
2.Type 2 Hypervisors
与Type 21不同,Type 22管理程序安装在现有操作系统之上。这允许用户使用个人计算机或服务器作为虚拟机的主机。因此,拥有底层硬件、充当主机的操作系统、管理程序和客户操作系统。
虽然VM是独立的,但是主操作系统仍然直接连接到硬件,这使得它比Type 1管理程序更不安全。在安全性至关重要的环境中,这种类型的管理程序可能不适合需要。然而,最终用户和小型企业的客户可能会发现这种环境更合适。在类型2管理程序的情况下,过度分配可能导致主机崩溃。
Type 2管理程序的例子包括VMware Workstation、KVM、Oracle VM VirtualBox、Microsoft Virtual PC、Red Hat Enterprise Virtualization等。