CPU的虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术已经成为未来计算机技术的一个重要的发展方向. KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。
还有一种虚拟技术Xen,Xen也是Linux下的一个虚拟化解决方案,也将很快被编入内核中。Xen的实现方法是,运行支持Xen功能的kernel,这个kernel是工作在Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件,虚拟出多个系统。Xen的缺点是,如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。
相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简,代码量更小,所以,出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。
kvm虚拟化技术由几部分构成,kvm内核模块(cpu和内存的虚拟化及管理),kvm其他硬件设备模拟。其中其他的硬件设备中,较为重要的有磁盘和网络设备,这部分的虚拟化是使用qemu来完成的,称作修改后的qemu,即qemu-kvm。当然,就用到了qemu技术,那么它对磁盘的管理和使用就用qemu-img来完成。
未来的虚拟世界,我们不敢想象,但是今天的虚拟化技术,已经给我们带来了很多便捷。我们期待着虚拟化的发展,kvm的发展。
——迈拓维矩
领取专属 10元无门槛券
私享最新 技术干货