OpenStack Pike超详细部署文档(LinuxBridge vxlan版)上

这是一份详细的OpenStack Pike版本部署文档(上篇),使用LinuxBridge和vxlan技术,适用于分布式环境。内容涵盖环境准备、操作系统配置、网络规划、hostname与hosts设置、NTP同步、MariaDB数据库、RabbitMQ集群服务的安装与配置,以及Pacemaker集群的搭建。文档强调了重要步骤和注意事项,适用于学习和测试,不适合直接用于生产环境。
摘要由CSDN通过智能技术生成

OpenStack Pike超详细部署文档(LinuxBridge vxlan版)上篇

前言 搭建前必须看我
本文档搭建的是分布式P版openstack(1 controller + N compute + 1 cinder)的文档。
openstack版本为Pike。

搭建的时候,请严格按照文档所描写的进行配置,在不熟悉的情况下,严禁自己添加额外的配置和设置!
学习这个文档能搭建基本的openstack环境,切记千万不能用于生产!要用于生产的环境,必须有严格的测试还有额外的高级配置!

 

阅读文档注意,红色的部分是重要提示,另外其他加颜色的字体参数也要额外注意!
有些命令很长,注意有换行了,别只敲一半,每条命令前面都带有 #。

      

另外有OpenStack高清入门学习视频:链接:https://pan.baidu.com/s/1dFpACZB 密码:mjzb (高清无码)

同时,我们即将推出OpenStack Pike版配套视频(基于openvswitch 搭建,很多生产环境是基于ovs的,所以学习openstack+ovs搭建方法是非常有必要的!)

 

一、环境准备

1. 前提准备
安装vmware workstation12.5.0,虚拟出三台配置至少CPU 4c MEM 4G的虚拟机

Controller节点配置:
CPU:4c
MEM:4G
Disk:200G
Network: 3 (eth0 eth1 eth2, 第一块网卡就是extenel的网卡,第二块网卡是admin网卡,第三块是tunnel隧道)

Compute节点配置:
CPU:4c
MEM:4G
Disk:200G
Network: 2 (eth1 eth2, 第一块网卡是admin网卡,第二块是tunnel隧道,计算节点不需要extenel网卡)

Cinder节点配置:
CPU:4c
MEM:4G
Disk:200G+50G(这个50G可以根据自己需求调整大小,用作volume卷)
Network: 2 (eth1, 第一块网卡是admin网卡,cinder节点不需要隧道)

 

2. 操作系统准备
安装CentOS7.4系统(最小化安装) + 关闭防火墙 + 关闭selinux 
# systemctl stop firewalld.service
# systemctl disable firewalld.service

安装好相关工具,因为系统是最小化安装的,所以一些ifconfig vim等命令没有,运行下面的命令把它们装上:
# yum install net-tools wget vim ntpdate bash-completion -y

 

3. 配置IP 网络配置规划
网络配置:
external : 9.110.187.0/24
admin mgt : 10.1.1.0/24
tunnel:10.2.2.0/24
storage:10.3.3.0/24 (我们环境没有,如果你集成了ceph就应该用到)

controller虚拟机 第一块网卡external,请配置IP 9.110.187.61
                        第二块网卡admin,请配置IP 10.1.1.61
                        第三块网卡tunnel,请配置IP 10.2.2.61

compute虚拟机 第一块网卡admin,请配置IP 10.1.1.62
                       第二块网卡tunnel,请配置IP 10.2.2.62

cinder虚拟机     第一块网卡admin,请配置IP 10.1.1.63

 

三个网络解释:
1. external : 这个网络是链接外网的,也就是说openstack环境里的虚拟机要让用户访问,那必须有个网段是连外网的,用户通过这个网络能访问到虚拟机。如果是搭建的公有云,这个IP段一般是公网的(不是公网,你让用户怎么访问你的虚拟机?)
2. admin mgt:这个网段是用来做管理网络的。管理网络,顾名思义,你的openstack环境里面各个模块之间需要交互,连接数据库,连接Message Queue都是需要一个网络去支撑的,那么这个网段就是这个作用。最简单的理解,openstack自己本身用的IP段。
3. tunnel : 隧道网络,openstack里面使用gre或者vxlan模式,需要有隧道网络;隧道网络采用了点到点通信协议代替了交换连接,在openstack里,这个tunnel就是虚拟机走网络数据流量用的。

当然这3个网络你都放在一块也行,但是只能用于测试学习环境,真正的生产环境是得分开的。在自己学习搭建的时候,通常我们用的是vmware workstation虚拟机,有些同学创建虚拟机后,默认只有一块网卡,有些同学在只有一块网卡就不知道如何下手了,一看有三种网络就晕乎了... 所以,在创建完虚拟机后,请给虚拟机再添加2块网卡,根据生产环境的要求去搭建学习。

三种网络在生产环境里是必须分开的,有的生产环境还有分布式存储,所以还得额外给存储再添加一网络,storage段。网络分开的好处就是数据分流、安全、不相互干扰。你想想,如果都整一块了,还怎么玩?用户访问虚拟机还使用你openstack的管理段,那太不安全了...

 

4. 更改hostname并且每个节点配置好/etc/hosts文件 (此步非常重要!)
controller节点:
# hostnamectl set-hostname controller

如果是compute就运行:
# hostnamectl set-hostname compute
cinder节点就运行:
# hostnamectl set-hostname cinder

然后每个节点配置/etc/hosts文件如下: (注意,hosts文件定义的是admin网段的IP地址)
10.1.1.61 controller
10.1.1.62 compute
10.1.1.63 cinder

 

5. NTP同步系统时间(此步非常重要!)
如果你的VM能上网,那么执行:ntpdate server 0.cn.pool.ntp.org 先同步初始时间

然后yum安装好ntp服务,点击配置/etc/ntp.conf文件,然后添加:
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org
执行 systemctl enable ntpd && systemctl restart ntpd

最后执行 ntpq -p 和date命令检验时间是否开始同步以及时间是否同步成功。

注意,这个操作很重要,openstack是分布式架构的,每个节点都不能有时间差!
很多同学刚装完centos系统,时间会跟当前北京的时间不一致,所以必须把ntp时间同步好!

当然,如果你有内部ntp server,那么同步内部ntp时间即可。

 

二、 搭建Mariadb

1. 安装mariadb数据库
[root@controller1 ~]# yum -y install MariaDB-server MariaDB-client galera xinetd rsync ntp ntpdate bash-completion percona-xtrabackup socat gcc gcc-c++ 

2. 配置mariadb
# vim /etc/my.cnf.d/mariadb-openstack.cnf

在mysqld区块添加如下内容:
[mysqld]
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
bind-address = 10.1.1.61

 

3、启动数据库及设置mariadb开机启动
# systemctl enable mariadb.service 
# systemctl restart mariadb.service
# systemctl status mariadb.service
# systemctl list-unit-files |grep mariadb.service

 

4. 配置mariadb,给mariadb设置密码
# mysql_secure_installation
先按回车,然后按Y,设置mysql密码,然后一直按y结束
这里我们设置的密码是devops

 

三、安装RabbitMQ Cluster服务

1. 每个节点都安装erlang 

http://mirrors.163.com/centos/7.3.1611/cloud/x86_64/

rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm


# yum install -y erlang

 

2. 每个节点都安装RabbitMQ
# yum install -y rabbitmq-server

 

3. 每个节点都启动rabbitmq及设置开机启动
 systemctl enable rabbitmq-server.service 
 systemctl restart rabbitmq-server.service 
 systemctl status rabbitmq-server.service
 systemctl list-unit-files |grep rabbitmq-server.service

 

4. 创建openstack,注意将PASSWOED替换为自己的合适密码
[root@controller2 ~]# rabbitmqctl add_user mqadmin mqadmin

Creating user "mqadmin" ...

...done.

5. 将openstack用户赋予权限(节点二和节点三执行)

[root@controller2 ~]#  rabbitmqctl set_user_tags mqadmin administrator

Setting tags for user "mqadmin" to [administrator] ...

...done.

[root@controller2 ~]#  rabbitmqctl set_permissions -p / mqadmin ".*" ".*" ".*"

Setting permissions for user "mqadmin" in vhost "/" ...

...done.

[root@controller2 ~]# systemctl restart rabbitmq-server

[root@controller2 ~]# rabbitmqctl stop_app

Stopping node rabbit@controller2 ...

...done.

 [root@controller2 ~]# rabbitmqctl join_cluster --ram rabbit@controller1

Clustering node rabbit@controller2 with rabbit@controller1 ...

...done.

[root@controller2 ~]# rabbitmqctl start_app

Starting node rabbit@controller2 ...

...done.

在节点一上查看节点加入群集情况:

[root@controller1 ~]# rabbitmqctl cluster_status

Cluster status of node rabbit@controller1 ...

[{nodes,[{disc,[rabbit@controller1]},

         {ram,[rabbit@controller3,rabbit@controller2]}]},

 {running_nodes,[rabbit@controller3,rabbit@controller2,rabbit@controller1]},

 {cluster_name,<<"rabbit@controller1">>},

 {partitions,[]}]

...done.

 

6. 看下监听端口 rabbitmq用的是5672端口
# netstat -ntlp |grep 5672

 

7 .查看RabbitMQ插件
# /usr/lib/rabbitmq/bin/rabbitmq-plugins list

 

8. 打开RabbitMQ相关插件
/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_management_agent

打开相关插件后,重启下rabbitmq服务
# systemctl restart rabbitmq-server

浏览器输入:http://192.168.10.10:15672 默认用户名密码:guest/guest
通过这个界面,我们能很直观的看到rabbitmq的运行和负载情况

 

9. 查看rabbitmq状态
用浏览器登录http://192.168.10.10(11/12):15672 输入mqadmin/mqadmin

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值