linux高级技巧:redhat下的openstack搭建及应用


1.openstack的简介
OpenStack是一个美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。
OpenStack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。 OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为 基础设施即服务(简称IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。 OpenStack 是由 Rackspace 和 NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack 是开源项目,除了有 Rackspace 和 NASA 的大力支持外,后面还有包括 Dell、Citrix、 Cisco、 Canonical 这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。

适用范围:
OpenStack是IaaS(基础设施即服务)组件,让任何人都可以自行建立和提供云端运算服务。 此外,OpenStack也用作建立防火墙内的“私有云”(Private Cloud),提供机构或企业内各部门共享资源。


这个是openstack 的基本架构:
\

我们今天要搭建的是redhat的一个openstack组件,这个组建包括一下几个部分:

(1)计算:NOVA
(2)对象存储:SWIFT
(3)镜像:GLANCE
(4)身份:KEYSTONE
(5)网络&地址管理:NEUTRON
(6)块存储:CINDER
(7)UI界面:HORIZON
(8)测量:CEILOMETER
(9)编配:HEAT

在生产环境中我们应该把这个软件安装在不同的服务器,提供云端服务。但是这个是在实验,所以我们使用allinone的方法,急救是所有的组件都安装在一台服务器上:

2.安装并搭建redhat的openstack:

1).系统:redhat6.5
2).内存要求:4G(最少),8G最好

首先展示我们的控制台:
\

配置yum源,把openstack的源和errta的源添加到本地:
\
我们分别来展示3个repo文件的内容,其中后两个是必须的。

dvd.repo内容:
\

errata的内容:
\

Openstack的内容:
\

紧接着我们对yum源的记录进行清除和更新:
\

安装openstack的allinone组建packstack,并且将节点重启:
\

生成ssh的非对称加密公私钥,并将公钥给本机:
\

\

获取openstack安装的完整配置文件,并进行编辑:
\

进入到配置文件中,我们要对以下参数进行修改:
1)ntp服务器ip的指定;
2)keystone组件的密码(这个也是我们在登录web界面时管理员的密码);
3)打开ssl加密功能;

*这个是我们基本功能的配置 ,如果想要更全面的配置,则要修改相关参数,例如你可以安装swift去增加存储,进行上传和下载。

ntp服务器ip:
\

ssl加密:
\

keystone密码的修改:
\

完成了这些配置之后,我们要进行openstack的安装,大约需要持续25分钟(我的机子配置i5第二代处理器,4G内存):
\

好的,当你看到如下的界面时,说明openstack已经成功的安装到我们的机子上了:
\

进入到openstack的界面:
\

\

为了方便操作,我们把语言转化为简体中文:
\

首先我们在管理员目录下建立项目:
\

如图所示,project是我们创建的新项目:
\

然后我们要创建用户,并且指定用户为project的项目用户:
\

\

在创建完成项目和用户之后,我们退出管理员模式,使用zhangchi用户进行登录:
\

我们要在project设置镜像,网络、安全等参数:

1.设置我们的网络

首先进入到网络文件的配置目录:
\

这个是eth0修改后的配置文件:
\

这个是br-ex的配置文件:
\

然后我们对网络进行重启:
\

然后在web界面上创建网络拓扑,以便让以后的云主机能够接入外网:
\



这个是我们创建完成后的网络拓扑,左右分别为内网和外网,中间是路由器:
\

然后我们添加安全组:
\

\

在安全组规则中添加相应的规则:
\

添加完成后如图所示:
\

然后我们要下载密钥对,这样的话就可以通过ssh进行测试,访问我们的云主机:
\

产生一个浮动ip,为我们以后制作的云主机绑定,可以访问云主机:
\

上传我们的镜像,作为云主机的安装源:
\

\

在镜像上传成功之后我们设置它的云主机类型:
\

\

最后也是最关节的一部,把之前的所有操作整合起来,我们安装一个云主机,然后访问它,这就说明我们整个openstack已经安装完成,并且我们可以向外提供指定参数的云主机:
\

选择密钥对:
\

\

这个设置完成后云主机就启动了,然后云主机绑定浮动IP,其他的主机可以通过key.pem的公钥进行访问,访问的地址为云主机绑定的浮动IP。

小结:

这个是openstack在一个节点上的测试示例, 在真正的生产环境中需要多个服务器一起来提供功能,将nova,cinder等组件设置在不同的服务器上。拆分后提供的功能会更加强大。这个帖子就介绍到这里。

相关内容