关于虚拟化技术的几个问题
前两天有人问了我几个服务器虚拟化的问题,这里我总结一下,分享给大家: 1:全虚拟化与准虚拟化的真正区别在哪? 真正区别在于架构不同:由于虚拟机的指令和传统操作系统的指令内涵不一致(例如关机,虚拟机只要求释放内存与cpu时间,而传统指令需要断电);所以如何让硬件执行传统os的指令是关键。全虚拟化是将传统os的指令进行翻译,交给物理机执行,扮演了翻译的角色,以前一次的交互需要来去两次指令传送,而全虚拟化就需要4次传送和2次转义,则效率损失较大。 泛(准)虚拟化是将操作系统或者硬件转变为能够理解对方指令的角色(两者之间有一个知道自己是运行在虚拟环境下得),对于linux系统,采用的技术是修改内核,目前linux内核标准都支持xen,对于Windows系统,采用硬件支持(即用intel-v,amd-vt技术的芯片),让硬件知道上层运行虚拟机,所以传输的指令需要不按照以前的方式运行。这种架构还是保证一次交互进行2次指令传输,效率损失比较低。 2:Xen的整体架构是怎样的,在硬件到应用中它扮演什么样的角色,如何进行控制的? 在xen的架构里,硬件其实就是一个平台,硬件服务器被放置在一个资源池中...