前言:openstack真是一个庞然大物,想要吃透还真不容易,所以在对openstack大概有了一个了解的时候,就应该是部署,虽然openstack的安装方式有rdo或者devstack等一键安装工具,但是最好浅尝辄止,有了大概的使用经验之后就应该是从头到尾的安装一遍了,不然对于那些报错,以及故障的解决一定是不够气定神闲的,因此,当你有了openstack的基本认识后,开始安装吧~
注:openstack的官方文档写得真的是,好的不要不要的,但是看英文总是感觉有点不溜,因此在官方文档的基础上写得这篇笔记。
参考:
下面是小编为你精选的Openstack相关知识,看看是否有你喜欢的:
Ubuntu 12.04 OpenStack Swift单节点部署手册
CentOS 6.5 x64bit 快速安装OpenStack
首先应该是大概的规划,需要几个节点,选择什么操作系统,网络怎么划分~
下面是我的大概规划
节点数:2 (控制节点,计算节点)
操作系统:CentOS Linux release 7.2.1511 (Core)
网络配置:
控制节点: 10.0.0.101 192.168.15.101
结算节点: 10.0.0.102 192.168.15.102
先决条件:
The following minimum requirements should support a proof-of-concept environment with core services and several CirrOS instances:
Controller Node: 1 processor, 4 GB memory, and 5 GB storage
Compute Node: 1 processor, 2 GB memory, and 10 GB storage
官方建议概念验证的最小硬件需求。
控制节点 1 处理器,4 GB内存,5 GB硬盘
计算节点 1 处理器,2 GB内存,10 GB硬盘
参考:
注:如果你是用手动一步一步的创建操作系统,配置网络,那么笔者就得好好的鄙视你了~~研究研究vagrant吧,通过下面的配置文件你就能一条命令生成两个虚拟机,并配置好网络了,vagrant简易教程参考:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "centos7"
node_servers = { :control => ['10.0.0.101','192.168.15.101'],
:compute => ['10.0.0.102','192.168.15.102']
}
node_servers.each do |node_name,node_ip|
config.vm.define node_name do |node_config|
node_config.vm.host_name = node_name.to_s
node_config.vm.network :private_network,ip: node_ip[0]
node_config.vm.network :private_network,ip: node_ip[1],virtualbox_inet: true
config.vm.boot_timeout = 300
node_config.vm.provider "virtualbox" do |v|
v.memory = 4096
v.cpus = 1
end
end
end
end
通过vagrant up一条命令,稍等一会,两个热腾腾的虚拟机就出炉了,我们的环境就OK了~~
环境如下
操作系统:CentOS Linux release 7.2.1511 (Core)
网络配置:
控制节点: 10.0.0.101 192.168.15.101
结算节点: 10.0.0.102 192.168.15.102
注意:上面的config.vm.box = "centos7",首先需要有个centos7的box
在开始部署前,我们先捋一捋openstack安装步骤
首先是软件环境准备,我们需要将一些通用的软件以及源仓库等进行配置,基本如下
NTP服务器
控制节点,其他节点
openstack 安装包仓库
通用组件:
SQL 数据库 ===> MariaDB
NoSQL 数据库 ==> MongoDB(基本组件不需要,)
消息队列 ==> RabbitMQ
Memcached
再就是openstack整个框架下的各个组件,基本组件如下
认证服务 ===> Keystone
镜像服务 ===> Glance
计算资源服务 ===> Nova
网络资源服务 ===> Neutron
Dashboard ===> Horizon
块存储服务 ===> Cinder
其他存储服务,如下
文件共享服务 ===> Manila
对象存储服务 ===> Swift
其他组件,如下
编排服务 ===> Heat
遥测服务 ===> Ceilometer
数据库服务 ===> Trove
环境准备
域名解析:
在各个节点编辑hosts文件,加入以下配置
10.0.0.101 controller
10.0.0.102 compute
ntp时间服务器
控制节点
1) 安装chrony软件包
yum install chrony
2) 编辑配置文件 /etc/chrony.conf,添加以下内容,202.108.6.95可根据自己需求自行更改。
server 202.108.6.95 iburst
allow 10.0.0.0/24
3)加入自启动,并启动
# systemctl enable chronyd.service
# systemctl start chronyd.service
其他节点
1) 安装chrony软件包
yum install chrony
2) 编辑配置文件 /etc/chrony.conf,添加以下内容
server controller iburst
allow 10.0.0.0/24
3)加入自启动,并启动
# systemctl enable chronyd.service
# systemctl start chronyd.service
验证:
控制节点
chronyc sources
210 Number of sources = 2
MS Name/IP address Stratum Poll Reach LastRx Last sample
=============================================================
^- 192.0.2.11 2 7 12 137 -2814us[-3000us] +/- 43ms
^* 192.0.2.12 2 6 177 46 +17us[ -23us] +/- 68ms
其他节点
# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* controller 3 9 377 421 +15us[ -87us] +/- 15ms
openstack 安装包仓库
安装相应openstack版本yum源
yum install centos-release-openstack-mitaka
系统更新
yum upgrade
注:如果系统内核有更新,需要重启
安装openstackclient,openstack-selinux
yum install python-openstackclient
yum install openstack-selinux
注:如果报什么 Package does not match intended download,则yum clean all或者直接下载rpm包安装吧。
参考下载地址:
SQL数据库
安装
1 yum install mariadb mariadb-server python2-PyMySQL
创建/etc/my.cnf.d/openstack.cnf配置文件,加入以下内容