开源云计算技术有很多, 包括Eucalyptus、OpenNebula和OpenStack等。其中很多开源技术都存在商业版,导致开源的版本功能很少或者不完善。我选择用OpenStack来实现开源云构建,因为OpenStack是完全开源的技术,没有任何收费版本或者商业版本。OpenStack是由Rackspace和NASA共同开发的云计算平台,帮助服务商和企业内部实现类似于Amazon EC2和S3的云基础架构服务(Infrastructure as a Service,IaaS)。OpIenStack包含两个主要模块:Nova和Swift,前者是NASA开发的虚拟服务器部署和业务计算模块;后者是Rackspack开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack除了有Rackspace和NASA的大力支持外,后面还有包括Dell,Citrix,Cisco,Canonical这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台Eucalyptus的态势。
开源云技术构建
随着信息建设的发展,每个单位的信息中心都会面临越来越多的服务器和越来越多的部门需要自己的服务器。原来单位里是按照部门给分配服务器,这样虽然看起来很好,每个部门有自己的服务器。但是资源浪费很大,因为并不是每个部门都可以把服务器资源使用到满负荷,而且每个部分还要有人管理服务器的硬件维护。虚拟化可以很好的解决这个问题,但是对于多服务器的资源整合和动态分配,资源的统一管理等方面虚拟化并不能全部解决。
我们的想法是在企业的信息中心建立企业内部的私有云。将闲置的服务器资源组成企业的私有云平台来为各个部门服务。考虑到初期的建设难度和技术门槛,我们开始完全可以基于开源的OpenStack技术从原来的虚拟化过度到IaaS(基础设施即服务)的云平台上面。
OpenStack总体上分为三个部分组成Nova、Swift和Glance。Nova负责云计算平台的资源管理。Swift是存储模块,负责映像存储、备份和归档等。Glance是映像服务模块,负责云平台中虚拟化系统的映像管理。OpenStack每个模块之间是无关联的,我们可以将所有模块部署在一台服务器,也可以部署在多台服务器。作为初步体验云平台,我们完全可以用2台服务器加一台客户机来实现云计算平台的部署。具体部署可以参考OpenStack的官方手册,这里就不在列出。随着云的建立,我们可以将单位中各个部门的服务器全部放在云里。每个部门的服务器其实就是云里的一个虚拟化实例,所有数据统一存储在Glance模块创建的卷里。每个实例可以很方便的在云里不同的硬件服务器中迁移和动态分配不同的资源给实例。
随着信息化发展,云计算平台将会越来越普及。企业早一步实现自己的云平台,就能在将来的发展中具有更大优势。通过云的应用,可以降低信息化建设成本并降低各部门重复投资的硬件与管理成本。而且目前开源云技术已经日趋成熟和稳定,完全可以满足企业的日常需要。