裸金属和物理机是一回事吗? 细聊裸金属服务器和物理机的区别

跟一些行业内朋友聊天,大家经常提到裸金属机的概念,实际上指的是物理机。与我理解的,如AWS等云厂商提到的,裸金属(Bare Metal)机,其实不是一回事。

那什么是裸金属机?以及物理机、虚拟机及裸金属机的优势劣势、区别和联系到底是什么?今天这篇文章,我们一起探讨。(注:本文提到的物理机、虚拟机和裸金属机,均指的是公有云场景下的相应云服务器。)

一、裸金属和物理机的区别

1、概念

裸金属服务器是指一种不运行虚拟化层的物理服务器,直接暴露硬件资源给用户,但是能够提供与传统物理服务器类似的性能和功能,只是通过云服务提供商的方式进行部署和管理。

传统的物理服务器是指完全独立运行在数据中心中的硬件设备,通常由企业自行购买和维护,直接安装操作系统和应用程序,没有虚拟化的中间层。

2、架构与硬件资源

(1)裸金属服务器

  • 硬件资源直通:裸金属服务器没有虚拟化的性能开销,可以直接访问物理服务器的所有硬件资源,如CPU、内存、存储和网络。
  • 更接近物理服务器:与虚拟机相比,裸金属服务器更接近传统物理服务器的性能表现,适合需要高性能和低延迟的应用场景。

(2)物理机

  • 完全独立性:物理机是完全独立的服务器实体,不与其他虚拟机共享硬件资源,可以获得最大的计算和存储性能。
  • 适合特定需求:对于需要绝对控制和定制化配置的应用程序和工作负载,物理机提供了最大的灵活性和自主性。

3、管理与部署

(1)裸金属服务器

  • 云服务提供:通常由云服务提供商管理和部署,用户可以通过控制台或API快速创建、配置和管理裸金属实例。
  • 快速部署:通过云服务商提供的自动化工具和服务,可以快速部署裸金属服务器,大大简化了硬件管理和操作系统安装的流程。

(2)物理机

  • 自主管理:企业通常自行购买、配置和维护物理服务器,拥有完全的管理控制权。
  • 高度定制化:可以根据具体需求选择硬件配置、操作系统和网络设置,实现高度定制化的部署和管理。

4、适用场景

(1)裸金属服务器

  • 高性能计算:适合需要强大计算能力和低延迟的应用,如科学计算、金融交易系统等。
  • 数据密集型应用:需要大量存储和高速网络访问的大数据应用和分析任务。
  • 合规性要求:特定安全和合规标准的应用,如金融行业或政府部门的数据处理。

(2)物理机

  • 定制化需求:对于需要特定硬件配置或操作系统环境的应用程序和工作负载。
  • 传统企业应用:传统的数据库管理系统、企业资源规划(ERP)系统等业务应用。
  • 低延迟应用:对延迟极为敏感的应用,如实时交易系统或游戏服务器。

相关问题与解答:

  • 1、裸金属服务器和物理机的性能比较如何?

答:裸金属服务器由于没有虚拟化层,可以直接运行在物理硬件上,因此性能较高,而物理机通过虚拟化技术划分出多个虚拟机实例,每个虚拟机都需要运行自己的操作系统和应用程序,这会带来一定的性能开销。

  • 2、裸金属服务器和物理机的管理方式有何不同?

答:裸金属服务器通常需要手动配置和管理,用户可以直接访问物理硬件进行操作和维护,而物理机可以通过虚拟化管理平台进行集中管理和监控,用户可以在平台上创建、删除和调整虚拟机实例,以及监控资源的使用情况。

二、物理机的优势和劣势

物理机,顾名思义,是把物理的服务器完全交付给客户。

物理机唯一的优势在于,所有的资源完全交付给客户。算力服务提供商不占用此服务器的硬件计算资源。

物理机的劣势,主要总结如下:

  • 管理运维难。整个服务器系统的运行情况完全脱离算力服务提供商的管理和监控,机器的运行情况不可知,也无法完成硬件和系统的管理和运维。
  • 不支持高可用。如果服务器出现故障,运行于服务器的业务需要停止,这对于需要7×24小时保持服务畅通的互联网业务来说,是不可接受的。
  • 不支持资源弹性。系统提供个资源数量由服务器硬件决定,无法更改。比如,服务器提供50个CPU核,但客户场景仅需求1个CPU核,那么其他49个CPU核的资源则是浪费的,但客户仍需要为此浪费的资源付费。
  • 资源利用率低,成本高。没有资源共享,没有资源充分利用,资源浪费严重。多租户场景,需要实现租户之间的系统隔离;由于整台服务器都交付给了客户,因此隔离工作需要在外部交换机或其他主机上实现;额外的资源消耗成本较高,并且安全性较低。

三、虚拟机的优势和劣势

虚拟机,是公有云最常见的产品形态,没有之一。通过虚拟化技术,实现基于宿主机(Host)的虚拟机器,为客户提供更灵活更低成本的云主机服务。

大体上,物理机的劣势,就是虚拟机的优势;反过来,物理机的优势,也即虚拟机的劣势。

虚拟(云)机的优势主要总结如下:

  • 主机可控。虚拟机在宿主机侧都有完整的管理监控,以及网络、存储等I/O后台设备模拟和工作任务处理。整个虚拟机的运行情况处于可控状态,可以实时为客户虚拟机提供可能的服务,比如硬件出现问题的时候实时热迁移。
  • 支持高可用。如果服务器出现故障,运行于服务器的业务会自动热迁移到其他运行正常的服务器,业务客户对服务器硬件的故障无感。
  • 支持资源弹性。客户云主机,可以支持从1-N个弹性资源的选择,并且在主机创建之后仍可以对主机资源进行扩缩容。
  • 更低成本。通过虚拟化实现硬件资源的共享,通过自定义不同资源配比实现尽可能最高的资源利用率低,从而极致的均摊硬件成本,降低客户开销。此外,租户隔离不需要额外硬件配套,虚拟网络交换机在服务器本地,不额外消耗其他的硬件资源。   

而虚拟机的劣势,则主要是性能的问题。虚拟机性能的额外损耗主要来源于两点:

  • 虚拟化的损耗。虚拟化分为完全软件虚拟化、类虚拟化(也称之为半虚拟化)和完全硬件虚拟化。软件虚拟化CPU资源消耗较大,类虚拟化次之,完全硬件虚拟化几乎不需要额外的CPU消耗。目前,主流的CPU芯片都支持CPU处理器和内存的完全硬件虚拟化,网络和存储等I/O仍然是CPU软件虚拟化或类虚拟化。
  • 网络和存储两个主要I/O的后台工作任务的额外资源消耗。

(注:为了简化问题,这里仅涉及CPU,没有涉及GPU等业务加速处理器,下同。)

四、强强联合,物理机和虚拟机的优势合并

既然物理机和虚拟机都不完美,都存在这样或那样的问题。那么,能不能把两者的优势结合起来?使得物理机像虚拟机一样功能强大;同样的,虚拟机也能像物理机一样,没有额外的资源消耗,实现裸机级别的性能。

答案是肯定的。   

方案一:物理机实现虚拟机的强大能力,即真正的裸金属机

虚拟机的优势,如资源弹性、高可用等,主要是虚拟化系统提供的。要想物理机也实现这样的能力,则需要物理机也“支持”虚拟化。虚拟化系统主要分为两层:宿主机(Host)侧和客户机侧(Guest VM)。通过DPU,可以实现虚拟化系统宿主机侧所有任务的完全卸载。在传统虚拟机模式下,这部分工作是在CPU中完成,而在裸金属机的模式下,这部分工作卸载到了DPU中,并把性能敏感的任务进行了加速优化。   

方案二虚拟机实现物理机般极致的性能

前面我们分析过,虚拟机的性能损耗主要来自于非硬件虚拟化的CPU资源消耗,以及网络、存储两个主要I/O的后台工作任务(网络主要是VPC处理,存储主要存储虚拟化映射)的CPU资源消耗。

通过DPU,可以实现整个宿主机侧计算任务的卸载,这样就可以实现:

  • I/O的完全硬件虚拟化(也可以理解为I/O模拟任务的卸载)。虚拟出来多个逻辑的硬件设备,直通到虚拟机中。这样,VM所在的Guest主机,实现所有计算机资源,即CPU处理器、内存和I/O设备,的完全硬件虚拟化(CPU核内存的硬件虚拟化由CPU芯片支持,I/O设备的硬件虚拟化由CPU和DPU共同支持)。实现完全接近物理裸机的性能。
  • 同时,网络和存储等工作负载实现从CPU到DPU的卸载和加速。在CPU中完全没有了这些“额外”的资源消耗,CPU完全交付给业务客户。

需要注意的是,在此种方案下,在CPU侧仍存在Hypervisor。这个Hypervisor比较轻量,主要是实现虚拟机的创建、销毁和迁移等操作。Hypervisor几乎不干扰虚拟机的稳定运行,也就几乎不会从Guest Mode切换到Host Mode,也就没有了额外的CPU资源消耗,从而实现虚拟机“独占”CPU。   

五、更进一步,虚拟机和裸金属机的统一

既然可以实现物理机像虚拟机一样功能强大,虚拟机像物理机一样性能极致,那么接下来就会有一个新的问题:站在客户的视角,为什么要区分虚拟机和物理机?两者不可以统一吗?

答案同样是肯定的。

系统可以自由的在虚拟机和裸金属机之间切换:

  • 创建后的虚拟机,如果发现资源不够用,就可以在不改变系统环境的情况下,持续扩容,最终变成裸金属机。例如,在一台具有50核CPU的机器上,最开始申请了20个核的虚拟机。当发现资源不够用的时候,可以把此台主机扩容,扩容到30核、40核,知道50核。当达到50核的时候,就独占了此主机,也即从虚拟机形态变成了裸金属形态。但使用主机的客户,对此无感。
  • 同样的,裸金属的客户,在发现此主机业务跑不满的情况下,可以缩容,变成虚拟机。用同样的例子,客户申请了50个核的主机,此时为裸金属机,客户缩容到了40核,此刻给客户呈现的主机形态仍然没有变化。而技术上的来说,已经从裸金属机变更成了虚拟机。

统一虚拟机和裸金属机,可以实现客户业务使用和技术实现之间的隔离:从技术角度,实现底层实现和上层呈现之间的隔离,便利客户使用;l对客户来说,客户需要的是一个性能强劲、功能强大的云主机,用户不需要关心到底是物理机或虚拟机。   

总结

物理机和虚拟机是两套独立的体系,独立的运维,物理机实例和虚拟机实例之间无法切换。这和我们一直讲的算力资源池化是相悖的。

因此,除了优化性能和优化功能之外,还需要统一平台,统一资源,简化运维,简化用户的使用。这样,我们可以简单划分云主机发展的三个阶段:

  • 第一阶段,传统的物理机和虚拟机阶段。这个阶段,各自独立,物理机存在高可用等方面的问题,虚拟机存在性能方面的问题。
  • 第二阶段,增强优化阶段。物理机具备了高可用等传统虚拟机所具备的能力,虚拟机则优化了性能,实现了极致接近硬件实际的性能。
  • 第三阶段,物理机虚拟机统一形态阶段。给客户提供统一的云主机资源,在业务层次,不再区分虚拟机和物理机。

五种类型主机的特性总结如下。

裸金属服务器通常需要手动配置和管理,用户可以直接访问物理硬件进行操作和维护,而物理机可以通过虚拟化管理平台进行集中管理和监控,用户可以在平台上创建、删除和调整虚拟机实例,以及监控资源的使用情况。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平