云计算、openstack 介绍

概述:

要说 openstack, 那就又要说到云计算,现在这个时候,不懂点什么云计算、分布式存储, 好像都赶不上这互联网的潮流了, 云计算的概念最早由GOOGLE提出, 在2006年的时候亚马逊就已经有了云计算的产品(AWS EC2)。  在近几年,云计算 在全国各地开花。而这其中最热门的一个就是openstack了。

openstack  是目前很火的一个云管理平台,可以控制整个数据中心的计算、存储、网络资源,从它的名字就可以看出它的本意,open 开放,stack 是栈、堆的意思,也就是说openstack  是由一些很多其它的东西堆砌而成。  首先,openstack  不是一个单独的软件,很多刚开始接触的人都认为它是一个软件,实际上 openstack 是很多组件在一起协同工作。 

openstack 是一个开源项目,最早由美国NASA 和 Rackspace (全球三大云计算中心之一)合作研发的项目,2010的7月 开源。跟VMware的产品相比,openstack 的好处就是 解除产商绑定、具有扩展性、可定制化IAAS。但是;入手难、学习路线陡峭。   好用还是觉得VMware 的产品用着方便, 毕竟花了钱的东西就是不一样,不用自己去折腾。  但是openstack 有自己很活跃的开源社区,也一直在完善。

 

为什么要用云计算:

 

现在的数据中心,也就是公司的机房,都会遇到 一个问题,例如:有某个项目需要十台服务器,每台服务器有100TB硬盘,200GB内存  ,来完成这个项目,而这个项目做成以后,往往是 这些硬盘、内存、CPU的利用率 不高, 都会有剩余出来,这就造成了资源上的浪费,而云计算就可以以一种非常灵活的方式,按需提供服务(按需:指的就是使用多少CPU、内存、硬盘) ,那云计算就是最好选择。云计算 是上很多种技术融合在一起的一个产物,如虚拟化、分布式计算、负载均衡、。  通常有云计算的地方,就肯定有虚拟化、分布式、负载均衡、这些东西出现。  虚拟化:虚拟化技术也就从2008年开始潮流起来。KVM是目前与openstack 用的非常多的,  除了KVM、还有XEN、ESX\LXC\Hyperv 这些虚拟化技术。

在虚拟化技术里又分为:

软件模拟、虚拟化层翻译、容器虚拟化三个阶段:其中虚拟化层翻译又分为:软件捕获翻译,就是软件全虚拟化。  半虚拟技术:改造虚拟机系统内核加虚拟化层翻译。   全虚拟化: 硬件支持的虚拟化层翻译。  

软件模拟:软件模拟就是通过软件完全模拟CPU、硬盘、网卡等硬件。   因为是软件模拟,所以理论上可以模拟任何硬件,一般只用于研究测试的场景。且效率非常低。采用这种技术的有BOCHS  \   QEMU等。

 

虚拟化层翻译:

在X86平台上指令集分为4 个特权模式: Ring0  Ring1 Ring2 Ring3   ,操作系统一般使用Ring0级别,应用程序在Ring3级别。   驱动使用Ring1  Ring2 级别。X86平台在虚拟化方面的一个难点就是将虚拟机越级的指令使用进行隔离。 最开始是VMware公司找到的解决办法,比如重启虚拟机不影响物理机的重启。这种就叫做全虚拟化方案。还有一种就是CPU指令改造,也就是我们平常使用电脑需要将BIOS 的 一个Virtualization Technology  support  打开,这个是硬件支持的全虚拟化方案。  现在都是使用基于硬件的虚拟化解决方案,并且操作都支持一些半虚拟化的特性

容器虚拟化:

容器虚拟化的原理是基于Namespace 、CGroups这种技术将进程隔离,每个进程都是一台单独的虚拟机一样,有自己 的目录,进程编号、内存空间。  基于容器的虚拟化可以在单一内核上运行多个虚拟机。  目前火热的容器技术Docker . docker就是可以将一个开发环境打包,迅速的在另一个系统上运行起来,这种技术在2013年出现。各大产商加入其中,如Redhat  、GOOGLE。。。。。

 

为什么要讲这么多虚拟化的东西,因为云计算 一般都是建立在虚拟化技术之上,利用虚拟化技术将一台物理机虚拟化 (虚拟物理机的CPU\内存\IO硬件资源)  以后,你就可以在这一台物理机上跑多个虚拟主机。例如  现在许多人都买了阿里的云主机, 云主机不就是虚拟机么。 按需分配,你要多少的硬盘、什么样带宽、怎么样的系统。 这些都是经过上述中的虚拟化技术实现,它的背后有很的服务器, 这就是一个虚拟池。 你的云主机 就是建立在这个虚拟池上。

 

openstack 已经走过7个年头,现在的版本是OCATA,每半年发布一个版本,版本号都是以字母命名。到目前openstack 已经有非常多的组件。而我们主要掌握的就是它的几个核心模块。计算、网络、存储,这三个模块。先看它的架构图:   都是通过一个dashboard 去管理这三类资源。

云计算、openstack 介绍

 

下面是openstack 的组件使用情况: 采用率adoption :达到%90 基本上能使用部署此模块、成熟度:8是满分,代表这个模块的稳定程度、使用的年限。

 云计算、openstack 介绍

 

转载于:https://www.cnblogs.com/tonycloud/articles/6718606.html