搭建Openstack集群

算起来Litrin在生产环境中采用虚拟机已经有相当长的历史了——即便当下您所看到的Litrin.net那也是跑在一套KVM虚拟机中。虚拟机的简单灵活、成本低廉是实体机不可比拟的优势,不过作为虚拟机的几个突出问题虚拟机在部署、管理以及较复杂的网络环境的支持上,还是有很多的不便。记得很早之前,Litrin曾经计划通过Openstack来解决这个问题,但当初在被云山雾罩的官方安装手册带着绕了一个多礼拜后无果,只能放弃。

近期,得到一个机会,受高人指点,用最快的方式完成了一整套Openstack的部署。这就有点像游戏的“最速攻略”,只要你一步步追寻着这个手册的内容,绝对保证可以部署成功。但带来另一个问题就是,这是最精简的方法了,只要一个不留神,错过任何一步操作,部署都有可能失败。而且通过这个文档完成的部署,你可能还是无法领悟Openstack的复杂结构。所以,这只能是一个参考,如果需要对你的集群做任何的调整,还需要在此基础上多次自行完成部署。

环境准备

OpenStack_deployment_01

 

网络环境如上图所示,总共有3个子网:互联网连接/对外出口(External)、Openstack管理网络(Management)、VM虚拟机内网连接(Data),下午一律简称E/M/D网络。

服务器准备:

  • 所有主机操作系统均为Ubuntu1204LTS。并设置统一的apt source源,暂时开通M网的互联网访问。
  • Cotroller:用于整个集群的控制,高可靠性要求。承载数据库(MySQL)、队列服务器(RabbitMQ)、和最终的web入口(Apache+Memcache)。要求网卡eth0接M网,本文标示为红色
  • Compute:计算节点,高内存+CPU+IO消耗型节点。要求网卡eth0接M网,eth1接D网。本文标示为绿色
  • Network:网络控制节点,高网络吞吐型节点。本文要求3网卡,eth0接M, eth1接D,eth2接E。本文标示为黄色

对应的IP设置如下:

Node eth0 eth1 eth2
Controller 192.168.10.3
Compute 192.168.10.4 192.168.20.3
Network 192.168.10.5 192.168.20.4 10.0.0.3
Subnet mask 255.255.255.0

OpenStack要求所有的主机之间都是通过host互信的,编辑所有主机的/etc/hosts文件,注意将YOUR_HOST_NAME替换成本主机名称(建议配置完成后在每台主机上ping通3个主机名) :

127.0.0.1       	localhost YOUR_HOST_NAME
127.0.1.1       	Controller
192.168.10.5	  	  Network
192.168.10.4		    Compute

加入OpenStack  havana源,这里需要说

#add-apt-repository cloud-archive:havana
#apt-get update
#apt-get upgrade

#apt-get install ubuntu-cloud-keyring
#apt-get install python-software-properties

统一时间源,安装NTP服务。

#ntpdate time.windows.com
#apt-get install ntp
#service ntp start

三台基础配置的主机就准备完成了。

准备数据库和队列服务

Controller 主机

#apt-get install mysql-server python-mysqldb

安装过程中需要输入root密码,请输入password。如不加说明,本文所有密码均为password。

由于ubuntu默认MySQL安装仅监听127.0.0.1,请修改/etc/mysql/my.cnf

[mysqld]
bind-address = 0.0.0.0

配置完成后重起主机service mysql restart

#mysql_install_db
#mysql_secure_installation

Computer / Network 主机

这里不需要安装Mysql-server,只要client就可以了

#apt-get install python-mysqldb mysql-client

Controller 主机

安装RabbitMQ,设置’guest’帐户的访问权限。

#apt-get install rabbitmq-server
#rabbitmqctl change_password guest password
推荐阅读:
之前写过一篇关于syslog的
今天有个同事在配置Apache
想必各位平时在用任何网络设备的
很多情况下,我们往往需要通过对

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请补全下列算式: *

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据