KVM(Kernel-based Virtual Machine)最初是由以色列的公司Qumranet开发的。KVM在2007年2月被正式合并到Linux 2.6.20核心中,成为内核源代码的一部分。2008年9月4日,RedHat公司收购了Qumranet,开始在RHEL中用KVM替换Xen,第一个包含KVM的版本是RHEL 5.4。从RHEL 6开始,KVM成为默认的虚拟化引擎。KVM必须在具备Intel VT或AMD-V功能的X86平台上运行。在Linux内核3.9版中,加入了对ARM架构的支持。具体kvm虚拟化支持的处理器可以通过官网进行查询。
KVM包含一个为处理器提供底层虚拟化、可加载的核心模块kvm.ko(kvm-intel.ko或kvm-amd.ko),使用QEMU(QEMU-KVM)作为虚拟机上层控制工具。KVM不需要改变Linux或Windows系统就能运行。
实际上,在Linux中,kvm就是内核中的一个模块,用户空间通过QEMU模拟硬件提供给虚拟机使用,而一台使用kvm创建的虚拟机就是一个Linux中的进程,管理这个对应的进程就是相当于管理整个对应的虚拟机。
根据 文档的描述,类似于qemu的作用,kvmtool是一个支持运行KVM Guest OS的 host os端用户态虚拟机工具,它是一个纯虚拟化工具,guest os不需要修改即可运行其上, 不过,由于KVM是基于CPU的硬件虚拟化支持的,所以类似于qemu-kvm,它只支持基于相同架构的Guest OS.
kvmtool代码量只有5KLOC,是一个干净的、从头开始写的、轻量级虚拟化工具, 由于轻量,对于想要学习虚拟化的人来说非常友好。kvmtool 作为KVM主机工具实现,可以引导Linux映像,无需BIOS和其他相关依赖. 下面我们尝试基于ubuntu22环境下搭建一个kvmtool运行环境,在虚拟机上运行另一个linux guest os。
主机环境
本实验使用的主机系统是ubuntu22.04,具体信息参考下图:
下载代码
下载kvmtool:
下载busybox:
/code>
img alt="" src="https://i-blog.csdnimg.cn/blog_migrate/3fc30e567bd0987fbd328690c1578179.png" width="1200">
img alt="" src="https://i-blog.csdnimg.cn/blog_migrate/4ef74deaba031bef100951b9e91d7e03.png" width="1200">
img alt="" src="https://i-blog.csdnimg.cn/blog_migrate/44d8c18cb8b7ee07cf791e4996bd686d.png" width="626">
运行虚拟机执行如下命令
到此这篇kvm虚拟化有哪些组件组成(kvm虚拟化中的组件有哪些)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/do-docker-k8s/15934.html