CentOS6.3安装Openstack Essex多节点环境(二:控制节点安装)

作者: 魏延是反贼. 分类: 云平台, 系统·安全·调优

 如果你准备好安装环境,那么就可以开始进行控制节点的安装了,控制节点我这里的ip是10.199.21.213,hostname是openstack-control.ubisoft.org,然后,你就可以开始动手了~!

本文为系列文章:

  1. CentOS6.3安装Openstack Essex多节点环境(一:环境准备工作)
  2. CentOS6.3安装Openstack Essex多节点环境(二:控制节点安装)
  3. CentOS6.3安装Openstack Essex多节点环境(三:计算节点安装)
  4. CentOS6.3安装Openstack Essex多节点环境(四:配置启动实例)
  5. 文中所有配置文件可以从此处获得:openstack_多节点_centos6.3_反贼_配置文件

一、准备工作:

1. 导入第三方源:
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

2.关闭安全选项(selinux和iptables):
sed -i s/^SELINUX=.*/SELINUX=disabled/g /etc/selinux/config
service iptables stop
chkconfig iptables off

3.设置ntp同步
我这里因为有ntp服务器,所以我直接指到了我们的ntp服务器上。当然,你也可以指到其他的ntp服务器上。你可以从这里找到提供ntp服务的服务器:http://www.pool.ntp.org/zone/cn
echo "*/30 * * * * root ntpdate -s 10.199.21.10" >> /etc/crontab

4.更新系统
yum install -y gcc gcc-c++ make automake libtool patch
yum update
reboot

二、相关服务的安装:

1.mysql安装
yum install -y mysql-server
/etc/init.d/mysqld start

设置mysql的root密码
mysqladmin -uroot password 'Abcd1234'
chkconfig mysqld on

2.rabbitMQ的安装
yum install -y rabbitmq-server
/etc/init.d/rabbitmq-server start

更改rabbitMQ消息队列服务的guest默认密码为Abcd1234
rabbitmqctl change_password guest Abcd1234

注意:在安装整个Openstack的过程中,我们需要设置很多的密码,这些密码按理来说最好能不一样就最安全了,但是繁杂的配置文件和各种服务的密码加起来往往会让人头昏脑胀,所以这里为了方便大家,文档里所有的密码均为”Abcd1234″,大家在安装的时候如果有需要设置其他的密码,则可以对全文进行Ctrl+F查找一下所有的”Abcd1234″字段,修改为自己想要的密码即可。

 

注意:文中所有的配置文件,请在这里下载:openstack_多节点_centos6.3_反贼_配置文件

 

三、keystone身份认证服务安装

1.安装软件包
yum install -y openstack-keystone python-keystoneclient

2.设置配置文件
cd /etc/keystone

编辑default_catalog.templates中的内容,内容请看附件
编辑keystone.conf,内容请看附件

3.数据库设置:

mysql -uroot -p
mysql> create database keystone;
mysql> grant all privileges on keystone.* to keystone@'%' identified by 'Abcd1234';
mysql> grant all privileges on keystone.* to keystone@'openstack-control.ubisoft.org' identified by 'Abcd1234';
mysql> flush privileges;
mysql > \q

这里注意刚才添加的@不仅要@’%’还要对hostname进行grant,之后进行数据库初始化:
keystone-manage db_sync

4.启动服务并创建相关账号
新建文件keystone_data.sh用来初始化keystone的账号数据。keystone_data.sh的内容为:

启动keystone服务
/etc/init.d/openstack-keystone start

运行刚才这个脚本
chmod +x ./keystone_data.sh
./keystone_data.sh

之后,它会创建openstack需要的服务,角色,规则等等。
查看Log看看是否正确启动如果没有报错,还出现了Starting等信息,那么说明正确启动了。
2012-10-18 13:38:09    DEBUG [root] starting server {(None, '/v2.0'): <keystone.middleware.core.TokenAuthMiddleware object at 0x3257610>, (None, ''): <keystone.middleware.core.XmlBodyMiddleware object at 0x3257850>} on port 35357
2012-10-18 13:38:09    DEBUG [keystone.common.wsgi] Starting /usr/bin/keystone-all on 0.0.0.0:35357
2012-10-18 13:38:09    DEBUG [root] starting server {(None, '/v2.0'): <keystone.middleware.core.TokenAuthMiddleware object at 0x325dc10>, (None, ''): <keystone.middleware.core.XmlBodyMiddleware object at 0x325ddd0>} on port 5000
2012-10-18 13:38:09    DEBUG [keystone.common.wsgi] Starting /usr/bin/keystone-all on 0.0.0.0:5000
2012-10-18 13:38:09    DEBUG [eventlet.wsgi.server] (29868) wsgi starting up on http://0.0.0.0:35357/
2012-10-18 13:38:09    DEBUG [eventlet.wsgi.server] (29868) wsgi starting up on http://0.0.0.0:5000/

四、Glance镜像服务的安装配置

1.安装软件包
yum install -y openstack-glance python-glance

2.设置配置文件
cd /etc/glance

更改glance-api.conf的内容,如附件所示。
更改glance-api-paste.ini的内容,如附件所示。
更改glance-registry.conf的内容,如附件所示。
更改glance-registry-paste.ini的内容,如附件所示。

3.设置数据库
root -uroot -p
mysql> create database glance;
mysql> grant all privileges on glance.* to glance@'%' identified by 'Abcd1234';
mysql> grant all privileges on glance.* to glance@'openstack-control.ubisoft.org' identified by 'Abcd1234';
mysql> flush privileges;
myslq> \q

初始化数据库
glance-manage db_sync

4.启动glance服务
/etc/init.d/openstack-glance-api start
/etc/init.d/openstack-glance-registry start

查看log ,/var/log/glance/文件夹中的Log,查看是否有异常。

五、Nova计算服务的安装配置

1.安装软件包
yum install -y openstack-nova python-nova python-novaclient python-nova-adminclient

2.配置相关文件
cd /etc/nova

更改nova.conf的内容,内容如附件所示。

注意: nova.conf中的内容非常复杂,里面包含着各种各样的内容,而且我们是在控制节点安装的,需要很多与其对应的服务,而通过epel源安装的nova里配置文件十分简陋,所以我们需要对其进行大量的更改。这里我贴出我的配置,你可以完全按照我的配置来,然后对相关的ip和密码进行修改。不过更建议你去了解一下每个配置具体的作用,这样可以针对你自己的环境进行相关的修正:

Openstack官网对nova.conf有着详细的配置解析:http://wiki.openstack.org/NovaConfigOptions

更改api-paste.ini的内容,内容如附件所示。

由于nova在运行一些命令的时候需要拥有root权限,所以我们还要定义sudoer,于是我们还要:
修改/etc/sudoers.d/nova中的内容,内容见附件

3.数据库设置
mysql -uroot -p
mysql> create database nova;
mysql> grant all privileges on nova.* to nova@'%' identified by 'Abcd1234';
mysql> grant all privileges on nova.* to nova@'openstack-control.ubisoft.org' identified by 'Abcd1234';
mysql> flush privileges;
mysql > \q

初始化数据库
nova-manage db sync

4.创建实例网络
nova-manage network create public 192.168.1.0/24 1 256 –bridge=openstackbr01

5.启动相关服务
/etc/init.d/openstack-nova-api start
/etc/ini.d/openstack-nova-objectstore start
/etc/init.d/openstack-nova-scheduler start
/etc/init.d/openstack-nova-volume start

查看/var/log/nova目录下的日志,检查有没有报错,确认无报错,继续。

六、Novnc的安装配置

1.安装软件包
yum install -y openstack-nova-novncproxy

2.设置配置文件
这里要设置/etc/nova/nova.conf,如果你刚才在设置nova.conf的时候已经对照我的进行了补充,那么刚才的nova.conf文件中就包含了vnc的设置,所以这里可以不设置了,需要看配置的同学可以直接在里面grep vnc这一段即可。

3.启动服务
/etc/init.d/openstack-nova-consoleauth start
/etc/init.d openstack-nova-novncproxy start

 

七、Dashboard的安装和配置

1.安装软件包
yum install -y openstack-dashboard

2.设置配置文件
cd /etc/openstack-dashboard

更改local_settings的文件内容,内容见附件

3.数据库设置
mysql -uroot -p
mysql> create databases horizon;
mysql> grant all privileges on horizon.* to horizon@'%' identified by 'horizon';
mysql> grant all privileges on horizon.* to horizon@'openstack-control.ubisoft.org' identified by 'horizon';
mysql> flush privileges;
mysql> \q

初始化数据库
/usr/share/openstack-dashboard/manage.py syncdb

4.启动dashboard服务
/etc/init.d/httpd start

此时,我们就可以通过http://你服务器的ip/dashboard 来访问你的openstack了,注意用户是admin,密码就是你keystone_data.sh里定义的密码哟!

到此,多节点环境的控制节点方面的安装就结束了,请务必检查每个服务的Log,确保没有任何报错行为,然后我们换个服务器,开始计算节点的安装!

标签:

返回正文

(16)条评论

  • 一叶飘零

    |

    2013-09-22 14:01:17 20716 DEBUG glance.common.config [-] Loading glance-api from /etc/glance/glance-api-paste.ini load_paste_app /usr/lib/python2.6/site-packages/glance/common/config.py:184
    2013-09-22 14:01:17 20716 ERROR glance.common.config [-] Unable to load glance-api from configuration file /etc/glance/glance-api-paste.ini.
    Got: ImportError(“ has no \’app_factory\’ attribute”,)

    这个是什么情况啊?

    回复

  • 一片.蓝天』

    |

    keystone: error: argument –username: expected one argument
    No handlers could be found for logger “keystoneclient.client”
    Unable to communicate with identity service: [Errno 111] Connection refused. (HTTP 400)
    No handlers could be found for logger “keystoneclient.client”
    Unable to communicate with identity service: [Errno 111] Connection refused. (HTTP 400)
    请我这是什么原因呢

    回复

  • 匿名

    |

    实例网络应该是这样才对,哎,好多错误,都老了,应该更新才对

    nova-manage network create private –fixed_range_v4=192.168.1.32/27 –num_networks=1 –bridge=br100 –bridge_interface=eth0 –network_size=32

    回复

  • 匿名

    |

    文章应该更新了,现在yum源都已经有更新,而且已经有很多简化的配置了,就如glance。对于下面的各位兄弟keystone_data.sh报错,那是你们没有彻底的理解keystone,只会按照人家公布出来的复制粘贴。有报错就使用命令 keystone –help查看一下格式,你现在yum的包跟版主当时的包是不一样的。配置当然也不一样啦,希望楼主更新好文件,谢谢。

    回复

  • qzuser

    |

    您好!我在执行keystone_data.sh时报错了。。。详细如下:[root@localhost keystone]# ./keystone_data.sh
    usage: keystone user-role-add –user-id <user-id> –role-id <role-id>
    [–tenant-id <tenant-id>]
    keystone user-role-add: error: ambiguous option: –user could match –user-id, –user_id
    usage: keystone user-role-add –user-id <user-id> –role-id <role-id>
    [–tenant-id <tenant-id>]
    keystone user-role-add: error: ambiguous option: –user could match –user-id, –user_id

    回复

  • 匿名

    |

    keystone-manager db_sync 命令有误啊

    回复

    • 哦呦呦呦拳

      |

      请问有什么报错么?单纯的说命令有误很难判断。我手动重装了一遍没有遇到您说的问题。

      回复

    • yangsk2@163.com

      |

      不是keystone-manager
      是keystone-manage

      回复

      • 哦呦呦呦拳

        |

        感谢指正~~~文章已经进行了修改。

        回复

  • 匿名

    |

    keystone_data.sh脚本过不去 会报错

    回复

    • 哦呦呦呦拳

      |

      脚本我检查了一下,没问题,而且也不需要修改什么内容,请问脚本在运行到哪的时候报错了,报错内容是什么能提供一下么?

      回复

    • -杨口志口斌-

      |

      @哦呦呦呦拳: 最新的Openstack keystone语法有改动,如果用了最新的源按照Openstack,又用反贼的配置脚本的话,需要把脚本里面的所有–user ,改为–user_id,–role 改为–role_id,成功不会报错,但会输出用户的信息列表。

      回复

您的留言是我最大的支持!