zoukankan      html  css  js  c++  java
  • OpenStack Train版-5.安装nova计算服务(控制节点)

    计算服务nova较之前的服务稍显复杂(但没有网络服务neutron复杂),它需要在控制节点和计算节点都安装

    控制节点主要安装nova-api(nova主服务)、nova-scheduler(nova调度服务)、nova-conductor(nova数据库服务,提供数据库访问)、nova-novncproxy(nova的vnc服务,提供实例的控制台)等服务;

    计算节点主要安装nova-compute(nova计算服务)。
    本节将叙述在控制节点上安装nova的步骤,下一节再叙述在计算节点上的安装。

    1. 创建数据库并授权
    [root@controller ~]# mysql -u root -proot
    MariaDB [(none)]> CREATE DATABASE nova_api;
    Query OK, 1 row affected (0.000 sec)

    MariaDB [(none)]> CREATE DATABASE nova;
    Query OK, 1 row affected (0.000 sec)

    MariaDB [(none)]> CREATE DATABASE nova_cell0;
    Query OK, 1 row affected (0.000 sec)

    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
    Query OK, 0 rows affected (0.000 sec)

    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
    Query OK, 0 rows affected (0.000 sec)

    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
    Query OK, 0 rows affected (0.000 sec)

    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
    Query OK, 0 rows affected (0.000 sec)

    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
    Query OK, 0 rows affected (0.000 sec)

    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
    Query OK, 0 rows affected (0.001 sec)
    2. 创建nova用户
    [root@controller ~]# openstack user create --domain default --password NOVA_PASS nova
    +---------------------+----------------------------------+
    | Field | Value |
    +---------------------+----------------------------------+
    | domain_id | default |
    | enabled | True |
    | id | bcc9ca34f6694e0d827172fe04de23ba |
    | name | nova |
    | options | {} |
    | password_expires_at | None |
    +---------------------+----------------------------------+
    3. 向nova用户添加admin角色
    [root@controller ~]# openstack role add --project service --user nova admin

    4. 创建nova服务实体
    [root@controller ~]# openstack service create --name nova --description "OpenStack Compute" compute
    +-------------+----------------------------------+
    | Field | Value |
    +-------------+----------------------------------+
    | description | OpenStack Compute |
    | enabled | True |
    | id | 5612dbfa3b85410ba6499d083da489a2 |
    | name | nova |
    | type | compute |
    +-------------+----------------------------------+
    5. 创建Compute API服务端点
    [root@controller ~]# openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1
    +--------------+----------------------------------+
    | Field | Value |
    +--------------+----------------------------------+
    | enabled | True |
    | id | b46f5cd0ec6949e18c1164a8bab20425 |
    | interface | public |
    | region | RegionOne |
    | region_id | RegionOne |
    | service_id | 5612dbfa3b85410ba6499d083da489a2 |
    | service_name | nova |
    | service_type | compute |
    | url | http://controller:8774/v2.1 |
    +--------------+----------------------------------+
    [root@controller ~]# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1
    +--------------+----------------------------------+
    | Field | Value |
    +--------------+----------------------------------+
    | enabled | True |
    | id | e2b46131bfa2454c84583143e753e9ec |
    | interface | internal |
    | region | RegionOne |
    | region_id | RegionOne |
    | service_id | 5612dbfa3b85410ba6499d083da489a2 |
    | service_name | nova |
    | service_type | compute |
    | url | http://controller:8774/v2.1 |
    +--------------+----------------------------------+
    [root@controller ~]# openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1
    +--------------+----------------------------------+
    | Field | Value |
    +--------------+----------------------------------+
    | enabled | True |
    | id | e61724aa243f4512b0511db17f241b46 |
    | interface | admin |
    | region | RegionOne |
    | region_id | RegionOne |
    | service_id | 5612dbfa3b85410ba6499d083da489a2 |
    | service_name | nova |
    | service_type | compute |
    | url | http://controller:8774/v2.1 |
    +--------------+----------------------------------+
    6. 安装软件包
    [root@controller ~]# yum install openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler -y
    7. 修改配置文件
    cp -a /etc/nova/nova.conf{,.bak}
    grep -Ev '^$|#' /etc/nova/nova.conf.bak > /etc/nova/nova.conf

    openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata
    openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 10.0.0.11
    openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron true
    openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
    openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@controller
    openstack-config --set /etc/nova/nova.conf api_database connection mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api
    openstack-config --set /etc/nova/nova.conf database connection mysql+pymysql://nova:NOVA_DBPASS@controller/nova
    openstack-config --set /etc/nova/nova.conf placement_database connection mysql+pymysql://placement:PLACEMENT_DBPASS@controller/placement
    openstack-config --set /etc/nova/nova.conf api auth_strategy keystone
    openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://controller:5000/v3
    openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers controller:11211
    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_PASS

    openstack-config --set /etc/nova/nova.conf vnc enabled true
    openstack-config --set /etc/nova/nova.conf vnc server_listen ' $my_ip'
    openstack-config --set /etc/nova/nova.conf vnc server_proxyclient_address ' $my_ip'

    openstack-config --set /etc/nova/nova.conf glance api_servers http://controller:9292
    openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp
    openstack-config --set /etc/nova/nova.conf placement region_name RegionOne
    openstack-config --set /etc/nova/nova.conf placement project_domain_name Default
    openstack-config --set /etc/nova/nova.conf placement project_name service
    openstack-config --set /etc/nova/nova.conf placement auth_type password
    openstack-config --set /etc/nova/nova.conf placement user_domain_name Default
    openstack-config --set /etc/nova/nova.conf placement auth_url http://controller:5000/v3
    openstack-config --set /etc/nova/nova.conf placement username placement
    openstack-config --set /etc/nova/nova.conf placement password PLACEMENT_PASS
    8. 填充nova-api数据库
    [root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
    [root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
    [root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
    9da69415-6638-46d2-b35f-d5307f62348a
    [root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova
    /usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u'Duplicate index `block_device_mapping_instance_uuid_virtual_name_device_name_idx`. This is deprecated and will be disallowed in a future release')
    result = self._query(query)
    /usr/lib/python2.7/site-packages/pymysql/cursors.py:170: Warning: (1831, u'Duplicate index `uniq_instances0uuid`. This is deprecated and will be disallowed in a future release')
    result = self._query(query)
    {1}
    9. 数据库填充好之后,验证nova cell0和cell1是否正确注册:
    [root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
    +-------+--------------------------------------+------------------------------------------+-------------------------------------------------+----------+
    | Name | UUID | Transport URL | Database Connection | Disabled |
    +-------+--------------------------------------+------------------------------------------+-------------------------------------------------+----------+
    | cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://nova:****@controller/nova_cell0 | False |
    | cell1 | 9da69415-6638-46d2-b35f-d5307f62348a | rabbit://openstack:****@controller:5672/ | mysql+pymysql://nova:****@controller/nova | False |
    +-------+--------------------------------------+------------------------------------------+-------------------------------------------------+----------+
    10. 启动计算服务nova并将其配置为开机自启
    [root@controller ~]# systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
    [root@controller ~]# systemctl start openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
    同样,使用netstat -tnlup查看端口情况,如出现8774和8775端口则表示nova服务正常启动。


    至此,控制节点计算服务nova安装完成

  • 相关阅读:
    Intern Day16
    粉红
    开始还房贷!
    Sonnet-十四行诗
    CSS兼容大全
    TCL电视直播软件
    《Linux权威指南》阅读笔记(2)
    《Linux权威指南》阅读笔记(1)
    Linux crontab定时执行任务 命令格式与详细例子
    linux下find查找命令用法
  • 原文地址:https://www.cnblogs.com/lxc123/p/13237393.html
Copyright © 2011-2022 走看看