在linux中,kvm全称“Kernel-based Virtual Machine”,是一个开源的系统虚拟化模块;KVM可帮助开发者将Linux转变为虚拟机监控程序,使主机计算机能够运行多个隔离的虚拟环境。
本教程操作环境:linux5.9.8系统、Dell G3电脑。
linux kvm(基于内核的虚拟机)
kvm是Kernel-based Virtual Machine,是一个开源的系统虚拟化模块,是一种内建于 Linux 中的开源虚拟化技术,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。
KVM 可帮助您将 Linux 转变为虚拟机监控程序,使主机计算机能够运行多个隔离的虚拟环境,即虚拟客户机或虚拟机(VM)。
它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。
KVM 是如何运行的?
KVM 将 Linux 转变为 1 类(裸机恢复)虚拟机监控程序。所有虚拟机监控程序都需要一些操作系统层面的组件才能运行虚拟机,如内存管理器、进程调度程序、输入/输出(I/O)堆栈、设备驱动程序、安全管理器以及网络堆栈等。由于 KVM 是 Linux 内核的一部分,因此所有这些组件它都有。每个虚拟机都像普通的 Linux 进程一样实施,由标准的 Linux 调度程序进行调度,并且使用专门的虚拟硬件,如网卡、图形适配器、CPU、内存和磁盘等。
安装KVM的前提条件:
1、确定机器有VT
终端输入命令: grep vmx /proc/cpuinfo (INTEL芯片)
grep svm /proc/cpuinfo (AMD芯片)
不知道芯片的生产厂商则输入:egrep '(vmx|svm)' /proc/cpuinfo
如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机。
2、确保BIOS里开启VT
Intel(R) Virtualization Tech [Enabled]
如有必要,还需在BIOS中开启VT-d
3、确保内核版本较新,支持KVM
用uname -r查看内核版本,如果在2.6.20以下的linux版本,需升级内核。
总结:
总的来说就是一个虚拟机软件,可以在Linux下新建虚拟机;相对与VMware来说,Linux的KVM技术有原生内核的支持,相对来说会比VMware快很多。如果你正在用桌面版的Ubuntu/CentOS,那么建议直接用KVM来安装虚拟机,没必要再加多一层VMware。