IaaS是云计算系统中最复杂、最难实现的部分。尽管当下有许多云计算系统,但是能够让程序员操作并能够通过源码实践的,也就只有开源云计算软件。开源云计算软件中,OpenStack的出现并不早,但是却通过优美的代码、灵活的模块和不断完善得到了开源社区的青睐。OpenStack是一个IaaS层的软件,其目标在于提供可靠的云部署方案及良好的可扩展性,从而实现类似于Amazon的云基础架构服务IaaS。
OpenStack采用A-Z开头的不同的单词来表示各种不同的版本。2010年发布了OpenStack第一版本Austin。从Austin版本开始,经历了Bexar、Cactus、Diablo、Essex、Folsom,然后是Grizzly。

OpenStack各个组件及功能

读书笔记-OpenStack开源云 王者归来 概述_swift


OpenStack包含3个重量级组件:Nova、Quantum和Swift。在三大组件中,Nova负责Compute模块,Quantum负责虚拟网络,而Swift主要负责云存储。

虚拟机管理系统Nova

读书笔记-OpenStack开源云 王者归来 概述_云计算_02

  • Web UI 主要是呈现给管理员使用
  • Nova 主要负责用户、权限管理;数据库交互;最主要的还是虚拟机资源管理
  • Hypervisor 虚拟机管理软件,比如Qemu、KVM/Libvirt、XEN等开源软件
  • 操作系统:采用Linux发行版
    Nova是OpenStack三大部件之一,云计算最核心的部件。OpenStack底层的虚拟机可以支持KVM、XEN、VirtualBox、Qemu、LXC和vmware等,KVM的支持是最完善的。

磁盘存储系统Glance与Swift

安装虚拟机时,每次虚拟机从ISO安装都是一个繁琐的过程。在互联网应用中,往往需要大规模地创建新的虚拟机。如果每台虚拟机都从ISO进行安装,无疑会浪费许多时间。尽管PXE网络自动化安装,也是不错的选择,但是依然会把时间浪费在操作系统的安装上(只是节省人力时间)。并且PXE网络安装还面临的问题是虚拟机所处的网络环境可能是比较复杂的。

有一个简单的虚拟机安装方式:复制Image(指虚拟机的磁盘)。当安装号一台虚拟机之后,关闭这台虚拟机,保留Image。当需要创建一台新的虚拟机时,直接复制Image作为新建虚拟机的Image就可以了。采用这种方式,用户在使用云计算系统的时候,可以定制Image,然后上传到云系统中,就可以创建自己定制的虚拟机系统。虚拟机Image的传输常常需要占用大量的网络带宽。如果所有的Image的传输都通过Nova模块来进行,那么Nova接口的压力会变得相当大。所以,应该考虑把Image的管理独立出来,成为一个独立的Image管理系统,在OpenStack中命名为Clance。无论时用户Image的传输以及管理,或者Nova内部对Image的请求,都转向Glance。虚拟机Image的管理,则由Glance这个接口全权代理。

读书笔记-OpenStack开源云 王者归来 概述_openstack_03


读书笔记-OpenStack开源云 王者归来 概述_云计算_04


Swift是object storage及云存储的开源实现。在只需要云存储的环境中(比如只提供存储服务,各种云盘、网盘等)也可以单独使用。

虚拟网络管理Quantum

读书笔记-OpenStack开源云 王者归来 概述_openstack_05


读书笔记-OpenStack开源云 王者归来 概述_openstack_06

OpenStack,真的要凉了? 网络上对OpenStack看衰比较多,暂时放弃学习OpenStack,all in Docker学习。