第二部分:安装基础环境

云计算平台的拓扑图如图1所示,IP地址规划如图1所示。

image.png
本次搭建采用双节点安装,即controller node控制节点和compute node计算节点。ens33为外部网络,ens34为内部管理网络。

1、安装控制节点的 CentOS 7 系统

1)启虚拟机的 cpu 虚拟化功能

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图2

接着下载最小化的安装 iso,下载地址为:

https://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-Minimal-1908.iso

2)系统安装centos系统

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图3

3)选择语言

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图4

4)选择时区为亚洲-上海

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图5

5)选择安装的环境,选择最小化安装。注意勾选依赖包

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图6

6)磁盘分区为自定义分区。

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图7
点击,“自动创建他们”。
image.png

如下图所示,对各个分区容量进行调整。
image.png

7) 设置网络连接和主机名

image.png
a、注意勾选开机自启动
OpenStack Train版双节点安装(二)安装系统和基础服务 - 图11
b、设置ip地址

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图12
同样的方式将另外 一块网卡配置好

8)关闭密码保护

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图13
选择关闭
OpenStack Train版双节点安装(二)安装系统和基础服务 - 图14

9)关闭KDUMP功能

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图15

10)开始安装,安装完毕后重启

image.png

11)安装的过程中设置root的密码。密码:000000

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图17

12)修改网卡配置文件

  1. vi /etc/sysconfig/network-scripts/ifcfg-ens33

[root@centos7-1810 network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=91c2dd49-30d2-47e1-88b9-9924baa12004
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.10
PREFIX=24
GATEWAY=192.168.100.2
DNS1=8.8.8.8
IPV6_PRIVACY=no

13)重启网络服务:

  1. systemctl restart network

14) 检查 ping 一下网关192.168.100.2测试网络连通性,

ping 192.168.100.2 -c2
OpenStack Train版双节点安装(二)安装系统和基础服务 - 图18
ping www.baidu.com -c4
image.png

15)主机名设置

修改主机名:
hostnamectl set-hostname controller
按ctrl+d 退出 重新登陆
查看结果:
[root@controller ~]# cat /etc/hostname
controller
[root@controller ~]#
编辑hosts文件
vi /etc/hosts
增加2行
192.168.100.10 controller
192.168.100.20 compute
字符集
临时:
[root@clsn ~]# echo $LANG
zh_CN.UTF-
永久:
[root@clsn ~]# cat /etc/locale.conf
LANG=”zh_CN.UTF-8”
一步到位
[root@clsn ~]# localectl
System Locale: LANG=zh_CN.UTF-8
VC Keymap: cn
X11 Layout: cn

16)管理不必要服务

1)关闭邮件服务及开机自启动

  1. systemctl stop postfix.service
  2. systemctl disable postfix.service

2)关闭防火墙服务及开机自启动

  1. systemctl disable firewalld.service
  2. systemctl stop firewalld.service
  3. systemctl status firewalld.service

3)Selinux的优化
编辑selinux文件
vi /etc/selinux/config
SELINUX=permissive

17)更换yum源

1. 备份

  1. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/

CentOS 7 yum源

  1. wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

或者

  1. curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

epel源

  1. curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

3. 运行 yum makecache 生成缓存

  1. yum makecache
  2. yum repolist

4. 其他

非阿里云ECS用户会出现 Couldn’t resolve host ‘mirrors.cloud.aliyuncs.com’ 信息,不影响使用。
eg:Could not resolve host: mirrors.aliyun.com; 未知的错误
解决办法:
1. 修改dns
[root@iz25m0z7ik3z ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
文末添加
DNS1=8.8.8.8
DNS2=8.8.4.4
2. 重启network 服务

  1. systemctl restart network

18)安装常用软件

  1. yum install vim wget bash-completion lrzsz nmap nc tree htop iftop net-tools -y

2、克隆计算节点的 CentOS 7 系统

在克隆好计算节点的系统之后,修改计算机名和网卡参数。
其主机名为 compute,ens33的 ip 地址为:192.168.100.20,ens34的 ip 地址为:192.168.200.20

image.png

3、安装基础环境

1、安装ntp服务:(在所有节点安装)

1.1控制节点(提供时间服务,供其他机器同步)

安装软件

yum install chrony -y
配置控制节点,修改第22行
[root@controller ~]# vi /etc/chrony.conf
···
在第六行增减以下两条配置:
server time2.aliyun.com iburst
server controller iburst

修改28行左右参数为:
allow 192.168.0.0/16
设置chronyd.service服务自启动,并重启。
systemctl enable chronyd.service
systemctl restart chronyd.service

1.2计算节点(配置chrony客户端)

安装软件
yum install chrony -y
配置文件第三行开始,删除(注释#)无用的上游服务器。
配置文件说明:
[root@compute1 ~]# vim /etc/chrony.conf
在第六行增减以下一条配置:
server contronller iburst
修改26行左右参数为:
allow 192.168.0.0/16
启动,设置自启动
systemctl enable chronyd.service
systemctl restart chronyd.service
systemctl status chronyd.service

1.3查看时间同步源:(测试所有节点)

chronyc sourcestats -v
210 Number of sources = 1
.- Number of sample points in measurement set.
/ .- Number of residual runs with same sign.
| / .- Length of measurement set (time).
| | / .- Est. clock freq error (ppm).
| | | / .- Est. error in freq.
| | | | / .- Est. offset.
| | | | | | On the -.
| | | | | | samples. \
| | | | | | |
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
controller 6 3 324 +3.379 64.747 +14us 1911us
chrony 配置参考文明当:https://www.cnblogs.com/abclife/p/4736064.html


_

2、 OpenStack的包操作(添加新的计算节点时需要安装)(在所有节点安装)

2.1安装OpenStack客户端。**

yum install centos-release-openstack-train -y
yum upgrade -y**
yum install python-openstackclient -y

2.2安装openstack-selinux

RHEL和CentOS 默认情况下启用SELinux。安装 openstack-selinux软件包以自动管理OpenStack服务的安全策略:
# yum install openstack-selinux -y

3、SQL数据库安装(在控制节点操作)

3.1安装mariadb软件包:

[root@controller ~]# yum install mariadb mariadb-server python2-PyMySQL

创建配置文件
cat > /etc/my.cnf.d/openstack.cnf <<-‘EOF’
[mysqld]
bind-address = 192.168.100.10
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
EOF

3.2启动数据库服务并将其配置为在系统引导时启动:

设置mariadb随机启动,并重新启动mariadb数据库。
systemctl enable mariadb.service
systemctl restart mariadb.service
systemctl status mariadb.service

3.3执行mariadb安全初始化

为了保证数据库服务的安全性,运行mysql_secure_installation脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码。 (这步一定要做,否则后面安装服务时将填充不了数据库)
[root@controller ~]# mysql_secure_installation
···
Enter current password for root (enter fornone): 回车
OK, successfully used password, moving on…
Set root password? [Y/n] y
Remove anonymous users? [Y/n] Y
… Success!
Disallow root login remotely? [Y/n] Y
… Success!
Remove test database and access to it? [Y/n] Y
- Dropping test database…
… Success!
- Removing privileges on test database…
… Success!
Reload privilege tables now? [Y/n] Y
… Success!

Thanks for using MariaDB!

3.4重置数据库密码(如果忘记密码可以按以下步骤操作)

解决MySQL登录ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using passwor)问题
1、首先停掉mysql 数据库 一般是安装在/etc/init,d/mysqld stop
2、修改mysql的配置文件/etc/my.cnf
最后一行添加 skip-grant-tables 表示可以跳过权限去登录
3、重启 mysql 数据库 systemctl restart mariadb.service
3、使用 mysql -u root -p
‘’回车“
表示没有密码 直接登录
4、修改 mysql 表里面的用户,为其设置密码。
update user set password=password(‘000000 ‘) where user=’root’;
5、删除 skip-grant-tables
6.完成

4、安装消息队列(在控制节点安装)

4.1安装软件包:

yum install rabbitmq-server -y

4.2启动消息队列服务,并将其配置为在系统引导时启动,查看服务状态:

systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service

4.3添加openstack用户:

rabbitmqctl add_user openstack 000000 注释:000000是密码。替换的是RABBIT_PASS

4.4给予用户openstack配置、写和读权限:

rabbitmqctl set_permissions openstack “.“ “.“ “.*”

Setting permissions for user “openstack” in vhost “/“ …**

安装好之后,使用 netstat -tnlup 查看,如果有下图所示的 25672 和 5672 端口,则表示安装成功。

_OpenStack Train版双节点安装(二)安装系统和基础服务 - 图21

5、安装Memcached(在控制节点安装)

5.1安装软件包:

yum install memcached python-memcached

5.2编辑/etc/sysconfig/memcached文件并完成以下操作:

  • 配置服务以使用控制器节点的管理IP地址。这是为了允许其他节点通过管理网络进行访问:

vi /etc/sysconfig/memcached
OPTIONS=”-l 127.0.0.1,::1,controller”

5.3启动Memcached服务,并将其配置随机启动,并查看状态:

systemctl enable memcached.service
systemctl start memcached.service
systemctl status memcached.service

安装和启动好之后,同样使用 netstat -tnlup 查看端口情况,看到 11211 端口有程序在侦听则表示 memcache 安装成功

注意前面的 ip 地址必须有一个是 192.168.100.10

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图22

6、安装CentOS的Etcd服务(此服务为选装服务,在控制节点安装)

6.1安装软件包:

yum install etcd -y

6.2编辑/etc/etcd/etcd.conf文件,并设置ETCD_INITIAL_CLUSTERETCD_INITIAL_ADVERTISE_PEER_URLSETCD_ADVERTISE_CLIENT_URLSETCD_LISTEN_CLIENT_URLS控制器节点,以使经由管理网络通过其他节点的访问的管理IP地址:

vim /etc/etcd/etcd.conf

修改 9 行:
ETCD_DATA_DIR=”/var/lib/etcd/default.etcd”
ETCD_LISTEN_PEER_URLS=”http://192.168.100.10:2380”
ETCD_LISTEN_CLIENT_URLS=”http://192.168.100.10:2379”
ETCD_NAME=”controller”
ETCD_INITIAL_ADVERTISE_PEER_URLS=”http://192.168.100.10:2380”
ETCD_ADVERTISE_CLIENT_URLS=”http://192.168.100.10:2379”
ETCD_INITIAL_CLUSTER=”ct=http://192.168.100.10:2380”
ETCD_INITIAL_CLUSTER_TOKEN=”etcd-cluster-01”
ETCD_INITIAL_CLUSTER_STATE=”new”

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图23

6.3启用并启动etcd服务:

systemctl enable etcd
systemctl start etcd

7、验证以上部署的服务是否正常

安装和启动好之后,同样使用 netstat -tnlup 查看端口情况,看到 2379 和 2380 端口有程序在侦听则表示 etcd 安装成功

OpenStack Train版双节点安装(二)安装系统和基础服务 - 图24

至此,基础服务已经安装完毕,下节开始安装 Openstack 的身份认证服务 keystone。

OpenStack Train 版双节点安装笔记(二)
https://blog.51cto.com/11694088/2459830