OpenStack stein安装(一)准备工作
admin
2023-03-13 08:21:11
0

OpenStack stein安装(一)准备工作

环境:

• 192.168.205.7: as Chrony, DNS and YUM Source server(为了安装更快,自建yum源)
• 192.168.205.147: as DataBase, install MariaDB, RabbitMQ, Memcached
• 192.168.205.167: as controller, install keystone, placement, nova, neutron, dashboard
• 192.168.205.187: as compute node, install neutron agent and nova agent

注:所有操作系统默认停用firewalld,iptable为空,关闭selinux

版本:

• OS: centos 7 1810 with mini install for controller and SQL server
• OS: CentOS 7  1511 with mini install for compute node
• Openstack Minimal deployment for Stein
• mariadb-10.3.10

注:其它未注明均为yum 安装

目地:

• 最小化安装openstack stein最新版本
• 安装完成后各组件正常运行
• 测试成功建立实列并运行
• 通过运行实列测试基本的网络功能

步骤:

1. 安装前的环境准备
2. 安装keystone
3. 安装glance镜像服务
4. 安装placement
5. 安装Nova on controller
6. 安装Nova on compute node
7. 安装Neutron on controller node
8. 安装Neutron on compute node
9. 安装dashboard
10. 验证测试

安装前的环境准备

安装的准备工作很重要,因为openstack服务非常多,服务之间的依赖关系紧密,合理的规划不会导至安装出现问题,否则会出现各种的问题。

准备环境
  1. 所有的服务器时间必须一致,我们设置时间服务同步,这里可以是外部的源,也可以是自已的时间源服务器,我用一台chrony服务器做为时间服务器, 同进也兼做dns解析和yum源
    #yum install chrony
    #systemctl start chronyd
    #cat /etc/chrony.conf 
    server 192.168.205.7 iburst
    #systemctl status chronyd
    #chronyc sources -v  #检查chrony时间是否同步,看到^*为同步,否则没有同步
  2. 修改hosts文件,并将hosts文件复制到三台服务器,如果用了dns,这步不是必须,但不要配主机名。
    #cat /etc/hosts
    192.168.205.167 controller1
    192.168.205.147 master
    192.168.205.187 node1
  3. 使用DNS域名解析的规划
    域名:flex.net
    name server 192.168.205.7
    A stack.flex.net 192.168.205.167   controller1
    A dbs.flex.net  192.168.205.147     database, memcached, rabbitMQ
    同进DNS也做为转发服务器为yum提像安装软件
  4. 编辑网卡每台有三个网卡, 分为管理网络,租户网络和外网,管理网络的dns指向192.168.205.7
    eth0为管理和API的网络
    #cat ifcfg-eth0
    NAME="eth0"
    DEVICE="eth0"
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.205.x
    NETMASK=255.255.255.0
    TYPE=Ethernet
    eth2为租户tenant网络使用,不配IP,设置成none
    #cat ifcfg-eth2
    NAME="eth2"
    DEVICE="eth2"
    ONBOOT=yes
    BOOTPROTO=none
    eth3为外网安装yum源使用,使用nat方式,同时将dns设置为内网的dns: 192.168.205.7
    #cat ifcfg-eth3
    NAME="eth3"
    DEVICE="eth3"
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=172.18.18.x
    NETMASK=255.255.255.0
    GATEWAY=172.18.18.2
    DNS1=192.168.205.7
    注:不要修改HWADDR和UUID
  5. 安装源,首先启用extras packges,我使用原cenos安装时自带的源, 也可以启用aliyun或tinghua的extras源

    #ls
    backup   CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
    backup1  CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
    #yum list Centos-release-OpenStack*
    …
    Available Packages
    centos-release-openstack-stein.noarch                     1-1.el7.centos                     extras
    centos-release-openstack-ocata.noarch                     1-2.el7                            extras 
    centos-release-openstack-pike.x86_64                      1-1.el7                            extras 
    centos-release-openstack-queens.noarch                    1-2.el7.centos                     extras 
    
    注:安装时我们要禁用epel源
  6. 我们通过yum 方式去直接下载安装最新的stein源
    #yum install centos-release-openstack-stein
  7. 安装完成后我们看到目录中多了一些源

    #ls
    backup                     CentOS-Debuginfo.repo        CentOS-QEMU-EV.repo
    backup1                    CentOS-fasttrack.repo        CentOS-Sources.repo
    CentOS-Base.repo           CentOS-Media.repo            CentOS-Storage-common.repo
    CentOS-Ceph-Nautilus.repo  CentOS-NFS-Ganesha-28.repo   CentOS-Vault.repo
    
    #cat CentOS-OpenStack-stein.repo 
     CentOS-OpenStack-stein.repo
    …
  8. 更新包在所有的节点
    # yum upgrade
  9. 所有的节点上安装openstack客户端
    # yum install python-openstackclient
    安装数据库
  10. 安装数据库及python组件
    # yum install mariadb mariadb-server python2-PyMySQL
  11. 建立数据库的配置文件并写入下列配置
    #  vi /etc/my.cnf.d/openstack.cnf
    [mysqld]
    bind-address = 192.168.205.147
    default-storage-engine = innodb
    innodb_file_per_table = on
    max_connections = 4096
    collation-server = utf8_general_ci
    character-set-server = utf8
  12. 允许系统引导时自动启动服务并启动服务
    # systemctl enable mariadb.service
    # systemctl start mariadb.service
  13. 运行mysql_secure_installation脚本,特别是root的口令,为root配一个合适的口令,为了演示,我们设为root, 密码root123
    # mysql_secure_installation
    安装消息队列在mysql上

    Openstack的服务之间使用消息队列协调操作和状态信息,消息队列通常地运行在controller上, openstack支持几种消息队列如:rabbitMQ, Qpid, ZeroMQ. 大多的发行版都支持这些特定的消息队列,本实验我们用RabbitMQ因为大多发行版都支持它,本列中,我们的消息队列运行在dababase中

  14. 安装包
    # yum install rabbitmq-server
  15. 允许系统引导时自动启动服务并启动服务
    # systemctl enable rabbitmq-server.service
    # systemctl start rabbitmq-server.service
  16. 添加一个openstack用户
    # rabbitmqctl add_user openstack openstack123
  17. 充许openstack用户具有write, and read访问权限
    # rabbitmqctl set_permissions openstack ".*" ".*" ".*"
    注:在vhost "/" ...中给用户 "openstack" 授权
    安装和配置Memcached

    身份识别服务验证机制使用Memcached缓存令牌,Memcached通常运行在controller上,对于生产部署,我们建议启用防火墙、身份验证和加密的组合来保护它。

  18. 安装包
    # yum install memcached python-memcached
  19. 编辑文件/etc/sysconfig/memcached并修改配置文件服务使用管理IP,充许其它节点通过管理IP访问到Memcached
    #vi /etc/sysconfi/memcached
    OPTIONS="-l 127.0.0.1,::1,master" #如果你装在数据库服务器上,那么就改数据库服务器的名字, 因为hosts中已经做解析
  20. 允许系统引导时自动启动服务并启动服务
    # systemctl enable memcached.service
    # systemctl start memcached.service

相关内容

热门资讯

为190元“仅退款”榴莲千里讨... 极目新闻记者 王鹏因为一笔190元的恶意“仅退款”订单,卖家自掏5000余元,驱车1600公里赴山东...
“AI智能回答”误称律师“被判... 据澎湃新闻报道,南京执业律师李小亮发现,在百度手机App、百度网站搜索其个人姓名+职务时,百度“AI...
年初铺的草皮五一咋又铲除?自然... 江西省上饶市的周先生近日向华商报大风新闻反映:今年五一假期时,他注意到上饶市广丰区北河滨路芦林街道源...
浏阳烟花厂爆炸事故4名重症患者... 截至今天(9日)上午11时,浏阳烟花厂爆炸事故在院患者42人,原5名重症患者中4人已转为轻症;在院患...
中东战火不断,为何全球股市不跌... 最近与一位美国学者交流,他讲到一个颇有意味的场景:在华尔街一场交流中,包括他在内的3位国际问题研究专...
景区回应“母亲节穿旗袍免费入园... 近日,南京天生桥景区推出的母亲节当天女士穿旗袍免费入园活动引发争议,有人认为母亲节女士穿旗袍活动,策...
一本正经胡说八道,谁为AI幻觉... AI幻觉频发,误导用户、毁损名誉的责任,该由谁来承担?南京律师李小亮在百度上搜索自己的信息,结果百度...
老人在直播间疯狂刷火箭 周佳欣、郑凯丹、朱娅、蒋婉、黄铃、王佳、李婉晴/文64岁的王雅达又往直播间里刷了一枚“火箭”。屏幕上...
汉坦病毒阳性乘客在乌斯怀亚港登... 自世卫组织(WHO)5月6日公布荷兰泛海探险公司(Oceanwide Expeditions)旗下极...
冰箱不制冷的原因有哪几种 冰箱的电压在正常的情况下,压缩机没有正常的运转,而且有噪声和旋转的声音,压缩机一旦出现故障,冰箱就会...