云计算所包含的技术很多,其中最重要的就是虚拟化技术,虚拟化技术就是透过软件创建出一个虚拟的服务器,比如一台服务器可以虚拟出多个虚拟的服务器,现在比较流行的是容器技术,也是跟虚拟机一样的概念,只是虚拟机的操作系统是独立的,而容器是多个容器共用一个操作系统。而虚拟化技术有可拆分为计算虚拟化、储存虚拟化和网络虚拟化,当使用阿里云创建虚拟机时,这些就是我们要选择的规格(CPU、内存、硬盘、带宽)下面将分别介绍。

1、        计算虚拟化:

计算虚拟化就是将计算的原件虚拟化,包含了CPU、内存、I/O

CPU虚拟技术可以将一个CPU虚拟成多个vCPU,技术原理就是在操作系统和硬件之间加上一层VMM层,并将特权指令拦截,由VMM来完成这些重要的调度(在X86里面由于有些敏感指令不是特权指令,会造成虚拟化的漏洞,目前的解决方法有半虚拟化、全虚拟化和硬件辅助虚拟化三种方式)。

内存虚拟化就是透过VMM层,将物理的内存统一管理,再分割成多个虚拟内存供虚拟机使用。而I/O虚拟化也是通过VMM层捕获前端传来的信息再转发到后端处理。借由VMM层,虚拟化软件可以更好的掌控硬体资源的使用情况与调度指令,以供虚拟机来使用。

 2、存储虚拟化:

存储虚拟化就是在存储资源上加上逻辑层,透过逻辑层去调用存储资源。可以方便调度存储资源,提供利用率。这边要说关于存储快照,也就是备份,一般来说全量备份就是将所有的资料都进行备份,但是比较耗时,所以通常是一周全备份一次,而变量备份是记录从上次备份到现在所有变动的地方,工作量相对较小,适合每天执行。

3、网络虚拟化:

由于主机被虚拟了,所以网络沟通也需要配合一并虚拟化,以抓取到虚拟机,举个例子,假如一台服务器上虚拟出了两天虚拟机,虽然物理上他们是在同一台机器,可以两个虚拟机仍然需要透过网络来做数据交换,这个网络就是我们需要去虚拟出来的。目前网络虚拟化技术又可分为vswitcheswitchQBGvswitch是由CPU来虚拟出网络,缺点是会消耗CPU资源,而eswitch是由特殊网卡来虚拟,QBG是透过物理交换机实现,比较少见。eswitch会是未来比较主流的方式。而虚拟网络透过UDP方式封装信息包,透过网络层进行虚拟机之间的数据传输,实现所谓大二层网络的概念,这种网络又称为VXLAN,由于在云端虚拟机的数量是非常庞大的,无法靠传统的虚拟交换机来传输信息,透过第三层VTEX的技术只需要查看IP头就可对包先进行简单分类,降低交换机的压力。