CentOS下搭建openstack集群

来源:互联网 发布:javascript用有关var 编辑:程序博客网 时间:2024/05/20 20:04

背景:Openstack是实现服务器虚拟化的一个有力工具,本文以RedHat的openstack版本RDO为例,简述openstack的安装和配置过程,以防以后自己忘记,以及给想配置Openstak的网友一些启发。Openstack安装简单,但是配置非常复杂,不同机器会遇到不同问题,笔者安装配置过程遇到问题无数,就不一一赘述了。


1、工作流程

我们所在实验室在一个公网范围内,我们搭建的openstack集群通过一个交换机在一个内网域内。我们需要一个跳板机,来访问openstack集群的机器。


       Openstack cluster组网图

如上图所述,Gateway这台机器具有两个网卡,eth0连接实验室网络10.239.47.X,eth1连接交换机,并且作为192.168.32.X网络的网关,IP地址为192.168.32.1

openstack cluster其他机器都连接到交换机,组成一个内网域作为openstack集群。


2、准备工作

1)确保所有openstack cluster的机器都开启了VT。即在开启的时候进入BIOS,打开intel vertual technology

2)   配置openstack cluster网络,为每台机器配置一个br100网桥,将eth0加入br100中

brctl addbr br100brctl addif br100 eth0
使用brctl show查看是否设置成功
[root@bdpe07 ~]# brctl showbridge namebridge idSTP enabledinterfacesbr1008000.001e67346f70noeth0virbr08000.525400ac089eyesvirbr0-nic
3)配置eth0和br100网络

vim /etc/sysconfig/network-scripts/ifcfg-eth0

eth0配置如下:

DEVICE="eth0"HWADDR="00:1E:67:3C:C2:BB"NM_CONTROLLED="no"ONBOOT="yes"TYPE="Ethernet"BRIDGE=br100
br100配置如下     
DEVICE=br100TYPE=BridgeBOOTPROTO=staticNM_CONTROLLED="no"ONBOOT="yes"IPADDR=192.168.32.3NETMASK=255.255.255.0GATEWAY=192.168.32.1DELAY=0
注意:TYPE=Bridge,Bridge大小写别写错了。我曾经写成bridge,br100一直起不来,困扰了我好几天!

全部配置好后,使用service network restart重启网络,再使用ifconfig命令查看eth0和br100是否启动成功


3、安装openstack控制节点(只装在一台机器上)

1)安装epel包

yum install http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

2)  安装rdo-release-grizzly

yum install -y http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly.rpm

做完这两步应该能在yum.repos.d下看到如下仓库:    

[root@bdpe07 ~]# ls /etc/yum.repos.dCentOS-Base.repo  epel.repo  epel-testing.repo  rdo-release.repo[root@bdpe07 ~]#
3)有些机器可能需要更新kernel(非必须)
yum upgrade kernel

执行完后别忘了重启机器使用新的kernel

4)安装openstack installer

yum install -y openstack-packstack

5)使用非quantum方式安装openstack(现在openstack的高级版本具有quantum模式,但是配置更加复杂)

packstack --allinone --os-quantum-install=n

因为所有VM都是存在/var/lib/nova下,所以要确保/root所在的盘空间够大(至少大于40G),如果空间不够大,可以建立一个软连接到其他空间更大的盘

mv /var/lib/nova /homecd /var/libln -s /home/nova nova

6)当openstack安装成功后,可以使用http://127.0.0.1访问他的dashboard,用户名和密码在/root/keystonerc_admin下

      如果是单机模式,可以参考http://openstack.redhat.com/Quickstart使用dashboard建几个实例玩玩。如果要搭建一个集群,继续往下看


4、创建openstack网络

1)创建fixed IP

nova-manage network create --fixed_range_v4 192.168.20.0/22 --num_networks 1 --network_size 1024 --bridge br100 --multi_host 'F' --label private

可以使用nova-manage network list查看是否创建成功

2)创建floating IP

nova-manage floating create --ip_range 192.168.148.0/22 --pool nova --interface eth0

使用nova-manage floating list查看是否创建成功

3)创建安全组允许访问VM

nova secgroup-add-rule default udp 1 65535 0.0.0.0/0nova secgroup-add-rule default tcp 1 65535 0.0.0.0/0 


5、配置config文件,启动VM

1)修改/etc/nova/nova.conf 和/etc/cinder/cinder.conf,主要修改一些IP和参数,因为不同机器情况不同,这里需要用户自己尝试

      配置完成后重启所有nova和cinder服务,以nova为例,脚本如下

for ii in /etc/init.d/*-nova-*;do   service $(basename $ii) restart;done

2)进入keystone模式

. ~/keystonerc_admin 
3)使用glance add命令添加image,至于image从哪来,可以使用wget从网上下载或者其他方法,反正我是本地拷贝的。。

4)创建VM实例

      使用nova image-list查看当前可用的镜像

      使用nova flavor-list查看当前可用的系统类型

      使用nova boot创建VM实例,nova boot --flavor [flavor ID | flavor name]  --image [image ID | image name]  [instace_name],比如

nova boot --flavor m1.small --image 5290eb9f-f248-408f-a319-622c4a070ca8 test
      创建成功后使用nova list查看实例状态

[root@bdpe11 ~(keystone_admin)]# nova list+--------------------------------------+-----------+--------+-------------------------------------+| ID                                   | Name      | Status | Networks                            |+--------------------------------------+-----------+--------+-------------------------------------+| dbaded92-b445-4106-a124-607150ff17c5 | Server 47 | ACTIVE | private=192.168.20.2, 192.168.148.1 || d9d4bea3-6387-4695-b031-965478623fb6 | Server 48 | ACTIVE | private=192.168.20.4, 192.168.148.2 |+--------------------------------------+-----------+--------+-------------------------------------+
当状态变为active后,可以ssh floatingIP,进入VM

原创粉丝点击