从接触虚拟化技术到现在从事Openstack相关的开发已经好几年了,最初很多模模糊糊的概念现在看似也很简单,但是总觉得欠缺些什么,好吧那就给自己上上课,温故知新嘛。
虚拟化技术干什么的?
最早接触虚拟化是上学的时候使用虚拟机,当时要学习Linux,又不想在自己机器上直接装,只能用虚拟机了,当年学生狗电脑不够给力,只觉得虚拟机太坑啊,但是能给让我很好的在PC中运行另一个操作系统,已经很让我吃惊了,性能的问题就不足挂齿了。
然后我开始用自己的方式慢慢的去理解虚拟化是什么,我觉得最根本的需求就是资源的合理分配,才促使虚拟化技术的诞生和发展。比如一筐梨,有10斤,有10个人,每个人都想要1斤梨,不过可能10斤梨一共是9个梨,而且大小也不一定均匀,这样是很难公平合理的给每个人进行分配的。但是如果有这些梨都变成梨汁的话问题就不一样了,通过榨汁处理后的果汁基本可以做到按需分配,而且成分几乎一样。
同样的道理,服务器有很多但是面对人们各种各样或大或小的需求,传统的方式是很难分配的,有的可能资源不足,有的可能资源过剩,如果能把所有的服务器中的资源进行抽象然后池话,就可以做到按需使用,合理的进行资源分配了。
所以虚拟化技术就相当于一个榨汁的过程,将物理资源进行抽象。
云计算是干什么的?
后来自己接触了云计算,从事了Openstack,那这就容易理解很多了,虚拟化技术将作为整体的物理资源进行“榨汁”抽象,那每一个物理服务器都做相同的处理,最后形成一个庞大的资源池,那如何从资源池中获得资源,资源如何使用以及统一的调度管理,资源不够的时候怎么办,每个人能使用多少资源等等,说到这里可以看出来,“榨汁”虽然获取实现起来有些难度,但是在整个资源分配的过程中只是最基本的一环,最后想要这些资源形成生产力是需要一个庞大的系统来支撑的,这就是云计算的作用。如果说虚拟化技术是一个榨汁过程的话,云计算技术就是一整套果汁店的运行方案了。
虚拟化技术有哪些
这里参考了一篇文章,可以点这里查看。
其实分类有很多种,站在不同的角度看待一个事物就会有不同的结果,那从我自己所接触的并且容易理解的方式,我觉得可以分为三种,硬件仿真,全虚拟化以及半虚拟化。
硬件仿真
在物理机上创建一个模拟硬件的程序,来仿真所有的硬件,在这个程序之上运行虚拟机,最典型的就是QEMU了。
- 优点:虚拟机操作系统(VM OS)不需要更改
- 缺点:由于所有的硬件都是软件模拟的,所以性能很差
全虚拟化
虚拟机的操作系统与底层硬件是完全隔离的,由Hypervisor捕捉并进行转化由VM OS对硬件的调用代码,比较典型的有KVM。
- 优点:无需更改虚拟机操作系统,兼容性好。
- 缺点:性能一般,特别是I/O性能
半虚拟化
与全虚拟化技术类似,利用Hypervisor来实现对底层硬件的共享访问,但VM OS中需要集成半虚拟化相关的代码,也就是让虚拟机自己知道是一个虚拟机,来配合Hypervisor。通过这种方式无需捕捉特权指令,所以性能非常好。最典型的的是Xen。
- 优点:性能好
- 缺点:需要对VM OS进行更改
这里曾经自己有一个疑惑,不太清楚硬件仿真和全虚拟化的区别在哪里,也可能是中文名字的诱导,现在还算清晰一些,硬件仿真的方式,虚拟机执行的指令都是由仿真程序模拟的,而全虚拟化中的虚拟机的指令是经过Hypervisor转给底层硬件的,后者如果还算是真正的调用了底层硬件的话,前者根本就是假货,都是仿真程序模拟的。是由根本区别的。
Hypervisor又是什么?
上面说到虚拟化技术相当于一个榨汁的过程,更准确点来说算是一个完整榨汁的方案,那Hypervisor就是一个榨汁机。这时候再看下准确点的定义应该能更清晰了,参考这里吧,这篇文章这样写的:
虚拟化 就是通过某种方式隐藏底层物理硬件的过程,从而让多个操作系统可以透明地使用和共享它。这种架构的另一个更常见的名称是平台虚拟化。在典型的分层架构中,提供平台虚拟化的层称为 hypervisor (有时称为虚拟机管理程序 或 VMM)。来宾操作系统称为虚拟机(VM),因为对这些 VM 而言,硬件是专门针对它们虚拟化的。图 1 简单的展示了这个分层架构。
figure1.gif
hypervisor 可以划分为两大类。首先是类型 1,这种 hypervisor 是直接运行在物理硬件之上的。其次是类型 2,这种 hypervisor 运行在另一个操作系统(运行在物理硬件之上)中。类型 1 hypervisor 的一个例子是基于内核的虚拟机(KVM —— 它本身是一个基于操作系统的 hypervisor)。类型 2 hypervisor 包括 QEMU 和 WINE。
type1.png
type2.png
之前也混淆过Hypervisor的分类与虚拟化的分类情况,现在这样看的话就能分清了,虚拟化如果是一套榨汁理论的话,Hypervisor是真正的榨汁机的按个产品。
这些内容这么长时间翻来覆去的也看了很多遍,但是放到一起的话感觉自己才看明白了,2017希望自己坚持下去,温故知新!
网友评论