各位老铁们,大家好,今天由我来为大家分享详解KVM概念、架构、功能、常用工具及虚拟化部署,以及的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
Hypervisor直接安装在主机的逻辑上:Hypervisor直接安装在物理机上,多个虚拟机运行在Hypervisor上。 Hypervisor的实现一般是专门定制的Linux系统。 Xen 和VMWare 的ESXi 都属于这一类。
KVM概念
KVM的全称是Kernel-based Virtual Machine。它是Linux的一个内核模块。该内核模块将Linux 转变为虚拟机管理程序:
它由Quramnet开发,2008年被Red Hat收购。它支持x86(32位和64位)、s390、Powerpc等CPU。自Linux 2.6.20 起,它已作为模块包含在Linux 内核中。
但是,KVM 需要支持虚拟化扩展的CPU。
KVM架构
KVM 是基于虚拟化扩展(Intel VT 或AMD-V)的X86 硬件的开源Linux 原生全虚拟化解决方案。在KVM中,虚拟机被实现为一个常规的Linux进程,并由标准的Linux调度程序进行调度;虚拟机的每个虚拟CPU都被实现为常规Linux进程。这使得KMV 能够使用Linux 内核的现有功能。
然而,KVM 本身不执行任何硬件模拟,需要客户空间程序通过/dev/kvm 接口设置客户虚拟服务器的地址空间,为其提供模拟I/O,并将其视频显示映射回主机的视频显示。显示屏幕。目前这个应用程序是QEMU。
Linux上的用户空间、内核空间和虚拟机:
KVM架构
阐明:
Guest:访客系统,包括CPU(vCPU)、内存、驱动程序(Console、网卡、I/O设备驱动程序等),被KVM置于受限CPU模式。 KVM:运行在内核空间,提供CPU和内存虚拟化,以及客户端I/O拦截。 Guest的I/O被KVM拦截后,交给QEMU处理。 QEMU:修改后的KVM虚拟机QEMU代码,运行在用户空间,提供硬件I/O虚拟化,通过IOCTL /dev/kvm设备与KVM交互。
KVM功能
KVM 支持的功能包括:
支持CPU和内存复用,支持半虚拟化I/O(virtio),支持热插拔(cpu、块设备、网络设备等),支持对称多处理(Symmetric Multi-Processing,缩写为SMP),支持实时迁移。 (Live Migration)支持PCI设备直接分配和单根I/O虚拟化(SR-IOV)支持内核页合并(KSM)支持NUMA(Non-Uniform Memory Access,非统一内存访问结构)
KVM常用工具
简单介绍这里KVM 的一些常用工具:
libvirt:用于操作和管理KVM 虚拟机的虚拟化API。它是用C语言编写的,可以被Python、Ruby、Perl、PHP、Java等语言调用。可以操作虚拟机管理程序,包括KVM、vmware、XEN、Hyper-v、LXC等。
Virsh:基于libvirt 的命令行工具(CLI)
Virt-Manager:基于libvirt的GUI工具
virt-v2v:虚拟机格式迁移工具
virt-*工具:包括Virt-install(创建KVM虚拟机的命令行工具)、Virt-viewer(连接虚拟机屏幕的工具)、Virt-clone(虚拟机克隆工具)、virt-top等。
sVirt:安全工具
用户评论
终于找到了一个解释KVM详细的博文!我一直很迷茫虚拟化这玩意儿,看完这篇完全明白了。从概念到架构,再到功能和常用工具,都说得清楚明白,真厉害!部署这个部分我还得慢慢研究一下...
有14位网友表示赞同!
写的不错啊,对KVM有大致的了解了。之前想过学习虚拟化技术,看看到这篇文章感觉KVM确实挺好用的,尤其对于服务器部署来说很实惠。不过想要真正的掌握还需要多实践练习哦!
有19位网友表示赞同!
KVM我一直不太看好,觉得复杂又慢,这篇博文讲得还不错,让我对它的功能有了更深入的了解。也许我之前的认知错了?还是说只是个人的使用场景不同?
有20位网友表示赞同!
这篇文章把虚拟化概念解释得很清楚,让我能更好地理解KVM的工作原理了!架构和功能部分都说得详细,还有常用的工具介绍,确实挺宝贵的学习资料啊!部署部分我是看不懂的,我技术水平还不太够...
有14位网友表示赞同!
标题说的太直白了!想学KVM可得自己动手实践啊~
有14位网友表示赞同!
虚拟化这个东西越来越重要了,这篇博文正好点明了学习KVM的重要性。感谢作者分享详细的资料和讲解,让我对KVM有了更清晰的认识。下次尝试部署起来好了!
有13位网友表示赞同!
对于我这种技术小白来说,感觉这篇文章写的太深入了,很多关键词都不懂。需要多看看辅助资料才能全面的理解kVM concept and arch.
有14位网友表示赞同!
这篇博文让我对KVM有了更深的了解,尤其是它的功能部分真是强大!可以用来搭建测试环境,也可以部署应用服务... 感觉以后学习虚拟化技术的时候KVM一定会成为首选了!
有6位网友表示赞同!
这篇文章讲得真棒啊!从概念到架构,再到常用工具和部署方法都解释得很清楚。对于想要学习KVM的人来说简直就是一份宝贵资料!赞一个
有14位网友表示赞同!
虽然文章写的详细,但还是建议作者可以加入一些实例和案例的讲解,这样更容易理解KVM的工作原理和应用场景。我的技术水平有限,单纯依靠文字描述很难深入了解...
有10位网友表示赞同!
感谢作者分享这么好的资源!我一直想尝试使用KVM,但总觉得比较复杂,这篇博文让我对它的结构和功能有了更直观的认识。准备下载一些文档,继续学习一下!
有6位网友表示赞同!
这篇博文很有帮助!!特别是对于像我这样刚开始接触虚拟化的人来说,能快速了解KVM的概念和基本架构非常重要。部署部分可以详细一些,比如不同服务器环境的配置方法等等
有12位网友表示赞同!
说句实话,读完这篇文章我依然觉得KVM挺复杂,尤其是在部署上让我感觉头疼...不过文章讲得确实很全面,至少知道应该从哪些方面学习和理解了!感谢作者的分享!
有15位网友表示赞同!
我之前对KVM了解不多,看了这篇博文后才知道原来它还能实现这么多功能! 现在越来越觉得虚拟化技术真是太强大啦!希望以后能多接触一些相关的项目。
有14位网友表示赞同!
作为linux用户来说,理解KVM是很重要的。这篇文章让我对它的工作原理有了更清晰的了解,也明白了它有哪些用途和优势。 部署部分确实需要多实践才能掌握
有13位网友表示赞同!
虚拟化技术越来越普及了,这个文章写的非常好! 希望能再加入一些比较实际的使用案例,这样就更加生动易懂啦。
有5位网友表示赞同!
我很喜欢这种讲解清晰、内容详细的文章, 帮了我的忙! 对KVM 函数功能方面需要进一步学习加强
有5位网友表示赞同!