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ą tylkodir
,logical
irbd
.lvm2
jest obsługiwane jako alias dlalogical
, 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
. (tylkodir
)owner
Właściciel puli. (tylkodir
)group
Grupa puli. (tylkodir
)source
Nazwa grupy objętości (gdy typ tological
) lub pula RBD (gdy typ torbd
).pvs
Lista woluminów fizycznych, z których składa się grupa objętości. (tylko gdy typ tological
)hosts
Lista adresów IP lub nazw monitorów Ceph. (tylkorbd
)username
Nazwa użytkownika używana do uwierzytelnienia RADOS. (tylkorbd
)passphrase
Hasło używane do uwierzytelnienia RADOS. (tylkorbd
)
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
inat
. Pozostaw puste, aby ustawić tryb izolowanej sieci.bridge
Nazwa interfejsu mostu dla tej sieci.ip
Adres IP wirtualnego mostu, obowiązkowy w trybachroute
,open
inat
.netmask
Maska sieci wirtualnego mostu, obowiązkowa w trybachroute
,open
inat
.domain
Nazwa domeny DNS dla trybówroute
,open
inat
, domyślnie przyjmuje nazwę sieci (opcjonalne).dhcp_start
Pierwszy adres IP w zakresie DHCP w trybieroute
,open
lubnat
(opcjonalne).dhcp_end
Ostatni adres IP w zakresie DHCP w trybieroute
,open
lubnat
(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
- Mark Goddard (mark@stackhpc.com)
Role to install and configure a host as a Libvirt/KVM hypervisor
ansible-galaxy install stackhpc.libvirt-host