stackhpc.libvirt-host

Libvirt Host

Diese Rolle konfiguriert einen Host als Libvirt/KVM-Hypervisor. Sie kann auch Speicherpools und Netzwerke auf dem Host konfigurieren.

Anforderungen

Der Host sollte die Virtualisierungstechnologie (VT) aktiviert haben.

Rollenvariablen

libvirt_host_pools ist eine Liste von Pools, die definiert und gestartet werden sollen. Jedes Element sollte ein Dictionary mit folgenden Elementen sein:

  • name: Der Name des Pools.
  • type: Der Typ des Pools, derzeit werden nur dir, logical und rbd unterstützt. lvm2 wird als Alias für logical unterstützt, aber dieser Alias ist veraltet und wird in einer zukünftigen Version entfernt.
  • capacity: Die Kapazität, in Byte, des Pools. (optional)
  • path: Der absolute Pfad zum Verzeichnis des Pools.
  • mode: Der Zugriffsmodus des Pools. Hinweis: Dies sollte als ganze Zahl ohne führende Null angegeben werden; zum Beispiel: mode: 755. (nur dir)
  • owner: Der Eigentümer des Pools. (nur dir)
  • group: Die Gruppe des Pools. (nur dir)
  • source: Der Name der Volume-Gruppe (wenn der Typ logical ist) oder RBD-Pool (wenn der Typ rbd ist).
  • pvs: Eine Liste von physischen Volumes, die die Volume-Gruppe ausmachen. (nur wenn der Typ logical ist)
  • hosts: Die Liste der IPs oder Hostnamen der Ceph-Monitore. (nur rbd)
  • username: Der Benutzername für die RADOS-Authentifizierung. (nur rbd)
  • passphrase: Das Passwort für die RADOS-Authentifizierung. (nur rbd)

libvirt_host_networks ist eine Liste von Netzwerken, die definiert und gestartet werden sollen. Jedes Element sollte ein Dictionary mit folgenden Elementen sein:

  • name: Der Name des Netzwerks.
  • mode: Der Weiterleitungsmodus des Netzwerks, bridge, route, open und nat werden unterstützt. Leer lassen für einen isolierten Netzwerkmodus.
  • bridge: Der Name der Bridge-Schnittstelle für dieses Netzwerk.
  • ip: IP-Adresse der virtuellen Bridge, erforderlich für route, open und nat Modus.
  • netmask: Subnetzmaske der virtuellen Bridge, erforderlich für route, open und nat Modus.
  • domain: DNS-Domainname für route, open und nat Modus, standardmäßig der Netzwerkname (optional).
  • dhcp_start: Erste IP des DHCP-Bereichs im route, open oder nat Modus (optional).
  • dhcp_end: Letzte IP des DHCP-Bereichs im route, open oder nat Modus (optional).
  • routes: Optionale Liste von zusätzlichen Routen, definiert wie folgt:
    • address: Adresse der Route, erforderlich.
    • prefix: Prefix der Route, erforderlich.
    • gateway: Gateway der Route, erforderlich.
    • metric: Metrik der Route (optional).
  • ipv6: IPv6-Adresse der virtuellen Bridge (optional).
  • ipv6_prefix: IPv6-Präfix der virtuellen Bridge (optional).
  • routesv6: Optionale Liste von zusätzlichen IPv6-Routen, definiert wie folgt:
    • address: IPv6-Adresse der Route, erforderlich.
    • prefix: IPv6-Präfix der Route, erforderlich.
    • gateway: Gateway der Route, erforderlich.
    • metric: Metrik der Route (optional).

libvirt_host_require_vt gibt an, ob die Intel-Virtualisierungstechnologie (VT) aktiviert sein muss, um diese Rolle auszuführen. Obwohl dies eine bessere VM-Leistung bietet, ist es möglicherweise nicht in bestimmten Umgebungen verfügbar. Der Standardwert ist true.

libvirt_host_qemu_emulators: Liste der Architekturen, für die QEMU-Systememulatoren installiert werden sollen, z.B. x86. Der Standardwert ist ['x86'], wenn libvirt_host_require_vt false ist, andernfalls ist der Standardwert eine leere Liste.

libvirt_host_enable_efi_support: Ob die EFI-Unterstützung aktiviert werden soll. Dies ist standardmäßig false, da zusätzliche Pakete installiert werden müssen.

libvirt_host_var_prefix: Bestimmt das Verzeichnis unter /var/run, das Libvirt verwendet, um den Zustand zu speichern, z.B. Unix-Domain-Sockets, sowie den Standardnamen der PID-Datei. Überschreiben Sie dies, wenn es einen Konflikt mit dem Standard-Socket gibt, z.B. könnte es vom nova_libvirt-Container verwendet werden. Standardwert ist "".

libvirt_host_socket_dir: Wo der libvirtd-Socket erstellt wird. Standardwert ist /var/run/{{ libvirt_host_var_prefix }}, wenn libvirt_host_var_prefix gesetzt ist, andernfalls "".

libvirt_host_pid_path: Pfad zur PID-Datei, die verhindert, dass mehrere Instanzen des Daemons gestartet werden. Standardwert ist /var/run/{{ libvirt_host_var_prefix }}.pid, wenn libvirt_host_var_prefix gesetzt ist, andernfalls "".

libvirt_host_libvirtd_args: Kommandozeilenargumente, die libvirtd vom Init-System übergeben werden, wenn libvirtd gestartet wird – Anführungszeichen werden hinzugefügt.

libvirt_host_uri: Die Libvirt-Verbindungs-URI. Standardwert ist qemu+unix:///system?socket={{ libvirt_host_socket_dir }}/libvirt-sock, wenn libvirt_host_var_prefix gesetzt ist, andernfalls "". Wenn auf einen falschen Wert gesetzt, wird beim Aufruf von virsh oder einem der Virt_-Ansible-Module keine explizite Verbindungs-URI festgelegt.

libvirt_host_python3: Ob die Python3-Version der Libvirt-Python-Bindings installiert werden soll. Wenn false, werden die Python-2-Bindings installiert.

libvirt_host_install_daemon: Ob der Libvirt-Daemon installiert und aktiviert werden soll. Der Standardwert ist true.

libvirt_host_install_client: Ob der Libvirt-Client installiert und aktiviert werden soll. Der Standardwert ist true.

libvirt_host_extra_daemon_packages: Liste von zusätzlichen Paketen, die auf Libvirt-Daemon-Hosts installiert werden sollen.

libvirt_host_extra_client_packages: Liste von zusätzlichen Paketen, die auf Libvirt-Client-Hosts installiert werden sollen.

libvirt_host_libvirtd_conf_enabled: Ob libvirtd.conf konfiguriert werden soll. Standard ist true.

libvirt_host_libvirtd_conf: Konfiguration für libvirtd.conf. Dict, das Optionen den Werten zuweist. Standard ist ein leeres Dict.

libvirt_host_qemu_conf_enabled: Ob qemu.conf konfiguriert werden soll. Der Standardwert ist true.

libvirt_host_qemu_conf: Konfiguration für qemu.conf. Dict, das Optionen den Werten zuweist. Standard ist ein leeres Dict.

libvirt_host_enable_sasl_support: Ob die SASL-Authentifizierungsunterstützung aktiviert werden soll. Standard ist false.

libvirt_host_sasl_conf_enabled: Ob die SASL-Authentifizierung konfiguriert werden soll (/etc/sasl2/libvirt.conf). Standard ist dasselbe wie libvirt_host_enable_sasl_support.

libvirt_host_sasl_conf: Konfiguration für die SASL-Authentifizierung (/etc/sasl2/libvirt.conf). String.

libvirt_host_sasl_mech_list: Liste der aktivierten Libvirt-SASL-Authentifizierungsmechanismen. Standard ist ["SCRAM-SHA-256"], wenn libvirt_host_tls_listen true ist, andernfalls ["DIGEST-MD5"].

libvirt_host_sasl_credentials: Liste von zu erstellenden SASL-Authentifizierungsanmeldeinformationen. Jedes Element ist ein Dictionary mit username und password. Der Standardwert ist eine Einzelobjektliste, die libvirt_host_sasl_authname und libvirt_host_sasl_password enthält.

libvirt_host_sasl_authname: Benutzername für die SASL-Authentifizierung. Der Standardwert ist libvirt.

libvirt_host_sasl_password: Passwort für die SASL-Authentifizierung. Der Standardwert ist nicht gesetzt.

libvirt_host_sasl_auth_conf_enabled: Ob die SASL-Authentifizierungsinformationen konfiguriert werden sollen (/etc/libvirt/auth.conf). Der Standardwert ist dasselbe wie libvirt_host_enable_sasl_support.

libvirt_host_sasl_auth_conf: Konfiguration für die SASL-Authentifizierungsinformationen (/etc/libvirt/auth.conf). String.

libvirt_host_sasl_auth_conf_filename: Name der Datei, in die die SASL-Authentifizierungsinformationen geschrieben werden sollen. Der Standardwert ist "/etc/libvirt/auth.conf".

libvirt_host_sasl_auth_conf_owner: Eigentümer der Datei, in die die SASL-Authentifizierungsinformationen geschrieben werden. Der Standardwert ist "root".

libvirt_host_sasl_auth_conf_group: Gruppe der Datei, in die die SASL-Authentifizierungsinformationen geschrieben werden. Der Standardwert ist "root".

libvirt_host_sasl_auth_conf_mode: Berechtigung der Datei, in die die SASL-Authentifizierungsinformationen geschrieben werden. Der Standardwert ist "0600".

libvirt_host_tcp_listen: Ob die systemd-TCP-Socket-Einheit aktiviert werden soll. Der Standardwert ist false.

libvirt_host_tcp_listen_address: Systemd TCP-Socket ListenStream. Siehe man systemd.socket für das Format. Der Standardwert ist nicht gesetzt.

libvirt_host_tls_listen: Ob die systemd-TLS-Socket-Einheit aktiviert werden soll. Der Standardwert ist false.

libvirt_host_tls_listen_address: Systemd TLS-Socket ListenStream. Siehe man systemd.socket für das Format. Der Standardwert ist nicht gesetzt.

libvirt_host_tls_server_cert: TLS-Serverzertifikat. Der Standardwert ist nicht gesetzt.

libvirt_host_tls_server_key: TLS-Serverkey. Der Standardwert ist nicht gesetzt.

libvirt_host_tls_client_cert: TLS-Clientzertifikat. Der Standardwert ist nicht gesetzt.

libvirt_host_tls_client_key: TLS-Clientkey. Der Standardwert ist nicht gesetzt.

libvirt_host_tls_cacert: TLS-CA-Zertifikat. Der Standardwert ist nicht gesetzt.

libvirt_host_configure_apparmor: Ob AppArmor für das Verzeichnis der Speicherpools konfiguriert werden soll.

Abhängigkeiten

Keine

Beispiel-Playbook

---
- name: Sicherstellen, dass Libvirt konfiguriert ist
  hosts: all
  roles:
    - role: stackhpc.libvirt-host
      libvirt_host_pools:
        - name: mein-pool
          type: dir
          capacity: 1024
          path: /path/to/pool
          mode: 755
          owner: mein-benutzer
          group: meine-gruppe
        - 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

Autoreninformation

Über das Projekt

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

Installieren
ansible-galaxy install stackhpc.libvirt-host
Lizenz
Unknown
Downloads
393.9k
Besitzer
StackHPC develops OpenStack capabilities for research computing use cases. Through extensive experience, we understand HPC and cloud.