openstack(一、环境准备)

参考
Centos7.1搭建openstack私有云
云计算Openstack-Liberty版-安装教程 -学习笔记
在 CentOS7.2 上安装 OpenStack Liberty 版
openstack pike 集群高可用 安装 部署 目录汇总
CentOS7.2非HA分布式部署Openstack Pike版

一、环境准备

规划
1、物理机主机名和网络地址
master 192.168.100.98
node1 192.168.100.99
node2 192.168.100.100
2、openstatck 内部管理网段
网段:10.1.1.0/24
master 10.1.1.98
node1 10.1.1.99
node2 10.1.1.100
3、虚机使用网段
网段:10.2.2.0/24
master 10.2.2.98
node1 10.2.2.99
node2 10.2.2.100

1、主机名和网络配置

在服务器上执行(两端)

echo "192.168.100.98 master" >> /etc/hosts
echo "192.168.100.99 node1" >> /etc/hosts
echo "192.168.100.100 controller" >> /etc/hosts
echo "10.1.1.98 master" >> /etc/hosts
echo "10.1.1.99 node1" >> /etc/hosts
echo "10.1.1.100 node2" >> /etc/hosts
hostnamectl set-hostname master ###在master上,要不然keystone会出错
hostnamectl set-hostname node1 ###在node1 
hostnamectl set-hostname node2 ###在node2 

关闭防火墙和SELinux(两端)

setenforce 0
systemctl stop firewalld
systemctl disable firewalld
vi /etc/sysconfig/selinux
把里边的一行改为
SELINUX=disabled

todo:yum -y install openstack-selinux

安装openstack-selinux包自动管理openstack组件的安全策略

2、时间同步

yum install -y chrony
vi /etc/chrony.conf
#添加如下行(master)
allow 192.168.100.0/27
#添加如下行(node)
server master iburst
#然后重启服务
systemctl enable chronyd.service
systemctl restart chronyd.service
#校验
chronyc sources //会显示master

二、安装数据库

1、安装mariadb

大多数的openstack服务都是采用SQL数据库来存储数据,支持mysql和PostgreSQL,通常的做法是安装在 master节点。

yum install mariadb mariadb-server MySQL-python
vim /etc/my.cnf.d/mariadb-server.cnf
#在[mysqld]添加以下行
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
max_connections=1000 #要不然各组件连接数太多,会报错

这是由于mariadb有默认打开文件数限制。可以通过配置
vim /usr/lib/systemd/system/mariadb.service来调大打开文件数目。
[Service]新添加两行如下参数:
LimitNOFILE=10000

LimitNPROC=10000

重新加载系统服务,并重启mariadb服务

  1. systemctl --system daemon-reload
  2. systemctl restart mariadb.service
    再次查看mariadb数据库最大连接数,可以看到最大连接数已经是1000
  3. MariaDB [(none)]> show variables like 'max_connections';
#启动服务
systemctl enable mariadb.service 
systemctl start mariadb.service 

2、设置root密码 (我的密码为root123456)

mysql_secure_installation

3、为openstack组件创建数据库个表

mysql -uroot -p
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
  IDENTIFIED BY 'keystone';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
  IDENTIFIED BY 'keystone';

CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'glance';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY 'glance';

CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
  IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
  IDENTIFIED BY 'nova';

CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
  IDENTIFIED BY 'neutron';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
  IDENTIFIED BY 'neutron';

show databases; #查看数据库创建情况

三、消息队列

OpenStack 使用消息队列来协调操作和状态信息,通常的做法是安装在 controller 节点上,OpenStack支持的消息队列服务含 RabbitMQ, Qpid 和 ZeroMQ,然而大多数 OpenStack 服务模块都只支持某种特定的消息队列服务,这里选择 RabbitMQ,因为所有的 openstack 模块都支持它。

yum install rabbitmq-server
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
rabbitmqctl add_user openstack openstack     #创建用户
rabbitmqctl set_permissions openstack ".*" ".*" ".*"   #授权用户
rabbitmq-plugins enable rabbitmq_management     #开启web管理
systemctl restart rabbitmq-server
http://192.168.100.98:15672/      #web访问地址(用户密码都是guest)
修改openstack用户,删除guest用户
Admin------->复制administrator------->点击openstack------>Update this user-------->
Tags:粘帖administrator--------->密码都设置为openstack-------->logout
然后在登陆:用户名 openstack  密码  openstack

你可能感兴趣的:(openstack(一、环境准备))