Menginstal dan mengkonfigurasi node komputasi

Menginstal dan mengkonfigurasi node komputasi

Bagian ini menjelaskan cara menginstal dan mengkonfigurasi layanan Compute pada node komputasi. Layanan ini mendukung beberapa hypervisors untuk mengerahkan instances atau VMs. Untuk mempermudah, konfigurasi ini menggunakan hypervisor QEMU dengan ekstensi KVM pada node komputasi yang mendukung akselerasi hardware untuk mesin virtual. Pada hardware legacy, konfigurasi ini menggunakan hypervisor QEMU generik. Anda dapat mengikuti petunjuk ini dengan sedikit modifikasi skala lingkungan Anda secara horizontal dengan node komputasi tambahan.

Catatan

Bagian ini mengasumsikan bahwa Anda mengikuti petunjuk dalam panduan ini langkah-demi-langkah untuk mengkonfigurasi node komputasi pertama. Jika Anda ingin mengkonfigurasinode komputasi tambahan, persiapkanlah mereka dengan cara yang sama ke node komputasi pertama dalam bagian example architectures. Setiap node komputasi tambahan membutuhkan alamat IP yang unik.

Menginstal dan mengkonfigurasi komponen

Catatan

file konfigurasi default bervariasi oleh distribusi. Anda mungkin perlu menambahkan bagian ini dan pilihan daripada memodifikasi bagian dan pilihan yang ada. Juga, elipsis (`` ... ``) dalam cuplikan konfigurasi menunjukkan opsi konfigurasi default potensial yang harus Anda mempertahankan.

  1. Instal paket:

    # zypper install openstack-nova-compute genisoimage qemu-kvm libvirt
    
  1. Edit file /etc/nova/nova.conf dan selesaikan tindakan berikut:

    • Dalam bagian ``[DEFAULT] ``, aktifkan hanya komputasi dan metadata API:

      [DEFAULT]
      # ...
      enabled_apis = osapi_compute,metadata
      
    • Dalam bagian [DEFAULT], atur compute_driver:

      [DEFAULT]
      # ...
      compute_driver = libvirt.LibvirtDriver
      
    • Dalam bagian [DEFAULT], lakukan konfigurasi akses antrian pesan RabbitMQ:

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

      Ganti RABBIT_PASS dengan password yang Anda pilih untuk akun openstack di `` RabbitMQ``.

    • Dalam bagian ``[api] `` dan ``[keystone_authtoken] ``, lakukan konfigurasi akses layanan Identity:

      [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 = NOVA_PASS
      

      Ganti NOVA_PASS dengan password yang Anda pilih untuk pengguna nova dalam pelayanan Identity.

      Catatan

      Hilangkan komentar atau bahkan hapus pilihan lainnya dalam bagian ``[keystone_authtoken] ``.

    • Dalam bagian [DEFAULT] ``, mengkonfigurasi opsi ``my_ip:

      [DEFAULT]
      # ...
      my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      

      Ganti MANAGEMENT_INTERFACE_IP_ADDRESS dengan alamat IP dari antarmuka jaringan manajemen pada node komputasi Anda, biasanya 10.0.0.31 untuk node pertama dalam example architecture.

    • Dalam bagian ``[DEFAULT] ``, aktifkan dukungan untuk layanan Networking:

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

      Catatan

      Secara default, Compute menggunakan layanan firewall internal. Karena Networking meliputi layanan firewall, Anda harus menonaktifkan layanan firewall Compute dengan menggunakan driver firewall nova.virt.firewall.NoopFirewallDriver.

    • Dalam bagian ``[vnc] ``, aktifkan dan konfigurasikan akses remote konsol:

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

      Komponen server mendengarkan semua alamat IP, dan komponen proxy yang hanya mendengarkan alamat IP manajemen antarmuka node komputasi. Dasar URL menunjukkan lokasi dimana Anda dapat menggunakan web browser untuk mengakses konsol remote instance pada node komputasi ini.

      Catatan

      Jika web browser untuk mengakses konsol remote berada pada host yang tidak dapat menyelesaikan (resolve) hostname controller, Anda harus mengganti `` controller`` dengan alamat IP manajemen antarmuka dari controller node.

    • Dalam bagian ``[glance] ``, konfigurasikan lokasi layanan Image API:

      [glance]
      # ...
      api_servers = http://controller:9292
      
    • Dalam bagian [oslo_concurrency], konfigurasi lock path:

      [oslo_concurrency]
      # ...
      lock_path = /var/run/nova
      
    • In the [placement] section, configure the Placement API:

      [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 = PLACEMENT_PASS
      

      Replace PLACEMENT_PASS with the password you choose for the placement user in the Identity service. Comment out any other options in the [placement] section.

  1. Pastikan modul kernel nbd dimuat.

    # modprobe nbd
    
  2. Pastikan beban modul pada setiap boot dengan menambahkan nbd ke file /etc/modules-load.d/nbd.conf.

Finalisasi instalasi

  1. Tentukan apakah node komputasi Anda mendukung akselerasi hardware untuk mesin virtual:

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

    Jika perintah ini mengembalikan nilai one or greater, node komputasi Anda mendukung akselerasi hardware yang biasanya tidak memerlukan konfigurasi tambahan.

    Jika perintah ini mengembalikan nilai zero, node komputasi Anda tidak mendukung akselerasi hardware dan Anda harus mengkonfigurasi libvirt menggunakan QEMU bukan KVM.

    • Mengedit bagian [libvirt] `` dalam file   ``/etc/nova/nova.conf sebagai berikut:

      [libvirt]
      # ...
      virt_type = qemu
      
  1. Mulai layanan Compute termasuk dependensinya dan mengkonfigurasi mereka untuk memulai secara otomatis ketika sistem booting:

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

Catatan

Jika layanan nova-compute gagal untuk memulai, periksalah /var/log/nova/nova-compute.log. Pesan kesalahan AMQP server on controller:5672 is unreachable kemungkinan menunjukkan bahwa firewall pada controller node mencegah akses ke port 5672. Lakukan konfigurasi firewall untuk membuka port 5672 pada controller node dan me-restart layanan nova-compute pada node komputasi.

Add the compute node to the cell database

Penting

Run the following commands on the controller node.

  1. Source the admin credentials to enable admin-only CLI commands, then confirm there are compute hosts in the database:

    $ . admin-openrc
    
    $ openstack hypervisor list
    +----+---------------------+-----------------+-----------+-------+
    | ID | Hypervisor Hostname | Hypervisor Type | Host IP   | State |
    +----+---------------------+-----------------+-----------+-------+
    |  1 | compute1            | QEMU            | 10.0.0.31 | up    |
    +----+---------------------+-----------------+-----------+-------+
    
  2. Discover compute hosts:

    # su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
    
    Found 2 cell mappings.
    Skipping cell0 since it does not contain hosts.
    Getting compute nodes from cell 'cell1': ad5a5985-a719-4567-98d8-8d148aaae4bc
    Found 1 computes in cell: ad5a5985-a719-4567-98d8-8d148aaae4bc
    Checking host mapping for compute host 'compute': fe58ddc1-1d65-4f87-9456-bc040dc106b3
    Creating host mapping for compute host 'compute': fe58ddc1-1d65-4f87-9456-bc040dc106b3
    

    Catatan

    When you add new compute nodes, you must run nova-manage cell_v2 discover_hosts on the controller node to register those new compute nodes. Alternatively, you can set an appropriate interval in /etc/nova/nova.conf:

    [scheduler]
    discover_hosts_in_cells_interval = 300
    
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.