zoukankan      html  css  js  c++  java
  • 安装nova

    在控制节点上执行


    controllerHost='controller'
    controllerIP='172.31.240.49'
    MYSQL_PASSWD='m4r!adbOP'
    RABBIT_PASSWD='0penstackRMQ'
    NOVA_PASSWD='nova1234!'
    PLACEMENT_PASSWD='placement1234!'

    1.创建数据库


    mysql -uroot -p${MYSQL_PASSWD} << EOF
         DROP DATABASE IF EXISTS nova;
         CREATE DATABASE nova;
         DROP DATABASE IF EXISTS nova_api;
         CREATE DATABASE nova_api;
         DROP DATABASE IF EXISTS nova_cell0;
         CREATE DATABASE nova_cell0;
         DROP DATABASE IF EXISTS placement;
         CREATE DATABASE placement;
         GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '${NOVA_PASSWD}';
         GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '${NOVA_PASSWD}';
         GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '${NOVA_PASSWD}';
         GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '${NOVA_PASSWD}';
         GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY '${NOVA_PASSWD}';
         GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY '${NOVA_PASSWD}';
         GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY '${PLACEMENT_PASSWD}';
         GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY '${PLACEMENT_PASSWD}';
    EOF

    2.创建认证用户并授权


    openstack user create --domain default --password ${NOVA_PASSWD} nova
    openstack role add --project service --user nova admin

    openstack user create --domain default --password ${PLACEMENT_PASSWD} placement
    openstack role add --project service --user placement admin

    3.创建服务实体和端点


    openstack service create --name nova  --description "OpenStack Compute" compute
    openstack endpoint create --region RegionOne compute public http://${controllerHost}:8774/v2.1
    openstack endpoint create --region RegionOne compute internal http://${controllerHost}:8774/v2.1
    openstack endpoint create --region RegionOne compute admin http://${controllerHost}:8774/v2.1

    openstack service create --name placement --description "Placement API" placement
    openstack endpoint create --region RegionOne placement public http://${controllerHost}:8778
    openstack endpoint create --region RegionOne placement internal http://${controllerHost}:8778
    openstack endpoint create --region RegionOne placement admin http://${controllerHost}:8778

    4.安装nova组件


    yum -y install openstack-nova-api openstack-nova-placement-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy

    5.配置nova服务访问数据库


    openstack-config --set  /etc/nova/nova.conf  api_database  connection  mysql+pymysql://nova:${NOVA_PASSWD}@${controllerHost}/nova_api
    openstack-config --set  /etc/nova/nova.conf  database connection  mysql+pymysql://nova:${NOVA_PASSWD}@${controllerHost}/nova
    openstack-config --set  /etc/nova/nova.conf  placement_database connection  mysql+pymysql://placement:${PLACEMENT_PASSWD}@${controllerHost}/placement

    6.配置nova服务访问memcached服务


    openstack-config --set  /etc/nova/nova.conf  cache backend oslo_cache.memcache_pool
    openstack-config --set  /etc/nova/nova.conf  cache enabled True
    openstack-config --set  /etc/nova/nova.conf  cache memcache_servers  ${controllerHost}:11211

    7.配置nova服务访问rabbitmq服务


    openstack-config --set  /etc/nova/nova.conf  DEFAULT transport_url rabbit://openstack:${RABBIT_PASSWD}@${controllerHost}:5672

    8.配置nova访问glance服务


    openstack-config --set  /etc/nova/nova.conf  glance api_servers  http://${controllerHost}:9292

    9.配置nova服务访问认证服务


    openstack-config --set  /etc/nova/nova.conf  api auth_strategy  keystone
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken auth_url  http://${controllerHost}:5000/v3
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken auth_type  password
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken project_domain_name  Default
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken user_domain_name  Default
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken project_name  service
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken username  nova
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken password  ${NOVA_PASSWD}

    10.配置统一资源管理placement服务访问认证服务


    openstack-config --set  /etc/nova/nova.conf  placement auth_url  http://${controllerHost}:5000/v3
    openstack-config --set  /etc/nova/nova.conf  placement region_name  RegionOne
    openstack-config --set  /etc/nova/nova.conf  placement auth_type  password
    openstack-config --set  /etc/nova/nova.conf  placement project_domain_name  Default
    openstack-config --set  /etc/nova/nova.conf  placement user_domain_name  Default
    openstack-config --set  /etc/nova/nova.conf  placement project_name  service
    openstack-config --set  /etc/nova/nova.conf  placement username  placement
    openstack-config --set  /etc/nova/nova.conf  placement password  ${PLACEMENT_PASSWD}

    11.配置nova开启计算和元数据API服务


    openstack-config --set  /etc/nova/nova.conf  DEFAULT enabled_apis  osapi_compute,metadata

    12.配置计算和元数据API服务的监听IP和端口


    openstack-config --set  /etc/nova/nova.conf  DEFAULT osapi_compute_listen ${controllerIP}
    openstack-config --set  /etc/nova/nova.conf  DEFAULT osapi_compute_listen_port 8774
    openstack-config --set  /etc/nova/nova.conf  DEFAULT metadata_listen ${controllerIP}
    openstack-config --set  /etc/nova/nova.conf  DEFAULT metadata_listen_port 8775

    13.配置nova开启VNC代理服务


    openstack-config --set  /etc/nova/nova.conf  vnc enabled true
    openstack-config --set  /etc/nova/nova.conf  vnc server_listen ${controllerIP}
    openstack-config --set  /etc/nova/nova.conf  vnc server_proxyclient_address ${controllerIP}
    openstack-config --set  /etc/nova/nova.conf  vnc novncproxy_base_url http://${controllerIP}:6080/vnc_auto.html
    openstack-config --set  /etc/nova/nova.conf  vnc novncproxy_host ${controllerIP}
    openstack-config --set  /etc/nova/nova.conf  vnc novncproxy_port 6080

    14.配置nova加载防火墙驱动程序


    openstack-config --set  /etc/nova/nova.conf  DEFAULT firewall_driver  nova.virt.firewall.NoopFirewallDriver

    15.配置nova允许动态调整实例大小


    openstack-config --set  /etc/nova/nova.conf  DEFAULT allow_resize_to_same_host True

    16.配置nova使能自动发现并添加nova-compute服务到数据库cell中


    #时间间隔单位是秒
    openstack-config --set  /etc/nova/nova.conf  scheduler discover_hosts_in_cells_interval  300

    17.配置nova中oslo库的锁定路径


    openstack-config --set  /etc/nova/nova.conf  oslo_concurrency lock_path  /var/lib/nova/tmp

    18.配置placement服务的监听IP


    sed -i "s/Listen 8778/Listen 0.0.0.0:8778/g"  /etc/httpd/conf.d/00-nova-placement-api.conf
    sed -i "s/*:8778/0.0.0.0:8778/g"  /etc/httpd/conf.d/00-nova-placement-api.conf

    19.解决placement启动配置中的bug


    sed -i "/ErrorLogFormat/a<Directory /usr/bin> <IfVersion >= 2.4> Require all granted </IfVersion> <IfVersion < 2.4> Order allow,deny Allow from all </IfVersion> </Directory>"   /etc/httpd/conf.d/00-nova-placement-api.conf

    20.同步数据库


    su -s /bin/sh -c "nova-manage api_db sync" nova
    su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
    su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
    su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
    su -s /bin/sh -c "nova-manage db sync" nova

    21.启动nova服务


    systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service openstack-nova-consoleauth.service
    systemctl restart openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service openstack-nova-consoleauth.service
    systemctl status openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service openstack-nova-consoleauth.service
    systemctl restart httpd
    systemctl status httpd

    22.校验nova服务正常性


    source ~/admin-openrc
    openstack compute service list
    openstack catalog list
    openstack image list
    nova-status upgrade check

    23.创建flavor实例类型


    openstack flavor create --id 1 --vcpus 2 --ram 4096 --disk 40 small.flavor
    openstack flavor create --id 2 --vcpus 4 --ram 4096 --disk 40 medium.flavor
    openstack flavor create --id 3 --vcpus 8 --ram 8192 --disk 40 large.flavor

    24.手动发现并添加新加入的计算节点到数据库cell中


    su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

    在计算节点上执行


    controllerHost='controller'
    controllerVIP='172.31.240.49'
    computeIP='172.31.240.45'
    RABBIT_PASSWD='0penstackRMQ'
    NOVA_PASSWD='nova1234!'
    PLACEMENT_PASSWD='placement1234!'

    1.安装nova组件


    yum -y install openstack-nova-compute

    2.配置nova访问memcached服务


    openstack-config --set  /etc/nova/nova.conf  cache backend oslo_cache.memcache_pool
    openstack-config --set  /etc/nova/nova.conf  cache enabled True
    openstack-config --set  /etc/nova/nova.conf  cache memcache_servers  ${controllerHost}:11211

    3.配置nova访问rabbitmq服务


    openstack-config --set  /etc/nova/nova.conf  DEFAULT transport_url rabbit://openstack:${RABBIT_PASSWD}@${controllerHost}:5672

    4.配置nova访问glance服务


    openstack-config --set  /etc/nova/nova.conf  glance api_servers  http://${controllerHost}:9292

    5.配置nova服务访问认证服务


    openstack-config --set  /etc/nova/nova.conf  api auth_strategy  keystone
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken auth_url  http://${controllerHost}:5000/v3
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken auth_type  password
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken project_domain_name  Default
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken user_domain_name  Default
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken project_name  service
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken username  nova
    openstack-config --set  /etc/nova/nova.conf  keystone_authtoken password  ${NOVA_PASSWD}

    6.配置统一资源管理placement服务访问认证服务


    openstack-config --set  /etc/nova/nova.conf  placement auth_url  http://${controllerHost}:5000/v3
    openstack-config --set  /etc/nova/nova.conf  placement region_name  RegionOne
    openstack-config --set  /etc/nova/nova.conf  placement auth_type  password
    openstack-config --set  /etc/nova/nova.conf  placement project_domain_name  Default
    openstack-config --set  /etc/nova/nova.conf  placement user_domain_name  Default
    openstack-config --set  /etc/nova/nova.conf  placement project_name  service
    openstack-config --set  /etc/nova/nova.conf  placement username  placement
    openstack-config --set  /etc/nova/nova.conf  placement password  ${PLACEMENT_PASSWD}

    7.配置nova访问计算和元数据API服务


    openstack-config --set  /etc/nova/nova.conf  DEFAULT enabled_apis  osapi_compute,metadata

    8.配置nova开启VNC服务


    openstack-config --set  /etc/nova/nova.conf  vnc enabled true
    openstack-config --set  /etc/nova/nova.conf  vnc server_listen ${computeIP}
    openstack-config --set  /etc/nova/nova.conf  vnc server_proxyclient_address ${computeIP}
    openstack-config --set  /etc/nova/nova.conf  vnc novncproxy_base_url  http://${controllerVIP}:6080/vnc_auto.html

    9.配置nova加载防火墙驱动程序


    openstack-config --set  /etc/nova/nova.conf  DEFAULT firewall_driver  nova.virt.firewall.NoopFirewallDriver

    10.配置nova允许动态调整实例大小


    openstack-config --set  /etc/nova/nova.conf  DEFAULT allow_resize_to_same_host True

    11.配置nova服务克隆物理CPU的特征标记


    openstack-config --set  /etc/nova/nova.conf  libvirt cpu_mode host-model

    openstack官网对cpu_mode配置信息的描述:
    (StrOpt) Set to "host-model" to clone the host CPU feature flags;
    to "host-passthrough" to use the host CPU model exactly;
    to "custom" to use a named CPU model;
    to "none" to not set any CPU model.
    If virt_type="kvm|qemu", it will default to "host-model",
    otherwise it will default to "none"

    (StrOpt) Set to a named libvirt CPU model
    (see names listed in /usr/share/libvirt/cpu_map.xml).
    Only has effect if cpu_mode="custom" and virt_type="kvm|qemu"

    12.配置nova服务使能KVM虚拟机(只有物理主机支持虚拟化才可以使能KVM,默认为QEMU)


    openstack-config --set  /etc/nova/nova.conf  libvirt virt_type kvm


    13.配置nova中oslo库的锁定路径


    openstack-config --set  /etc/nova/nova.conf  oslo_concurrency lock_path  /var/lib/nova/tmp

    14.解决network-vif-plugged事件超时对虚机创建的影响


    openstack-config --set  /etc/nova/nova.conf  DEFAULT vif_plugging_is_fatal  False
    openstack-config --set  /etc/nova/nova.conf  DEFAULT vif_plugging_timeout  0

    详情请分析这篇文章:http://www.mamicode.com/info-detail-2317620.html

    15.启动nova服务


    systemctl enable libvirtd.service openstack-nova-compute.service
    systemctl restart libvirtd.service openstack-nova-compute.service
    systemctl status libvirtd.service openstack-nova-compute.service

  • 相关阅读:
    SecureCRT 自定义配置
    deepin 使用笔记
    TotalCommander 使用笔记
    不同环境下MySQL 表名大小写敏感问题
    Windows / Linux 下查看文件 MD5
    设置ll命令日期格式 并友好显示文件大小
    scp 常用命令
    【C++ IO机制】stream_buf 解析
    d
    【C++ IO机制】标准IO库(C库函数)
  • 原文地址:https://www.cnblogs.com/jipinglong/p/11210105.html
Copyright © 2011-2022 走看看