您的位置:首页 > 运维架构 > Linux

CentOS下搭建openstack集群

2013-10-14 14:03 423 查看
背景: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 br100
brctl addif br100 eth0
使用brctl show查看是否设置成功
[root@bdpe07 ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
br100		8000.001e67346f70	no		eth0
virbr0		8000.525400ac089e	yes		virbr0-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=br100
TYPE=Bridge
BOOTPROTO=static
NM_CONTROLLED="no"
ONBOOT="yes"
IPADDR=192.168.32.3
NETMASK=255.255.255.0
GATEWAY=192.168.32.1
DELAY=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[/code] 
2) 安装rdo-release-grizzly

yum install -y http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly.rpm[/code] 
做完这两步应该能在yum.repos.d下看到如下仓库:

[root@bdpe07 ~]# ls /etc/yum.repos.d
CentOS-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 /home
cd /var/lib
ln -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/0
nova 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: