KVM和LXC之间的区别

 李筠惠佩昆琬雯 发布于 2023-02-10 15:00

KVM和Linux容器(LXC)有什么区别?对我来说,如果我们同时使用内核的"命名空间"和"控制组"功能,那么LXC也是在同一内核中创建多个虚拟机的一种方式.

3 个回答
  • LXC或Linux容器是基于轻量级和可移植操作系统的虚拟化单元,它们共享基本操作系统的内核,但同时充当具有自己的文件系统,进程和TCP/IP堆栈的隔离环境.它们可以与FreeBSD上的Solaris ZonesJails进行比较.由于没有虚拟化开销,因此它们的性能比虚拟机要好得多.

    KVM代表了自己的Linux内核中构建的虚拟化功能.正如之前的答案中已经说明的那样,它是类型2的管理程序,即它不是在裸机上运行.

    2023-02-10 15:02 回答
  • 从文本https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/7-Beta/html/Resource_Management_and_Linux_Containers_Guide/sec-Linux_Containers_Compared_to_KVM_Virtualization.html版权所有©2014红帽公司:

    Linux容器与KVM虚拟化相比

    KVM虚拟化与Linux容器之间的主要区别在于虚拟机需要运行单独的内核实例,而容器可以从主机操作系统进行部署.这显着降低了容器创建和维护的复杂性.此外,减少的开销使您可以创建大量容器,启动和关闭速度更快.Linux Containers和KVM虚拟化都具有某些优点和缺点,这些优点和缺点会影响通常应用这些技术的用例:

    KVM虚拟化

    KVM虚拟化允许您引导不同类型的完整操作系统,甚至是非Linux系统.但是,有时需要复杂的设置.虚拟机是资源密集型的,因此您只能在主机上运行有限数量的虚拟机.

    运行单独的内核实例通常意味着更好的分离和安 如果其中一个内核意外终止,则不会禁用整个系统.另一方面,这种隔离使虚拟机更难与系统的其余部分通信,因此必须使用多种解释机制.

    来宾虚拟机与主机更改隔离,允许您在主机和虚拟机上运行同一应用程序的不同版本.KVM还提供许多有用的功能,例如实时迁移.有关这些功能的更多信息,请参阅"Red Hat Enterprise Linux 7虚拟化部署和管理指南".

    Linux容器:

    当前版本的Linux Containers主要用于支持一个或多个应用程序的隔离,并计划在不久的将来实现完整的OS容器.您可以非常轻松地创建或销毁容器,并且维护起来非常方便.

    每个容器中都可以看到系统范围的更改.例如,如果在主机上升级应用程序,则此更改将应用​​于运行此应用程序实例的所有沙箱.

    由于容器是轻量级的,因此大量容器可以在主机上同时运行.理论上最大值为6000个容器和12,000个根文件系统目录的绑定装入.此外,容器创建速度更快,启动时间更短.

    资源

    2023-02-10 15:02 回答
  • 本白皮书介绍了虚拟机管理程序和Linux容器之间的区别,以及容器背后的一些历史记录 http://sp.parallels.com/fileadmin/media/hcap/pcs/documents/ParCloudStorage_Mini_WP_EN_042014.pdf

    本文的摘录:虚拟机管理程序的工作原理是让主机操作系统模拟机器硬件,然后将其他虚拟机(VM)作为客户操作系统置于该硬件之上.这意味着客户机和主机操作系统之间的通信必须遵循硬件范例(任何可以在硬件中完成的操作都可以由主机完成到客户机).

    另一方面,容器虚拟化(如图2所示)是操作系统级别的虚拟化,而不是硬件级别.因此,每个客户操作系统与主机共享相同的内核,有时是操作系统的一部分.这种增强的共享为容器提供了一个很大的优势,因为它们比虚拟机管理程序的客户更精简,更小,仅仅因为它们与主机共享更多的部分.它还为客户提供了巨大的优势,即客户内核在容器之间共享资源的效率要高得多,因为它将容器看作是要管理的资源.

    示例:容器1和容器2打开相同的文件,主机内核打开文件并将页面放入内核页面缓存中.然后在需要时将这些页面分发给容器1和容器2,如果两者都想要读取相同的位置,则它们都获得相同的页面.在VM1和VM2执行相同操作的情况下,主机打开文件(在主机页面缓存中创建页面),但VM1和VM2中的每个内核都执行相同的操作,这意味着如果VM1和VM2读取相同的文件现在有三个独立的页面(主机的页面缓存中有一个,VM1和VM2内核),因为它们不能以与容器相同的方式共享页面.这种高级容器共享意味着容器中的密度(可以在系统上运行的虚拟机的容器数量)比Hypervisor情况高出三倍.

    简介:KVM是一个基于模拟虚拟硬件的Hypervisor.另一方面,容器基于共享的操作系统,并且更加简洁.但这对我们使用单个共享内核的容器造成了限制,因此无法在同一共享硬件上运行Windows和Linux

    2023-02-10 15:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有