Linux kernel KVM和LXC之间的差异

Linux kernel KVM和LXC之间的差异,linux-kernel,kvm,lxc,cgroups,linux-namespaces,Linux Kernel,Kvm,Lxc,Cgroups,Linux Namespaces,KVM和Linux容器(LXC)之间有什么区别?在我看来,如果我们同时使用内核的“名称空间”和“控制组”功能,LXC也是在同一内核中创建多个VM的一种方式。版权所有©2014 Red Hat,Inc.: Linux容器与KVM虚拟化的比较 KVM虚拟化和Linux之间的主要区别 容器是指虚拟机需要一个单独的内核实例 运行,而容器可以从运行 系统。这大大降低了容器的复杂性 创建和维护。此外,减少的开销允许您创建 大量具有更快启动和关闭速度的容器。 Linux容器和KVM虚拟化都有一定的优势 以及影

KVM和Linux容器(LXC)之间有什么区别?在我看来,如果我们同时使用内核的“名称空间”和“控制组”功能,LXC也是在同一内核中创建多个VM的一种方式。

版权所有©2014 Red Hat,Inc.:

Linux容器与KVM虚拟化的比较 KVM虚拟化和Linux之间的主要区别 容器是指虚拟机需要一个单独的内核实例 运行,而容器可以从运行 系统。这大大降低了容器的复杂性 创建和维护。此外,减少的开销允许您创建 大量具有更快启动和关闭速度的容器。 Linux容器和KVM虚拟化都有一定的优势 以及影响使用这些技术的用例的缺点 通常适用于:

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

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

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

Linux容器:
Linux容器的当前版本主要设计用于 支持隔离一个或多个应用程序,并计划实施 在不久的将来会有完整的操作系统容器。你可以创造也可以毁灭 容器非常容易,维护也很方便

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

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


本白皮书介绍了虚拟机监控程序和linux容器之间的区别,以及容器背后的一些历史

该报摘录如下: 虚拟机监控程序通过让主机运行来工作 系统仿真机 硬件,然后提出 其他虚拟机(VM) 作为来宾操作系统 最棒的硬件。这 意味着通信 宾主之间 操作系统必须遵循 硬件范例(任何东西) 这可以通过硬件实现 可以由主机来完成 客人)

另一方面,, 容器虚拟化(如图所示) 在图2中),虚拟化是否处于 操作系统级别, 而不是硬件级别。 所以每一位客人都在操作 系统共享同一内核,并且 有时是操作系统的一部分,带有 主持人。这种增强的共享提供了 容器的一大优势在于它们是 比虚拟机监控程序来宾更精简、更小, 只是因为他们分享了更多的信息 与主持人分享作品。这也给了他们机会 客户机内核的巨大优势是 更高效地共享资源 在容器之间,因为它可以看到 容器作为简单的资源 管理

例如: 容器1和容器2打开同一个文件,主机内核打开该文件并 将其中的页面放入内核页面缓存。然后将这些页面分发给 容器1和容器2,因为它们是需要的,如果两者都想读取相同的内容 位置,它们都得到相同的页面。 在VM1和VM2执行相同操作的情况下,主机将打开文件(创建 但VM1和VM2中的每个内核都会 同样的道理,也就是说,如果VM1和VM2读取相同的文件,那么现在有三个 单独的页面(主机、VM1和VM2内核的页面缓存中的一个页面)只需 因为它们不能像容器那样共享页面。这 容器的高级共享意味着 您可以在系统上运行的虚拟机)在 容器案例与虚拟机监控程序案例相同

总结:
KVM是一个基于仿真虚拟硬件的虚拟机监控程序。另一方面,容器基于共享的操作系统,并且更为精简。但这对容器造成了限制,即我们使用单个共享内核,因此无法在同一共享硬件上运行Windows和Linux,或者Linux容器是基于操作系统的轻量级可移植虚拟化单元,共享基本操作系统的内核,但同时作为一个独立的环境使用它自己的文件系统、进程和TCP/IP堆栈。它们可以与FreeBSD上的Solaris区域或监狱进行比较。由于没有虚拟化开销,它们的性能比虚拟机要好得多


KVM表示在自己的Linux内核中构建的虚拟化功能。正如前面的回答中所述,它是类型2的虚拟机监控程序,也就是说,它不是在裸机上运行。

请总结您在回答中提供的链接内容。请注意,这句话中的package一词是正确的