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-nic3)配置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=br100br100配置如下
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_admin3)使用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
- CentOS下搭建openstack集群
- CentOS下搭建openstack-Havana
- centos下搭建redis集群
- CentOS下zookeeper集群搭建
- CentOS下搭建Redis集群
- centOS下搭建hadoop集群平台。
- centos下hadoop集群搭建详细过程
- Centos 下Kafka集群的搭建
- CentOS环境下zookeeper集群的搭建
- centos 7下rabbitmq集群搭建
- CentOS环境下elasticsearch集群搭建
- CentOS 7下搭建高可用集群
- centos下搭建mongodb集群m
- CentOS 6.5下hadoop3.0集群搭建
- Centos 6.5下搭建redis集群教程
- Centos 6.5 搭建Openstack平台
- 在CentOS下,搭建单节点以及集群spark
- Centos 下Storm集群的搭建及Java客户端环境
- PHPCMS_V9笔记之模板列表
- PHP Http v3.0.0_00
- Android高效加载大图、多图解决方案,有效避免程序OOM
- find ctime ,mtime,atime使用
- 用Visual C#实现端口监听模拟即时通讯
- CentOS下搭建openstack集群
- poj 3160 Father Christmas flymouse (强连通分量+记忆化搜素)
- Linux命令速查
- web开发tips
- objective-c 函数参数 传地址 传指针 指向指针的指针
- iOS 序列化与反序列化
- 给按钮、静态文本 CListCtrl等添加功能提示(tollTip)功能
- pthread_cond_wait()用法分析
- UITableViewCell 中的单选控制