图文讲解OpenStack手动分布式部署环境准备(Queens版)

  • Post category:Linux

图文讲解OpenStack手动分布式部署环境准备(Queens版)

本攻略将详细介绍如何手动分布式部署OpenStack环境(Queens版)前的环境准备过程。

环境要求

  • 3台物理机或虚拟机,每台机器至少2个网卡;
  • 操作系统为Ubuntu 16.04 LTS Server;
  • 确认三台机器之间网络可达;

配置网络

在三台机器上各配置一个管理网口和一个数据网口,以下命令以第一台机器为例:

配置管理网口

编辑 /etc/network/interfaces 文件,添加以下内容:

auto enp0s8
iface enp0s8 inet static
address 10.0.0.11
netmask 255.255.255.0

其中enp0s8为网卡名,address为主机IP。

配置数据网口

编辑 /etc/network/interfaces 文件,添加以下内容:

auto enp0s9
iface enp0s9 inet static
address 192.168.50.11
netmask 255.255.255.0

配置主机名

编辑 /etc/hostname 文件,设置主机名为controller、compute1、compute2。

controller

编辑 /etc/hosts 文件,添加以下内容:

10.0.0.11    controller
10.0.0.12    compute1
10.0.0.13    compute2

192.168.50.11    controller
192.168.50.12    compute1
192.168.50.13    compute2

最后重启网络

$ sudo service networking restart

配置时间同步

由于OpenStack环境对时间同步比较敏感,为了保证各节点时间同步,需要安装ntp服务。

$ sudo apt-get install ntp -y

安装完成后在controller节点执行以下命令:

$ sudo vim /etc/ntp.conf
server ntp.ubuntu.com

重启ntp服务

$ sudo service ntp restart

由于三台机器时钟不同步,可以在每台节点执行ntpdate命令同步时间:

$ sudo ntpdate -u controller

配置SSH免密登录

在controller节点上执行以下命令:

$ ssh-keygen -t rsa
$ ssh-copy-id root@compute1
$ ssh-copy-id root@compute2

然后输入密码完成免密登录配置。

配置NTP、LVM和NFS存储

在controller节点上执行以下命令:

$ sudo apt-get install ntp lvm2 nfs-common -y

安装完毕后启动NFS服务并设置开机启动:

$ sudo service nfs-kernel-server start 
$ sudo systemctl enable nfs-kernel-server

然后在controller节点上创建共享目录和配置NFS共享。以/data作为NFS共享目录:

$ sudo mkdir /data
$ sudo chmod 755 /data
$ sudo vim /etc/exports

#/etc/exports文件内容
/data     compute1(rw,sync,no_root_squash,no_subtree_check) compute2(rw,sync,no_root_squash,no_subtree_check)

完成后启动NFS服务

$ sudo service nfs-kernel-server restart

配置操作系统参数

在controller节点上执行以下命令:

$ sudo vim /etc/sysctl.conf

在文件尾部添加以下内容,并保存退出。

net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1

加载新的sysctl参数表

$ sudo sysctl -p

安装OpenStack包

在controller节点上执行以下命令:

$ sudo apt-get install software-properties-common -y
$ sudo add-apt-repository cloud-archive:queens
$ sudo apt-get update && sudo apt-get dist-upgrade -y
$ sudo apt-get install python-openstackclient -y

安装过程中会要求输入MySQL密码,请输入MySQL root密码。

以上就是手动分布式部署OpenStack环境(Queens版)前的环境准备过程。

示例

以配置网络为例,假设需要配置的主机名为compute1,对应的IP地址为10.0.0.12和192.168.50.12,那么可以按照以下步骤操作:

  1. 编辑 /etc/network/interfaces 文件,在文件尾部添加以下内容:
auto enp0s8
iface enp0s8 inet static
address 10.0.0.12
netmask 255.255.255.0
auto enp0s9
iface enp0s9 inet static
address 192.168.50.12
netmask 255.255.255.0
  1. 编辑 /etc/hostname 文件,添加以下内容:
compute1
  1. 编辑 /etc/hosts 文件,添加以下内容:
10.0.0.11    controller
10.0.0.12    compute1
10.0.0.13    compute2

192.168.50.11    controller
192.168.50.12    compute1
192.168.50.13    compute2
  1. 重启网络
$ sudo service networking restart
  1. 验证配置是否生效
$ ip addr

查看结果,包含enp0s8和enp0s9两个网卡的IP地址均为10.0.0.12和192.168.50.12,则配置成功。

结论

以上就是OpenStack手动分布式部署环境准备(Queens版)攻略的详细讲解。在配置过程中,需要按照本攻略中的步骤进行配置,以确保能够成功地部署OpenStack环境。