• openstack 部署笔记--nova


    控制节点

    配置用户与服务

    $ . admin-openrc
    $ openstack user create --domain default --password-prompt nova
    $ openstack role add --project service --user nova admin
    $ openstack service create --name nova 
      --description "OpenStack Compute" compute
    
    $ openstack endpoint create --region RegionOne 
      compute public http://controller:8774/v2.1
      
    $ openstack endpoint create --region RegionOne 
      compute internal http://controller:8774/v2.1
      
    $ openstack endpoint create --region RegionOne 
      compute admin http://controller:8774/v2.1
      
    openstack user create --domain default --password-prompt placement
    $ openstack role add --project service --user placement admin
    
    openstack endpoint create --region RegionOne placement public http://controller:8778
    
    openstack endpoint create --region RegionOne placement internal http://controller.cn:8778
    
    openstack endpoint create --region RegionOne placement admin http://controller:8778
    

    安装配置nova

    # yum install openstack-nova-api openstack-nova-conductor 
      openstack-nova-console openstack-nova-novncproxy 
      openstack-nova-scheduler openstack-nova-placement-api
    
    # vim /etc/nova/nova.conf
    [DEFAULT]
    # ...
    enabled_apis = osapi_compute,metadata
    transport_url = rabbit://openstack:root@controller
    my_ip = 192.168.15.243
    use_neutron = True
    firewall_driver = nova.virt.firewall.NoopFirewallDriver
    [api_database]
    # ...
    connection = mysql+pymysql://nova:root@controller/nova_api
    
    [database]
    # ...
    connection = mysql+pymysql://nova:root@controller/nova
    [api]
    # ...
    auth_strategy = keystone
    
    [keystone_authtoken]
    # ...
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = nova
    password = root
    [vnc]
    enabled = true
    # ...
    vncserver_listen = $my_ip
    vncserver_proxyclient_address = $my_ip
    [glance]
    # ...
    api_servers = http://controller:9292
    [oslo_concurrency]
    # ...
    lock_path = /var/lib/nova/tmp
    [placement]
    # ...
    os_region_name = RegionOne
    project_domain_name = Default
    project_name = service
    auth_type = password
    user_domain_name = Default
    auth_url = http://controller:35357/v3
    username = placement
    password = root
    

    解决Placement API BUG

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

    同步数据

    # 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 db sync" nova
    # nova-manage cell_v2 list_cells
    
    # systemctl enable openstack-nova-api.service 
      openstack-nova-consoleauth.service openstack-nova-scheduler.service 
      openstack-nova-conductor.service openstack-nova-novncproxy.service
    # systemctl start openstack-nova-api.service 
      openstack-nova-consoleauth.service openstack-nova-scheduler.service 
      openstack-nova-conductor.service openstack-nova-novncproxy.service
    

    计算节点

    安装nova包

    # yum install openstack-nova-compute
    

    nova配置文件

    [DEFAULT]
    # ...
    enabled_apis = osapi_compute,metadata
    transport_url = rabbit://openstack:root@controller
    my_ip = 192.168.15.238
    use_neutron = True
    firewall_driver = nova.virt.firewall.NoopFirewallDriver
    [api]
    # ...
    auth_strategy = keystone
    
    [keystone_authtoken]
    # ...
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = nova
    password = root
    [vnc]
    # ...
    enabled = True
    vncserver_listen = 0.0.0.0
    vncserver_proxyclient_address = $my_ip
    novncproxy_base_url = http://controller:6080/vnc_auto.html
    [glance]
    # ...
    api_servers = http://controller:9292
    [oslo_concurrency]
    # ...
    lock_path = /var/lib/nova/tmp
    [placement]
    # ...
    os_region_name = RegionOne
    project_domain_name = Default
    project_name = service
    auth_type = password
    user_domain_name = Default
    auth_url = http://controller:35357/v3
    username = placement
    password = root
    [libvirt]
    # ...
    virt_type = qemu
    
    
    # systemctl enable libvirtd.service openstack-nova-compute.service
    # systemctl start libvirtd.service openstack-nova-compute.service
    

    控制节点

    验证配置

    $ . admin-openrc
    
    $ openstack hypervisor list
    
    # su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
    

    每次添加计算节点都要运行nova-manage cell_v2 discover_hosts

    或者可以自动执行

    # vim /etc/nova/nova.conf
    [scheduler]
    discover_hosts_in_cells_interval = 300
    

      

      

  • 相关阅读:
    简便的将DataSet导入到数据库中
    数据类型的小小研究:Access与SQL Server的数据类型
    【jxust acm 20120708】
    【D ECJTU_ACM 11级队员2012年暑假训练赛(2)】
    【hdu 2101 A + B Problem Too】
    【hdu 1014】
    【hdu 1164 Eddy's research I】
    【开始,安全编程】
    【hdu 1285 确定比赛名次】
    【hdu 1163 Eddy's digital Roots 】
  • 原文地址:https://www.cnblogs.com/37yan/p/6934527.html
Copyright © 2020-2023  润新知