安装和配置计算节点

安装和配置计算节点

这个章节描述如何在计算节点上安装和配置计算服务。 计算服务支持几种不同的 hypervisors。为了简单起见,这个配置在计算节点上使用 :term:`KVM <kernel-based VM (KVM)>`扩展的:term:`QEMU <Quick EMUlator (QEMU)>`作为hypervisor,支持虚拟机的硬件加速。在旧的硬件上,这个配置使用通用的QEMU作为hypervisor。你可以根据这些说明进行细微的调整,使用额外的计算节点来横向扩展你的环境。

注解

这个部分假设你根据本指南中的说明步骤配置第一个计算节点。如果你想配置额外的计算节点,像 example architectures 章节中的第一个计算节点一样准备好。每个额外的计算节点需要唯一的IP地址。

安全并配置组件

注解

默认配置文件在各发行版本中可能不同。你可能需要添加这些部分,选项而不是修改已经存在的部分和选项。另外,在配置片段中的省略号(...)表示默认的配置选项你应该保留。

  1. 安装软件包:

    # zypper install openstack-nova-compute genisoimage qemu-kvm libvirt
    
  1. 编辑``/etc/nova/nova.conf``文件并完成下面的操作:

    • 在``[DEFAULT]``部分,只启用计算和元数据API:

      [DEFAULT]
      ...
      enabled_apis = osapi_compute,metadata
      
    • In the [DEFAULT] section, set the compute_driver:

      [DEFAULT]
      # ...
      compute_driver = libvirt.LibvirtDriver
      
    • 在``[DEFAULT]``部分,配置``RabbitMQ``消息队列访问权限:

      [DEFAULT]
      ...
      transport_url = rabbit://openstack:RABBIT_PASS@controller
      

      用你在 “RabbitMQ” 中为 “openstack” 选择的密码替换 “RABBIT_PASS”。

    • 在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问:

      [DEFAULT]
      ...
      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 = NOVA_PASS
      

      使用你在身份认证服务中设置的``nova`` 用户的密码替换``NOVA_PASS``。

      注解

      [keystone_authtoken] 中注释或者删除其他选项。

    • [DEFAULT] 部分,配置 my_ip 选项:

      [DEFAULT]
      ...
      my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      

      将其中的 MANAGEMENT_INTERFACE_IP_ADDRESS 替换为计算节点上的管理网络接口的IP 地址,例如 :ref:`example architecture <overview-example-architectures>`中所示的第一个节点 10.0.0.31 。

    • ``[DEFAULT]``部分,启用网络服务支持:

      [DEFAULT]
      ...
      use_neutron = True
      firewall_driver = nova.virt.firewall.NoopFirewallDriver
      

      注解

      缺省情况下,Compute 使用内置的防火墙服务。由于 Networking 包含了防火墙服务,所以你必须通过使用 nova.virt.firewall.NoopFirewallDriver 来去除 Compute 内置的防火墙服务。

    • 在``[vnc]``部分,启用并配置远程控制台访问:

      [vnc]
      ...
      enabled = True
      vncserver_listen = 0.0.0.0
      vncserver_proxyclient_address = $my_ip
      novncproxy_base_url = http://controller:6080/vnc_auto.html
      

      服务器组件监听所有的 IP 地址,而代理组件仅仅监听计算节点管理网络接口的 IP 地址。基本的 URL 指示您可以使用 web 浏览器访问位于该计算节点上实例的远程控制台的位置。

      注解

      如果你运行浏览器的主机无法解析``controller`` 主机名,你可以将 ``controller``替换为你控制节点管理网络的IP地址。

    • [glance] 区域,配置镜像服务 API 的位置:

      [glance]
      ...
      api_servers = http://controller:9292
      
    • [oslo_concurrency] 部分,配置锁路径:

      [oslo_concurrency]
      ...
      lock_path = /var/run/nova
      
  1. 确保内核模块 nbd 已经加载了。

    # modprobe nbd
    
  2. 通过添加 nbd/etc/modules-load.d/nbd.conf 文件中来确保每次启动时都会加载 nbd 模块。

完成安装

  1. 确定您的计算节点是否支持虚拟机的硬件加速。

    $ egrep -c '(vmx|svm)' /proc/cpuinfo
    

    如果这个命令返回了 one or greater 的值,那么你的计算节点支持硬件加速且不需要额外的配置。

    如果这个命令返回了 zero 值,那么你的计算节点不支持硬件加速。你必须配置 libvirt 来使用 QEMU 去代替 KVM

    • /etc/nova/nova.conf 文件的 [libvirt] 区域做出如下的编辑:

      [libvirt]
      ...
      virt_type = qemu
      
  1. 启动计算服务及其依赖,并将其配置为随系统自动启动:

    # systemctl enable libvirtd.service openstack-nova-compute.service
    # systemctl start libvirtd.service openstack-nova-compute.service
    

注解

If the nova-compute service fails to start, check /var/log/nova/nova-compute.log. The error message AMQP server on controller:5672 is unreachable likely indicates that the firewall on the controller node is preventing access to port 5672.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.