本文开始,记录一下自己安装OpenStack各服务组件的过程,将其中碰到的一些问题也与大家分享一下,希望能对各位有些许的帮助!
在此之前一直都是使用的DevStack开发环境在调试代码,这段时间开始尝试着部署OpenStack(Ocata版本)多节点(我自己的是两个节点:controller和compute,当然可以在这个基础上再自己增加节点)环境,主要参照官方文档:OpenStack官方文档
系统环境:VMware+Ubuntu16.04-Server
提醒:对于默认的Ubuntu软件源安装速度慢的问题,请参考我博客园中的更改Ubuntu软件源一文。1.硬件要求,下图给出的是官网建议的硬件参数:
我自己则是利用VMware虚拟了两台主机,每台主机的硬件参数如下:2G CPU,2 NIC,sda 60G,虽不满足上述图片中的要去求,但不影响安装,只是性能得不到保障。而且官网也给出了最低硬件要求限制 如下所示:
IP Address:192.168.152.166(二)配置第二个网络接口作为内部网络(云平台中虚机网络) 编辑文件/etc/network/interfaces,并加入以下内容:
Network mask: 255.255.255.0(or /24)
Default gateway;192.168.152.1
# The provider network interface
auto INTERFACE_NAME(将INTERFACE_NAME换成你自己的第二个网络接口的名字,如eth0/ens33等)
iface INTERFACE_NAME inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down
3. 配置名字解析(controller节点) 设置主机名为controller(虚拟机安装之后默认主机名为ubuntu),编辑/etc/hostname,将ubuntu改为controller 编辑/etc/hosts文件,并加入以下内容:
# controller最后记得将将127.0.1.1这项注释掉
192.168.152.166 controller
# compute
192.168.152.167 compute
compute节点的网络设置与controller节点(第2,3个步骤)类似,只是需要注意将IP地址改为compute节点本身的地址即可。
当然做完这些配置之后可以使用ping命令来验证两个虚拟机之间以及虚拟机和Internet之间是否互通:ping -c 4 hostname(需首先重启两个虚拟主机)。
4. 安装ntp服务(controller节点)
sudo apt install chrony编辑/etc/chrony/chrony.conf,添加:server NTP_SERVER iburst,同时注释掉文件内自带的:pool 2.debian.pool.ntp.org offline iburst, 我自己使用的NTP_SERVER是cn.pool.ntp.org 为了使得compute节点能够使用controller节点的ntp服务,在/etc/chrony/chrony.conf中加入:allow 192.168.152.0/24
重启服务:sudo service chrony restart
compute节点上安装ntp服务与controller节点类似,只是需要将NTP_SERVER改为controller即可。
5. 添加openstack软件仓库
sudo apt install software-properties-common执行更新
sudo add-apt-repository cloud-archive:ocata
sudo apt update安装openstack客户端
sudo apt dist-upgrade
sudo apt install python-openstackclient
6. 安装msyql数据库
sudo apt install mysql-server python-pymysql创建一配置文件/etc/mysql/mysql.conf.d/99-openstack.cnf,并加入以下内容:
[mysqld]重启服务: sudo service mysql restart 为了安全考虑,可以使用sudo mysql_secure_installation,在这个过程中为root用户选定一个合适的登录密码。 7. 安装rabbitmq
bind-address = 192.168.152.166(改为你自己controller节点的IP地址)
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
sudo apt install rabbitmq-server
添加用户openstack
sudo rabbitmqctl add_user openstack RABBIT_PASS(设置成你自己的密码,建议都使用相同的密码,避免后面安装过程遗忘)
设置权限
sudo rabbitmqctl set_permissions openstack ".*" ".*" ".*"
8. 安装memcached
sudo apt install memcached python-memcache
修改配置文件/etc/memcached.conf
-l 192.168.152.166(改为你自己的controller节点IP地址)重启服务: sudo service memcached restart
注意上述的第6,7,8步骤都是仅在controller节点上进行,compute节点上不用进行这些操作。
至此,两个虚拟主机上的基本环境都已经完成了,下面开始讲解具体的OpenStack服务组件的搭建!未完待续哈。。。