OpenStack Train 安装过程记录(一):基础环境准备

文章目录

    • 规划
      • 硬件配置
      • IP规划
      • 修改 hosts 解析
      • 挂载安装磁盘,配置本地源
      • 安装基础服务
        • NTP 时间同步
        • 安装 OpenStack 包
      • 控制节点需要安装的服务
        • 数据库
        • 消息队列
        • Memcached
        • Etcd

规划

本次安装参照官网文档进行安装,使用的是当前最新版 Train。
本次安装是在 VMware 环境下进行安装,使用 CentOS 7.4 系统,最小化安装。

硬件配置

官方建议最低配置:

  • 控制节点:1 个处理器,4 GB内存,5 GB存储
  • 计算节点:1 个处理器,2 GB内存,10 GB存储

IP规划

本次安装仅使用了一张管理网卡,使用Vmware 的 NAT 模式,机器可以直接访问互联网:

  • controller:10.1.1.128
  • conpute1:10.1.1.129

修改 hosts 解析

两台主机都配置 controller 的解析

# vim /etc/hosts,添加 controller 的解析
10.1.1.128 controller

验证:

[root@controller ~]# ping controller
PING controller (10.1.1.128) 56(84) bytes of data.
64 bytes from controller (10.1.1.128): icmp_seq=1 ttl=64 time=0.061 ms
64 bytes from controller (10.1.1.128): icmp_seq=2 ttl=64 time=0.027 ms
^C
--- controller ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.027/0.044/0.061/0.017 ms

挂载安装磁盘,配置本地源

# 挂载镜像到 /mnt,rc.local 会在用户登陆之前读取,在每次系统启动时都会执行一次
mount /dev/cdrom /mnt
echo 'mount /dev/cdrom /mnt' >> /etc/rc.local
chmod +x /etc/rc.d/rc.local
# 配置本地源
echo '[local]
name=local
baseurl=file:///mnt
gpgcheck=0' > /etc/yum.repos.d/local.repo

安装基础服务

NTP 时间同步

修改控制节点为时间服务器,控制节点与公网同步,计算节点和控制节点同步
控制节点:

# 安装服务
yum install chrony -y
# 编辑配置文件:vim /etc/chrony.conf
# 删除自带的服务器,使用公网时间服务器
server pool.ntp.org iburst
# 允许本地网络访问
allow 10.1.1.0/24
# 修改配置文件后开启服务,设置开机启动
systemctl enable chronyd.service
systemctl start chronyd.service

计算节点配置文件只修改服务器地址,同样设置为开机启动:

# 编辑配置文件:vim /etc/chrony.conf
# 删除自带的服务器,使用控制节点时间服务器
server 10.1.1.128 iburst

验证:

[root@compute1 ~]#  chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? controller                    0   9     0     -     +0ns[   +0ns] +/-    0ns

安装 OpenStack 包

所有节点都需要安装,即控制节点、计算节点。
从当前源中查找 OpenStack repo :

[root@controller ~]# yum search centos-release-openstack
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * centos-ceph-nautilus: mirrors.huaweicloud.com
 * centos-nfs-ganesha28: mirror.bit.edu.cn
 * centos-openstack-train: mirror.bit.edu.cn
 * centos-qemu-ev: mirror.bit.edu.cn
 * extras: mirrors.huaweicloud.com
 * updates: mirror.bit.edu.cn
======================================== N/S matched: centos-release-openstack ========================================
centos-release-openstack-queens.noarch : OpenStack from the CentOS Cloud SIG repo configs
centos-release-openstack-rocky.noarch : OpenStack from the CentOS Cloud SIG repo configs
centos-release-openstack-stein.noarch : OpenStack from the CentOS Cloud SIG repo configs
centos-release-openstack-train.noarch : OpenStack from the CentOS Cloud SIG repo configs

  Name and summary matches only, use "search all" for everything.

安装 Train 版本的 repo:

yum install -y centos-release-openstack-train.noarch

安装完成后,会在系统路径中看到相关的 repo 文件:

[root@controller ~]# ls /etc/yum.repos.d/
CentOS-Base.repo           CentOS-Debuginfo.repo  CentOS-NFS-Ganesha-28.repo   CentOS-Sources.repo         local.repo
CentOS-Ceph-Nautilus.repo  CentOS-fasttrack.repo  CentOS-OpenStack-train.repo  CentOS-Storage-common.repo
CentOS-CR.repo             CentOS-Media.repo      CentOS-QEMU-EV.repo          CentOS-Vault.repo

更新包:

yum upgrade

安装 OpenStack client 和 openstack-selinux。

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

yum install python-openstackclient openstack-selinux -y

控制节点需要安装的服务

数据库

  1. 安装:
    yum install mariadb mariadb-server python2-PyMySQL -y
    
  2. 编辑配置文件/etc/my.cnf.d/openstack.cnf,添加以下内容:
    [mysqld]
    bind-address = 10.0.0.11
    
    default-storage-engine = innodb
    innodb_file_per_table = on
    max_connections = 4096
    collation-server = utf8_general_ci
    character-set-server = utf8
    
  3. 完成安装,开启服务并设置为开机启动
    systemctl enable mariadb.service
    systemctl start mariadb.service
    
  4. 初始化数据库,设置密码
    mysql_secure_installation
    
    这里我用的是空密码,选项顺序是:n y y y y y

消息队列

OpenStack 使用消息队列来协调服务之间的操作和状态信息,默认使用的是rabbitmq

  1. 安装并启动服务

    yum install rabbitmq-server
    systemctl enable rabbitmq-server.service
    systemctl start rabbitmq-server.service
    
  2. 添加用户并为用户配置授权

    # 用户名 openstack 密码 RABBIT_PASS
    rabbitmqctl add_user openstack RABBIT_PASS
    # 为用户配置读、写、访问权限
    rabbitmqctl set_permissions openstack ".*" ".*" ".*"
    
  3. 安装 web 管理(非必需)

    rabbitmq-plugins enable rabbitmq_management
    
  4. 验证安装
    rabbitmq 服务使用的是 5672 和 25672 端口,web 端使用 15672 端口
    可以通过netstat -nltp | grep 5672来查看端口是否已监听

    注:最小化安装没有 netstat 命令,可以通过 yum install net-tools -y来安装

    [root@controller ~]# netstat -nltp | grep 5672
    tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      1208/beam.smp       
    tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      1208/beam.smp       
    tcp6       0      0 :::5672                 :::*                    LISTEN      1208/beam.smp 
    

    通过http://controller_ip:15672来访问,默认账号密码是 guest,我的控制节点 IP 是 10.1.1.128,访问如下:

    注:如果端口开通,但是无法访问,一般情况是防火墙限制,请添加策略或直接关闭,我是直接关闭:systemctl stop firewalld

    OpenStack Train 安装过程记录(一):基础环境准备_第1张图片

Memcached

  1. 安装

    yum install memcached python-memcached -y
    
  2. 编辑配置文件 /etc/sysconfig/memcached,允许其他节点来访问 memcached,0.0.0.0表示谁都可以访问。

    OPTIONS="-l 0.0.0.0"
    
  3. 启动服务

    systemctl enable memcached.service
    systemctl start memcached.service
    

    验证:
    使用netstat -nltup | grep 11211查看 端口是否已监听。

Etcd

OpenStack服务可以使用 Etcd 进行分布式键锁定,存储配置,跟踪服务活动性和其他情况。

  1. 安装

    yum install etcd -y
    
  2. 编辑配置文件/etc/etcd/etcd.conf,替换ETCD_INITIAL_CLUSTER, ETCD_INITIAL_ADVERTISE_PEER_URLS, ETCD_ADVERTISE_CLIENT_URLS, ETCD_LISTEN_CLIENT_URLS几项内容为管理节点的 IP。

    #[Member]
    ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
    ETCD_LISTEN_PEER_URLS="http://10.1.1.128:2380"
    ETCD_LISTEN_CLIENT_URLS="http://10.1.1.128:2379"
    ETCD_NAME="controller"
    #[Clustering]
    ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.1.1.128:2380"
    ETCD_ADVERTISE_CLIENT_URLS="http://10.1.1.128:2379"
    ETCD_INITIAL_CLUSTER="controller=http://10.1.1.128:2380"
    ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
    ETCD_INITIAL_CLUSTER_STATE="new"
    
  3. 开启服务

    systemctl enable etcd
    systemctl start etcd
    

    验证:
    使用netstat -nltup | grep 23查看 2379、2380 端口是否已监听。

至此,OpenStack 需要的基础环境已经搭建完成。

PS:安装过程不记录了,因为看到了系统关联推荐的另一篇文章,也是按照官网来步骤来进行安装的,记录的也很详细,在此引用一下,OpenStack Train版部署。

之后就记录我照着官网文档安装过程中碰到的坑,上面的文章中已经跳过了其中一些坑OpenStack Train 安装过程记录。

你可能感兴趣的:(OpenStack)