一、虚拟化技术介绍
虚拟化技术是对物理资源进行抽象的过程,包括将多个物理资源抽象为一个资源池,或者将一个物理资源抽象成多个虚拟资源。
谈到虚拟化,虚拟机是避免不了的。这里,我们就来了解下虚拟机的概念。
对虚拟机来说,虚拟化前:硬件和OS完全独立;而虚拟化后,硬件和OS紧耦合,将硬件虚拟化成一个资源池,虚拟机从资源池中分配资源。
从这里可以看出,虚拟机具有这样几个特性:
1. 分区
一台物理服务器可以安装多台虚拟机
2.隔离
一台服务器上安装的多台虚拟机之间相互隔离
3.封装
虚拟机的运行环境被封装在一个独立的文件中
4.独立
虚拟机可以在不同的服务器上直接迁移,而不须改动
所以说,虚拟机是物理机的一种高效、隔离的复制,且资源可控,由Hypervisor统一对硬件资源进行管理。
从3个层次理解,就是同质、高效、资源受控!!
二、虚拟化架构及发展趋势
虚拟化架构,包括寄居虚拟化、裸金属虚拟化、操作系统虚拟化、混合虚拟化。
其中,寄居虚拟化架构,将虚拟化层以应用程序形式安装到服务器操作系统,提供虚拟化功能。操作系统限制了虚拟机对物理设备的支持,也就是说,虚拟机只能使用操作系统支持的设备。性能损耗大,但实现简单。典型例子,像Vmware Workstation、Virtual Box.
裸金属虚拟化,直接将虚拟化层安装到服务器上,不需要额外的操作系统支持。可扶持多个操作系统,性能损耗低,但需要在内核层实现,难度大。典型例子有,Vmware ESX、Hyper-V、Xen Server、以及化为的UVP.
操作系统虚拟化架构,实现简单,但隔离性差,只能支持与操作系统相同的虚拟机。
混合虚拟化架构,采用支持虚拟化的硬件来实现,典型的例子是KVM,无须修改虚拟机的操作系统,性能高。
硬件虚拟化技术的出现,逐渐消除了各种软件虚拟化技术的差别。
裸金属虚拟化和混合虚拟化是今后虚拟化发展的方向。且随着虚拟化技术向标准化方向发展,适合特定应用场景的增殖软件会是各虚拟化厂商的生存点。
三、虚拟化技术原理
见本博客中关于虚拟化的其它文章。
http://blog.youkuaiyun.com/kidd_3/article/details/7650230
四、XEN/KVM的选择?
KVM为了将其代码推入LINUX核心,花费一年多都没有成功,LINUX社区大佬不欢迎虚拟化进入内核。
而XEN开源虚拟化软件是当前支持厂家最多的虚拟化软件,且INTEL这个大佬非常欢迎XEN的发展,所以,选择开源的XEN,而不是KVM是明智的选择。
五、产品开发特性
1. 前后端驱动
2. 内存over-commit(内在共享、内存swap、内存ballooning)
3. 多队列中断分摊和VM直通(将两层软交换改为由硬件网卡实现)
4. 自适应网络低延时性能优化(将小包聚合后批量发送)
5. 定位故障的黑匣子