前言
Openstack部署前的准备工作。
- 运行环境:
VMware® Workstation 18
CentOS-7-x86_64
一、基础软件的最小化安装
准备2台虚拟主机,配置如下:
名称 | 主机名 | IP |
---|---|---|
控制节点 | control | 192.168.88.14 |
计算节点 | compute | 192.168.88.15 |
- 配置虚拟网卡:
配置项 | 配置值 |
---|---|
子网IP | 192.168.88.0 |
子网掩码 | 255.255.255.0 |
网管 | 192.168.88.2 |
- 主机安装要求:
1)磁盘空间20G,内存空间4G,处理器1C,处理器核心数量2C,首选模式 Intel VT-x 或 AMD-v/RVI,启用虚拟化Intel VT-x 或 AMD-v/RVI;
2)关闭安全组策略;
3)开启以太网络;
4)选择手动分区,只保留一个根分区/;
二、安装基础
1.配置网卡
# 配置网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth0
1:TYPE=Ethernet
2:PROXY_METHOD=none
3:BROWSER_ONLY=no
4:NM_CONTROLLED=no --> 禁止network manager管理我的网卡
5:BOOTPROTO=none
6:DEFROUTE=yes
7:PEERDNS=yes
8:IPV4_FAILURE_FATAL=no
9:IPV6INIT=yes
10:IPV6_AUTOCONF=yes
11:IPV6_DEFROUTE=yes
12:IPV6_FAILURE_FATAL=no
13:IPV6_ADDR_GEN_MODE=stable-privacy
14:NAME=eth0
15:DEVICE=eth0
16:ONBOOT=yes
17:IPADDR=192.168.88.14
18:NETMASK=255.255.255.0
19:GATEWAY=192.168.88.2
20:DNS1=192.168.88.2
# 重启网络服务
systemctl restart network
2.安装基础软件
- 修改源
- 更换gpgkey
- 更新软件
- 安装基本软件
- 禁止升级内核
# 安装基础软件
yum install -y wget yum-plugin-priorities
# 修改源
mkdir -p /data/backup/repo
mv /etc/yum.repos.d/* /data/backup/repo/
cd /etc/yum.repos.d/
wget -O CentOS-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget -O epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 更换gpgkey
sed -i 's#RPM-GPG-KEY-CentOS-7#RPM-GPG-KEY-CentOS-Official#' /etc/yum.repos.d/CentOS-Base-163.repo
# 添加[cloud]
vi CentOS-Base-163.repo
[cloud]
name=CentOS-$releasever - Cloud - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/cloud/$basearch/openstack-train/
gpgcheck=1
enabled=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-Official
# 更新软件
yum repolist
yum clean all && yum makecache fast && yum update -y --nogpgchec
# 安装基本软件
yum install tree lrzsz vim telnet net-tools bash-completion -y
yum install yum-utils -y
# 禁止升级内核(从安全稳定性考虑)
vim /etc/yum.conf
[main]
...
exclude=kernel*
exclude=centos-release*
提示: 如果安装yum-utils时提示失败的软件包:python2-chardet-3.0.4-7.el7.noarch,可以进行手动安装。
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-18.3.2.tar.gz#md5=d30c969065bd384266e411c446a86623
wget --no-check-certificate https://bootstrap.pypa.io/pip/2.7/get-pip.py -O - | python
pip install chardet
3. 网络环境配置
- 关闭NetworkManager服务
- 配置网卡支持混杂模式
- 启动消息服务
- 启用IPV6功能
# 关闭NetworkManager服务
systemctl stop NetworkManager
systemctl disable NetworkManager
# 配置网卡支持混杂模式
echo 'ifconfig eth0 promisc' >> /etc/profile (重启机器后即可生效)
# 启动消息服务
systemctl restart messagebus
systemctl status messagebus
systemctl enable messagebus
# 启用IPV6功能
vi /etc/sysctl.con
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
# 立即生效
sysctl -p
4. 其他配置
- 禁用防火墙
- 关闭selinux
- 配置主机名
# 禁用防火墙
systemctl stop firewalld
systemctl status firewalld
systemctl disable firewalld
# 检查
firewall-cmd --state
# 关闭selinux
sed -i 's#=enforcing#=disabled#' /etc/selinux/config
# 检查
grep --color=auto '^SELINUX' /etc/selinux/config
# hosts文件内容
vim /etc/hosts
192.168.88.14 control.example.com control
192.168.88.15 compute.example.com compute
# 设置compute节点的主机名
hostnamectl set-hostname control
三、Openstack环境准备
1. 基础软件安装
- 安装openstack客户端相关软件
- 时间同步
- 添加时间任务
# 安装openstack客户端相关软件:
yum install -y python3-openstackclient --nogpgchec
yum install -y openstack-selinux --nogpgchec
yum install -y openstack-utils --nogpgchec
# 互联网时间同步
yum install ntpdate -y
# 执行同步
ntpdate -u time1.aliyun.com
# 检查
date
# 添加时间任务
crontab -e
*/5 * * * * /usr/sbin/ntpdate -u time1.aliyun.com >> /dev/null 2>&1 &
按照上面步骤设置完成后关机。接下来要基于刚才创建的主机创建另外一台主机,作为计算节点。
2. 克隆主机
- 创建快照:虚拟机 – 快照 – 拍摄快照 – 名称base。
- 克隆虚拟机:虚拟机 – 快照 – 快照管理器 – 克隆(基于base)-- 完成。
克隆完成后,启动虚拟机。
3. 配置计算节点
- 配置IP
- 安装openstack相关软件
- 创建qemu链接文件
- 修改主机名
# 配置主机IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.88.15
# 重启网络
systemctl restart network
ifconfig
# 计算节点安装基本软件,等部署计算节点后再安装openstack相关软件
yum install -y qemu-kvm --nogpgchec
yum install -y libvirt --nogpgchec
# 创建qemu链接文件,将qemu放到可执行目录里面
ln -sv /usr/libexec/qemu-kvm /usr/bin/qemu
# 查询是否已经安装qemu-kvm
rpm -ql qemu-kvm
# 设置主机名
hostnamectl set-hostname compute
四、Openstack支撑服务安装
下面安装服务都是在control主机上完成。
1. 数据库安装
Openstack使用数据库存储openstack服务信息,通常运行在control节点上,支持MariaDB(默认)或MySQL。
- 安装mariadb数据库
- 配置数据库
- 启动数据库服务
- 数据库安全初始化
- 验证安装是否成功
# 安装软件
yum install -y mariadb --nogpgchec
yum install -y mariadb-server python-PyMySQL --nogpgchec
# 创建配置文件
vim /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.88.14
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
# 启动数据库服务
systemctl start mariadb
systemctl status mariadb
systemctl enable mariadb
# 数据库安全初始化
mysql_secure_installation --> 全部选择Y或直接按enter即可
# 测试
mysql -uroot -proot
show databases;
select user,host,password from mysql.user;
exit;
2. rabbitmq安装
rabbitmq的主要作用是实现openstack组件之间相互通讯,以及信息异步同步更新。openstack支持rabbitmq(默认)、Qpid和ZeroMQ队列。
- 安装软件
- 启动服务
- 添加用户
- 设置权限
- 开启rabbitmq监控插件(可选)
- 设置用户角色
# 安装软件
yum install -y erlang --nogpgchec
yum install -y socat --nogpgchec
yum install -y rabbitmq-server --nogpgchec
# 启动服务
systemctl start rabbitmq-server
systemctl status rabbitmq-server
systemctl enable rabbitmq-server
# 添加用户
rabbitmqctl add_user openstack openstack
rabbitmqctl list_users
# 给openstack用户配置“配置、写入,读取”权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
# 开启rabbitmq监控插件
rabbitmq-plugins enable rabbitmq_management
netstat -tnulp | grep 15672
# 设置管理员角色
rabbitmqctl set_user_tags openstack administrator
rabbitmq使用端口:
端口号 | 说明 |
---|---|
5672 | client通信 |
15672 | server管理,开启监控服务后才有 |
25672 | server服务之间内部通信 |
4369 | erlang服务发现 |
开启监控服务后,也可以通过web页面查看rabbitmq的状态信息。访问地址:http://192.168.88.14:15672。
3. memcache安装
memcache用于缓存OpenStack各类服务验证的token令牌。
- 软件安装
- 参数配置
- 启动服务
# 软件安装
yum install -y memcached --nogpgchec
yum install -y python-memcached --nogpgchec
# 配置参数
vim /etc/sysconfig/memcached
OPTIONS="-l 192.168.88.14,::1" --> 修改memcache启动后监听的主机ip
# 启动服务
systemctl start memcached
systemctl status memcached
systemctl enable memcached
# 检查
netstat -tnulp | grep 11211
总结
这部分内容只是完成了openstack环境部署的开头工作,接下来会进行openstack相关组件的安装。