stackhpc.libvirt-host

Host Libvirt

Ta rola konfiguruje hosta jako hypervisor Libvirt/KVM. Może również konfigurować pule pamięci i sieci na hoście.

Wymagania

Host powinien mieć włączoną technologię wirtualizacji (VT).

Zmienne ról

libvirt_host_pools to lista pul do zdefiniowania i uruchomienia. Każdy element powinien być słownikiem zawierającym następujące elementy:

  • name Nazwa puli.
  • type Typ puli, obecnie obsługiwane są tylko dir, logical i rbd. lvm2 jest obsługiwane jako alias dla logical, ale ten alias jest przestarzały i zostanie usunięty w przyszłej wersji.
  • capacity Pojemność, w bajtach, puli. (opcjonalne)
  • path Absolutna ścieżka do katalogu zapasowego puli.
  • mode Tryb dostępu do puli. Uwaga: Należy podać jako liczbę całkowitą bez wiodącej zera; na przykład: mode: 755. (tylko dir)
  • owner Właściciel puli. (tylko dir)
  • group Grupa puli. (tylko dir)
  • source Nazwa grupy objętości (gdy typ to logical) lub pula RBD (gdy typ to rbd).
  • pvs Lista woluminów fizycznych, z których składa się grupa objętości. (tylko gdy typ to logical)
  • hosts Lista adresów IP lub nazw monitorów Ceph. (tylko rbd)
  • username Nazwa użytkownika używana do uwierzytelnienia RADOS. (tylko rbd)
  • passphrase Hasło używane do uwierzytelnienia RADOS. (tylko rbd)

libvirt_host_networks to lista sieci do zdefiniowania i uruchomienia. Każdy element powinien być słownikiem zawierającym następujące elementy:

  • name Nazwa sieci.
  • mode Tryb przekazywania sieci, obsługiwane są bridge, route, open i nat. Pozostaw puste, aby ustawić tryb izolowanej sieci.
  • bridge Nazwa interfejsu mostu dla tej sieci.
  • ip Adres IP wirtualnego mostu, obowiązkowy w trybach route, open i nat.
  • netmask Maska sieci wirtualnego mostu, obowiązkowa w trybach route, open i nat.
  • domain Nazwa domeny DNS dla trybów route, open i nat, domyślnie przyjmuje nazwę sieci (opcjonalne).
  • dhcp_start Pierwszy adres IP w zakresie DHCP w trybie route, open lub nat (opcjonalne).
  • dhcp_end Ostatni adres IP w zakresie DHCP w trybie route, open lub nat (opcjonalne).
  • routes Opcjonalna lista dodatkowych tras zdefiniowanych w następujący sposób:
    • address Adres trasy, wymagany.
    • prefix Prefiks trasy, wymagany.
    • gateway Brama trasy, wymagana.
    • metric Metryka trasy (opcjonalne).
  • ipv6 Adres IPv6 wirtualnego mostu (opcjonalne).
  • ipv6_prefix Prefiks IPv6 wirtualnego mostu (opcjonalne).
  • routesv6 Opcjonalna lista dodatkowych tras IPv6 zdefiniowanych w następujący sposób:
    • address Adres IPv6 trasy, wymagany.
    • prefix Prefiks IPv6 trasy, wymagany.
    • gateway Brama trasy, wymagana.
    • metric Metryka trasy (opcjonalne).

libvirt_host_require_vt określa, czy włączenie technologii wirtualizacji Intel (VT) jest wymagane do uruchomienia tej roli. Choć zapewnia to lepszą wydajność VM, może nie być dostępne w niektórych środowiskach. Domyślna wartość to true.

libvirt_host_qemu_emulators: Lista architektur, dla których zainstalowane będą emulatory systemu QEMU, np. x86. Domyślna wartość to ['x86'], jeśli libvirt_host_require_vt jest false, w przeciwnym razie domyślna wartość to pustsza lista.

libvirt_host_enable_efi_support: Czy włączyć wsparcie EFI. Domyślnie jest to false, ponieważ trzeba zainstalować dodatkowe pakiety.

libvirt_host_var_prefix: Określa katalog pod /var/run, którego libvirt używa do przechowywania stanu, np. gniazd UNIX, a także domyślną nazwę pliku PID. Należy to nadpisać, jeśli występuje konflikt z domyślnym gniazdem, np. jeśli może być użyte przez kontener nova_libvirt. Domyślnie "".

libvirt_host_socket_dir: Gdzie tworzone jest gniazdo libvirtd. Domyślnie to /var/run/{{ libvirt_host_var_prefix }}, jeśli libvirt_host_var_prefix jest ustawiony, w przeciwnym razie "".

libvirt_host_pid_path: Ścieżka do pliku PID, który zapobiega uruchomieniu wielu instancji demona. Domyślnie to /var/run/{{ libvirt_host_var_prefix }}.pid, jeśli libvirt_host_var_prefix jest ustawiony, w przeciwnym razie "".

libvirt_host_libvirtd_args: Argumenty wiersza poleceń przekazywane do libvirtd przez system init, gdy libvirtd jest uruchamiane - cytaty zostaną dodane.

libvirt_host_uri: URI połączenia libvirt. Domyślnie to qemu+unix:///system?socket={{ libvirt_host_socket_dir }}/libvirt-sock, jeśli libvirt_host_var_prefix jest ustawiony, w przeciwnym razie "". Jeśli ustawiono na fałszywą wartość, jawne URI połączenia nie będą ustawiane podczas wywoływania virsh lub dowolnego z modułów virt_ ansible.

libvirt_host_python3: Czy powinny być zainstalowane wiązania libvirt dla Pythona 3. Jeśli false, zostaną zainstalowane wiązania dla Pythona 2.

libvirt_host_install_daemon: Czy zainstalować i włączyć demona libvirt. Domyślnie true.

libvirt_host_install_client: Czy zainstalować i włączyć klienta libvirt. Domyślnie true.

libvirt_host_extra_daemon_packages: Lista dodatkowych pakietów do zainstalowania na hostach demona libvirt.

libvirt_host_extra_client_packages: Lista dodatkowych pakietów do zainstalowania na hostach klienta libvirt.

libvirt_host_libvirtd_conf_enabled: Czy skonfigurować libvirtd.conf. Domyślnie true.

libvirt_host_libvirtd_conf: Konfiguracja dla libvirtd.conf. Słownik mapujący nazwy opcji na wartości. Domyślnie pusty słownik.

libvirt_host_qemu_conf_enabled: Czy skonfigurować qemu.conf. Domyślnie true.

libvirt_host_qemu_conf: Konfiguracja dla qemu.conf. Słownik mapujący nazwy opcji na wartości. Domyślnie pusty słownik.

libvirt_host_enable_sasl_support: Czy włączyć wsparcie uwierzytelniania SASL. Domyślnie false.

libvirt_host_sasl_conf_enabled: Czy skonfigurować uwierzytelnianie SASL (/etc/sasl2/libvirt.conf). Domyślnie jest takie samo jak libvirt_host_enable_sasl_support.

libvirt_host_sasl_conf: Konfiguracja dla uwierzytelniania SASL (/etc/sasl2/libvirt.conf). Ciąg.

libvirt_host_sasl_mech_list: Lista włączonych mechanizmów uwierzytelniania SASL libvirt. Domyślnie ["SCRAM-SHA-256"], gdy libvirt_host_tls_listen jest true, w przeciwnym razie ["DIGEST-MD5"].

libvirt_host_sasl_credentials: Lista poświadczeń do uwierzytelniania SASL do utworzenia. Każdy element to słownik zawierający elementy username i password. Domyślnie to lista z jednym elementem, zawierająca libvirt_host_sasl_authname oraz libvirt_host_sasl_password.

libvirt_host_sasl_authname: Nazwa użytkownika do uwierzytelniania SASL. Domyślnie libvirt.

libvirt_host_sasl_password: Hasło do uwierzytelniania SASL. Domyślnie niezdefiniowane.

libvirt_host_sasl_auth_conf_enabled: Czy skonfigurować poświadczenia uwierzytelniania SASL (/etc/libvirt/auth.conf). Domyślnie takie samo jak libvirt_host_enable_sasl_support.

libvirt_host_sasl_auth_conf: Konfiguracja dla poświadczeń uwierzytelniania SASL (/etc/libvirt/auth.conf). Ciąg.

libvirt_host_sasl_auth_conf_filename: Nazwa pliku, do którego zapisano poświadczenia uwierzytelniania SASL. Domyślnie "/etc/libvirt/auth.conf".

libvirt_host_sasl_auth_conf_owner: Właściciel pliku, do którego zapisano poświadczenia uwierzytelniania SASL. Domyślnie "root".

libvirt_host_sasl_auth_conf_group: Grupa pliku, do którego zapisano poświadczenia uwierzytelniania SASL. Domyślnie "root".

libvirt_host_sasl_auth_conf_mode: Tryb pliku, do którego zapisano poświadczenia uwierzytelniania SASL. Domyślnie "0600".

libvirt_host_tcp_listen: Czy włączyć jednostkę gniazda TCP systemd. Domyślnie false.

libvirt_host_tcp_listen_address: Strumień Nasłuchu TCP systemd. Zobacz man systemd.socket w celu uzyskania formatu. Domyślnie jest niezdefiniowane.

libvirt_host_tls_listen: Czy włączyć jednostkę gniazda TLS systemd. Domyślnie false.

libvirt_host_tls_listen_address: Strumień Nasłuchu TLS systemd. Zobacz man systemd.socket w celu uzyskania formatu. Domyślnie jest niezdefiniowane.

libvirt_host_tls_server_cert: Certyfikat serwera TLS. Domyślnie jest niezdefiniowane.

libvirt_host_tls_server_key: Klucz serwera TLS. Domyślnie jest niezdefiniowane.

libvirt_host_tls_client_cert: Certyfikat klienta TLS. Domyślnie jest niezdefiniowane.

libvirt_host_tls_client_key: Klucz klienta TLS. Domyślnie jest niezdefiniowane.

libvirt_host_tls_cacert: Certyfikat CA TLS. Domyślnie jest niezdefiniowane.

libvirt_host_configure_apparmor: Czy skonfigurować AppArmor dla katalogów pul pamięci.

Zależności

Brak

Przykład playbooka

---
- name: Upewnij się, że Libvirt jest skonfigurowany
  hosts: all
  roles:
    - role: stackhpc.libvirt-host
      libvirt_host_pools:
        - name: my-pool
          type: dir
          capacity: 1024
          path: /path/to/pool
          mode: 755
          owner: my-user
          group: my-group
        - name: lvm_pool
          type: logical
          source: vg1
          target: /dev/vg1
          pvs:
            - /dev/sda3
        - name: rbd-pool
          type: rbd
          source: rbd
          hosts:
            - 192.168.42.200
            - 192.168.42.204
            - 192.168.42.208
          username: admin
          passphrase: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

      libvirt_host_networks:
        - name: br-example
          mode: bridge
          bridge: br-example
        - name: brnat-example
          mode: nat
          bridge: brnat-example
          domain: example.local
          ip: 192.168.133.254
          netmask: 255.255.255.0
          dhcp_start: 192.168.133.100
          dhcp_end: 192.168.133.200

Informacje o autorze

O projekcie

Role to install and configure a host as a Libvirt/KVM hypervisor

Zainstaluj
ansible-galaxy install stackhpc.libvirt-host
Licencja
Unknown
Pobrania
393.9k
Właściciel
StackHPC develops OpenStack capabilities for research computing use cases. Through extensive experience, we understand HPC and cloud.