zoukankan      html  css  js  c++  java
  • Openstack_O版(otaka)部署_Nova部署

    控制节点配置

    1. 建库建用户

    CREATE DATABASE nova_api;
    
    CREATE DATABASE nova;
    
    GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
    
    GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '123456';
    
    GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
    
    GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123456';
    
    flush privileges;

    2. keystone相关操作

    . admin-openrc
    
    openstack user create --domain default --password-prompt nova
    
    +---------------------+----------------------------------+
    | Field               | Value                            |
    +---------------------+----------------------------------+
    | domain_id           | 135e691ebbb74fefb5086970eac74706 |
    | enabled             | True                             |
    | id                  | 2fc41fbf983f4f1a97e0c9566dc71b8c |
    | name                | nova                             |
    | options             | {}                               |
    | password_expires_at | None                             |
    +---------------------+----------------------------------+
    
    openstack role add --project service --user nova admin
    
    openstack service create --name nova --description "OpenStack Compute" compute
    
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | OpenStack Compute                |
    | enabled     | True                             |
    | id          | e6a8b9decf6049ebb682b4069989f27d |
    | name        | nova                             |
    | type        | compute                          |
    +-------------+----------------------------------+
    
    openstack endpoint create --region RegionOne compute public http://controller01:8774/v2.1/%(tenant_id)s
    
    +--------------+---------------------------------------------+
    | Field        | Value                                       |
    +--------------+---------------------------------------------+
    | enabled      | True                                        |
    | id           | 4e62d09ea6004277b90664e1aa9d0ba4            |
    | interface    | public                                      |
    | region       | RegionOne                                   |
    | region_id    | RegionOne                                   |
    | service_id   | e6a8b9decf6049ebb682b4069989f27d            |
    | service_name | nova                                        |
    | service_type | compute                                     |
    | url          | http://controller01:8774/v2.1/%(tenant_id)s |
    +--------------+---------------------------------------------+
    
    openstack endpoint create --region RegionOne compute internal http://controller01:8774/v2.1/%(tenant_id)s
    
    +--------------+---------------------------------------------+
    | Field        | Value                                       |
    +--------------+---------------------------------------------+
    | enabled      | True                                        |
    | id           | 5067b38682e246f29d92383d621a2c13            |
    | interface    | internal                                    |
    | region       | RegionOne                                   |
    | region_id    | RegionOne                                   |
    | service_id   | e6a8b9decf6049ebb682b4069989f27d            |
    | service_name | nova                                        |
    | service_type | compute                                     |
    | url          | http://controller01:8774/v2.1/%(tenant_id)s |
    +--------------+---------------------------------------------+
    
    openstack endpoint create --region RegionOne compute admin http://controller01:8774/v2.1/%(tenant_id)s
    
    +--------------+---------------------------------------------+
    | Field        | Value                                       |
    +--------------+---------------------------------------------+
    | enabled      | True                                        |
    | id           | aa9bcd43b13a485da08c2c6bd2e55aad            |
    | interface    | admin                                       |
    | region       | RegionOne                                   |
    | region_id    | RegionOne                                   |
    | service_id   | e6a8b9decf6049ebb682b4069989f27d            |
    | service_name | nova                                        |
    | service_type | compute                                     |
    | url          | http://controller01:8774/v2.1/%(tenant_id)s |
    +--------------+---------------------------------------------+ 

    3. 安装软件包

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

    4. 修改配置

    vim /etc/nova/nova.conf

    [DEFAULT]
    
    enabled_apis = osapi_compute,metadata
    
    rpc_backend = rabbit
    
    auth_strategy = keystone
    
    transport_url = rabbit://openstack:123456@controller
    
    #下面的为管理ip
    
    my_ip = 192.168.198.128
    
    use_neutron = True
    
    firewall_driver = nova.virt.firewall.NoopFirewallDriver
    
    [api_database]
    
    connection = mysql+pymysql://nova:123456@controller/nova_api
    
    [database]
    
    connection = mysql+pymysql://nova:123456@controller/nova
    
    [oslo_messaging_rabbit]
    
    rabbit_host = controller
    
    rabbit_userid = openstack
    
    rabbit_password = 123456
    
    [keystone_authtoken]
    
    auth_url = http://controller:5000
    
    memcached_servers = controller:11211
    
    auth_type = password
    
    project_domain_name = default
    
    user_domain_name = default
    
    project_name = service
    
    username = nova
    
    password = 123456
    
    [vnc]
    
    enabled = True
    
    # 下面的为管理ip
    
    vncserver_listen = 192.168.198.128
    
    # 下面的为管理ip
    
    vncserver_proxyclient_address = 192.168.198.128
    
    [glance]
    
    api_servers = http://controller:9292
    
    [placement]
    
    auth_url = http://controller:35357/v3
    
    auth_type=password
    
    os_region_name = RegionOne
    
    project_domain_name = default
    
    user_domain_name = default
    
    region_name = RegionOne
    
    project_name = service
    
    username = neutron
    
    password = 123456
    
    [oslo_concurrency]
    
    lock_path = /var/lib/nova/tmp

    vim /etc/httpd/conf.d/00-nova-placement-api.conf

    # append this code 
    
    <Directory /usr/bin>
    <IfVersion >= 2.4>
        Require all granted
    </IfVersion>
    <IfVersion < 2.4>
        Order allow,deny
        Allow from all
    </IfVersion>
    </Directory>

    5. 同步数据库

    此处会报一些关于future的问题,自行忽略

    1 su -s /bin/sh -c "nova-manage api_db sync" nova
    2 su -s /bin/sh -c "nova-manage db sync" nova

    6. 启动服务

    1 systemctl enable openstack-nova-api.service openstack-nova-consoleauth.service 
    2 systemctl enable openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
    3 systemctl start openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service 
    4 systemctl start openstack-nova-conductor.service openstack-nova-novncproxy.service

    7. 验证

    netstat -ntlp | grep 6080 
    
        tcp        0      0 0.0.0.0:6080            0.0.0.0:*               LISTEN      85554/python2 
    
    netstat -ntlp | grep 8774
    
        tcp        0      0 0.0.0.0:8774            0.0.0.0:*               LISTEN      85481/python2 
    
    netstat -ntlp | grep 8775
    
        tcp        0      0 0.0.0.0:8775            0.0.0.0:*               LISTEN      85481/python2

    计算节点配置

    1. 安装软件包

    yum install openstack-nova-compute libvirt-daemon-lxc -y

    2. 修改配置

    vim /etc/nova/nova.conf

    [DEFAULT]
    
    rpc_backend = rabbit
    
    auth_strategy = keystone
    
    #计算节点管理网络ip
    
    my_ip = 192.168.198.129
    
    use_neutron = True
    
    firewall_driver = nova.virt.firewall.NoopFirewallDriver
    
    enabled_apis = osapi_compute,metadata
    
    transport_url = rabbit://openstack:123456@controller
    
    [oslo_messaging_rabbit]
    
    rabbit_host = controller
    
    rabbit_userid = openstack
    
    rabbit_password = 123456
    
    [vnc]
    
    enabled = True
    
    vncserver_listen = 0.0.0.0
    
    #计算节点管理网络ip
    
    vncserver_proxyclient_address = 192.168.198.129
    
    #控制节点管理网络ip
    
    novncproxy_base_url = http://192.168.198.128:6080/vnc_auto.html
    
    [glance]
    
    api_servers = http://controller:9292
    
    [oslo_concurrency]
    
    lock_path = /var/lib/nova/tmp
    
    [placement]
    
    auth_url = http://controller:5000
    
    memcached_servers = controller:11211
    
    auth_type = password
    
    project_domain_name = default
    
    user_domain_name = default
    
    project_name = service
    
    username = nova
    
    password = 123456
    
    os_region_name = RegionOne
    
    [scheduler]
    
    discover_hosts_in_cells_interval = 300
    
    [database]
    
    connection = mysql+pymysql://root:secret@192.168.111.69/nova_cell0?charset=utf8
    
    [api_database]
    
    connection = mysql+pymysql://root:secret@192.168.111.69/nova_api?charset=utf8

    3. 如果在不支持虚拟化的机器上部署nova,请确认

    egrep -c '(vmx|svm)' /proc/cpuinfo结果为0
    
    # 则编辑/etc/nova/nova.conf
    
    vim /etc/nova/nova.conf
    
        [libvirt]
    
        virt_type = qemu
    
    . admin-openrc
    
    openstack hypervisor list
    
    # Discover compute hosts
    
    su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

    4. 启动服务

    1 systemctl enable libvirtd.service openstack-nova-compute.service
    2 systemctl start libvirtd.service openstack-nova-compute.service

    验证

    控制节点

    source admin-openrc
    
    openstack compute service list
    
    +----+------------------+--------------+----------+---------+-------+----------------------------+
    | ID | Binary           | Host         | Zone     | Status  | State | Updated At                 |
    +----+------------------+--------------+----------+---------+-------+----------------------------+
    |  1 | nova-consoleauth | controller01 | internal | enabled | up    | 2018-02-02T05:36:13.000000 |
    |  2 | nova-scheduler   | controller01 | internal | enabled | up    | 2018-02-02T05:36:09.000000 |
    |  5 | nova-conductor   | controller01 | internal | enabled | up    | 2018-02-02T05:36:11.000000 |
    |  6 | nova-compute     | compute01    | nova     | enabled | up    | 2018-02-02T05:36:13.000000 |
    +----+------------------+--------------+----------+---------+-------+----------------------------+

    参考博客 http://blog.51cto.com/egon09/1839667

  • 相关阅读:
    google-glog 开源库分析(一):glog介绍
    homebrew用法
    macos新手入门
    markdown语法_文本效果[转载]
    markdown语法[转载]
    从Search Sort到Join
    实际例子描述和分析“猎豹抢票跨站推荐功能有票刷不到”的疑似bug
    最简单例子图解JVM内存分配和回收
    B树在数据库索引中的应用剖析
    从Count看Oracle执行计划的选择
  • 原文地址:https://www.cnblogs.com/cq146637/p/8408874.html
Copyright © 2011-2022 走看看