说到KVM,很多人已经不再陌生,毕竟这么多年的云计算,虚拟化各种概念的盛行,不管是业内还是兴趣人士都早已耳濡目染,而对于一些新手小白来说,KVM到底是什么,为什么说到虚拟化就提到KVM,这些可能还不是太了解,接下来咱么就来简单的聊一下关于KVM的一些细节,希望对大家有所帮助。
KVM是什么意思?我们先来了解一下概念性的内容,看看KVM 是什么意思,KVM:Kernel-based Virtual Machine(基于内核的虚拟机),是基于Linux的一种虚拟化技术,主要是指在2007年以后发现的Linux版本,从Linux 2.6.20之后,KVM真正成为Linux的一部分,并合并到内核中。
KVM可以帮助用户在一台主机中运行多个隔离的虚拟环境,我们可以把这些虚拟环境成为虚拟桌面,它们都有自己独立的操作系统,资源分配,可以给不同的用户同时使用,很大程度上提高了资源的利用效率,降低了成本。
在现实环境中,这些主机一般都会部署在企业的私有云,或者公共互联网上,在对虚拟桌面进行了很多的优化,并增加了相关的管理平台之后,就组建演化成了今天的VDI云桌面。
KVM的原理是什么?要了解KVM的原理,我们先简单说明一下KVM是如何运行的,KVM虚拟出来的桌面,就像一台完整的电脑,拥有独立的操作系统,像处理器管理,内存管理,设备驱动等等都与普通电脑并无二致。
KVM要实现这样的功能,就包含一下几个方面虚拟化的内容:1.CPU(处理器)虚拟化 简单来讲,CPU虚拟化就是把主机中的CPU根据核心数量和线程数量来做划分,使其看起来就像一个独立的处理器,举例来说,INTEL Xeon E5-2680 V4 ,这是一款intel服务器cpu,包含14核心,我们可以通过CPU虚拟化技术,把这14个核心分成7个虚拟cpu,每个虚拟CPU都有2核心,当然现实中并不会这么简单,KVM对于CPU的虚拟化是非常复杂的,包含一些虚拟化模式,虚拟化类型,以及对各个线程的分配,性能优化等等,这里我们只是举例说明原理。这样就可以在一台服务器上虚拟出多个单独的处理器分给用户使用。
2.内存虚拟化 内存的虚拟化也是非常重要的,内存用来存放CPU即将要执行的指令和数据,内存的大小与访问效率对性能的影响直观重要,内存虚拟化就是保证物理内存的合理分配,并且实现隔离,管理等。内存的虚拟化也是非常复杂,主要涉及到cpu的寻址空间。
比如服务器上有100G的物理内存,需要分配给10个用户,每个用户就是10G的内存空间,我们可以简单这样理解,实际中,我们还需要给服务器自身运行预留一部分的内存空间,需要针对虚拟机的运行的操作系统来设计内存的大小,在分配资源时需要统筹全局,不要造成资源的浪费和闲置。
KVM还支持一种内存超分技术,就是分配给虚拟机的内存总数可以大于实际的物理内存,不过这样做并不会带来实际的效果,所以一般在生产环境中,并不会使用。
关于KVM的IO设备虚拟化,设备直通,我们下篇再来讲解,欢迎关注禹龙云。
推荐产品:
禹龙vdi虚拟化云桌面系统
作者:禹龙云 上传时间:2021-05-12 10:51:21
上一篇:<< 云终端可以当电脑主机用吗?-禹龙云 | 下一篇:云桌面系统详解二:KVM的IO设备虚拟化 >>