虚拟化基础知识和KVM简介
让我们假设你年轻,但仍然是贫困学生,这意味着你只有Windows上的PC和所有可能平台上的PS4。有一天,你决定成为一名程序员,但来自互联网的聪明人告诉你,如果没有Linux,你就不会成为一名优秀的工程师。你不能将Fedora设置为你唯一的核心系统,因为你仍然需要Windows用于游戏和Facebook,而缺乏经验或仅仅是恐惧使你无法安装Linux作为第二个系统或者,假设您已经长大,现在您已成为大公司服务器的领导者,有一天您会注意到大多数服务器甚至都没有满载。出于安全原因,您无法在服务器上放置更多应用程序和数据,维护和支持不断增长的服务器场的成本也在不断增加。或者说,你已经有胡子和眼镜,你是工程总监,你不满意这样一个事实:为了部署一个新的应用程序,开发人员必须等待整整两个月才能获得新的服务器。如何在这种情况下取得进展,或者,也许,您是一名设计师,他为工商分析处理设计了一个新的复杂系统。您的系统包含诸如ElasticSearch,Kafka,Spark和许多其他组件之类的东西,并且每个组件必须彼此分离,明智地配置并与其他组件通信。你是一个优秀的工程师,你明白仅仅在你的系统上安装所有这个动物园是不够的。您需要尝试最大限度地部署到接近未来的生产环境,并且如果可能的话,使其基础可以在生产服务器上无缝地工作。
虚拟化允许在同一个硬件上安装大量彼此完全隔离并且并排运行的操作系统。一点点历史。第一批虚拟化技术已经在60年代问世,但对它们的真正需求仅在90年代出现,而服务器的数量却在增加。当需要有效利用所有硬件,优化更新流程,应用程序部署,安全保障以及发生某些灾难时的系统恢复时,就会出现这种情况。让我们留下不同技术和虚拟化方法开发的漫长而痛苦的历史 - 一位好奇的读者将??在文章的最后找到补充材料。重要的是所有这些最终结果:三种主要的虚拟化方法。
虚拟化的方法
无论采用何种方法和技术,在虚拟化中总会有一台主机和一个虚拟机管理程序,它可以在其上运行客户机。根据所使用的技术,管理程序可以是直接安装在硬件上的单独软件系统,也可以是操作系统的一部分。一个好奇的读者,喜欢热门词汇,经过几段话就会开始混淆他最喜欢的Docker容器也是虚拟化的。下次我们将讨论容器技术,但是,好奇的读者,你是对的,容器是一种虚拟化,但是在同一个操作系统资源层面。
动态翻译
在这种情况下,VM并不知道它们实际上是虚拟的。虚拟机管理程序即时捕获来自VM的所有命令并对其进行处理,替换为更安全的命令,然后将它们返回给VM。显然,这种方法会遇到一些性能问题,但它允许虚拟化任何操作系统,因为客户操作系统不需要修改。动态转换由VMWare使用 - VMWare是商业虚拟化软件的领导者。半虚拟化在半虚拟化的情况下,客户操作系统的源代码是故意修改的,因此所有指令都将以最有效的方式安全地执行。在那时,VM始终意识到它是虚拟的。优点 - 提高性能。缺点 - 您不能以这种方式虚拟化MacOS或Windows或任何其他操作系统,这些操作系统是您无权访问的。例如,在Xen和KVM中使用半虚拟化的方式。硬件虚拟化处理器创建者及时意识到,x86架构并不适合虚拟化,因为它最初只适用于一个操作系统。这就是为什么,在VMWare的动态转换和Xen的半虚拟化之后,英特尔和AMD开始生产具有硬件辅助虚拟化的处理器。起初它并没有提高性能,因为第一个版本的主要焦点是处理器架构改进。然而,现在,在英特尔VT-x和AMD-V出现10多年后,硬件虚拟化并没有让步,但即使是其他任何解决方案都能成功。我们稍后将使用的KVM(基于内核的虚拟机)也使用并需要硬件虚拟化。
以上就是小编对于虚拟化基础知识和kvm的一些简单的介绍,如果对于以上小编介绍的不太了解的,欢迎前来与小编交流探讨。