stackhpc.libvirt-host
Libvirtホスト
この役割は、ホストをLibvirt/KVMハイパーバイザーとして構成します。ホスト上のストレージプールやネットワークも構成できます。
要件
ホストには、仮想化技術(VT)が有効になっている必要があります。
ロール変数
libvirt_host_pools
は、定義して開始するプールのリストです。各項目は次の要素を含む辞書である必要があります:
name
プールの名前。type
プールのタイプ。現在はdir
、logical
、およびrbd
のみがサポートされています。lvm2
はlogical
のエイリアスとしてサポートされていますが、このエイリアスは非推奨であり、将来のリリースで削除される予定です。capacity
プールの容量(バイト単位)。(オプション)path
プールのバックディレクトリへの絶対パス。mode
プールのアクセスモード。注意:整数を先頭のゼロなしで指定する必要があります。たとえば:mode: 755
。(dir
のみ)owner
プールの所有者。(dir
のみ)group
プールのグループ。(dir
のみ)source
ボリュームグループの名前(タイプがlogical
の場合)またはRBDプール(タイプがrbd
の場合)。pvs
ボリュームグループを構成する物理ボリュームのリスト。(タイプがlogical
のときのみ)hosts
CephモニターのIPアドレスまたはホスト名のリスト。(rbd
のみ)username
RADOS認証に使用されるユーザー名。(rbd
のみ)passphrase
RADOS認証に使用されるパスフレーズ。(rbd
のみ)
libvirt_host_networks
は、定義して開始するネットワークのリストです。各項目は次の要素を含む辞書である必要があります:
name
ネットワークの名前。mode
ネットワークのフォワーディングモード。bridge
、route
、open
、nat
がサポートされています。孤立ネットワークモードの場合は空にしてください。bridge
このネットワークのブリッジインターフェースの名前。ip
バーチャルブリッジのIPアドレス。route
、open
、nat
モードでは必須です。netmask
バーチャルブリッジのネットマスク。route
、open
、nat
モードでは必須です。domain
route
、open
、nat
モードのDNSドメイン名。デフォルトはネットワーク名です。(オプション)dhcp_start
route
、open
またはnat
モードにおけるDHCP範囲の最初のIP(オプション)。dhcp_end
route
、open
またはnat
モードにおけるDHCP範囲の最後のIP(オプション)。routes
以下のように定義された追加のルートのオプションリスト:address
ルートのアドレス。必須です。prefix
ルートのプレフィックス。必須です。gateway
ルートのゲートウェイ。必須です。metric
ルートのメトリクス(オプション)。
ipv6
バーチャルブリッジのIPv6アドレス(オプション)。ipv6_prefix
バーチャルブリッジのIPv6プレフィックス(オプション)。routesv6
以下のように定義された追加のIPv6ルートのオプションリスト:address
ルートのIPv6アドレス。必須です。prefix
ルートのIPv6プレフィックス。必須です。gateway
ルートのゲートウェイ。必須です。metric
ルートのメトリクス(オプション)。
libvirt_host_require_vt
は、この役割を実行するためにIntel仮想化技術(VT)が有効である必要があるかどうかを示します。これによりVMのパフォーマンスが向上しますが、特定の環境では利用できない場合があります。デフォルト値はtrue
です。
libvirt_host_qemu_emulators
: QEMUシステムエミュレーターをインストールするためのアーキテクチャのリスト、例えばx86
。libvirt_host_require_vt
がfalse
の場合、デフォルト値は['x86']
です。そうでない場合は、デフォルト値は空のリストになります。
libvirt_host_enable_efi_support
: EFIサポートを有効にするかどうか。これはデフォルトでfalse
であり、追加のパッケージをインストールする必要があります。
libvirt_host_var_prefix
: Libvirtが状態を保存するために使用する/var/run以下のディレクトリを決定します。例えば、UNIXドメインソケットやPIDファイルのデフォルト名も含まれます。デフォルトのソケットとの競合がある場合は上書きしてください。デフォルト値は""
です。
libvirt_host_socket_dir
: libvirtdソケットが作成される場所。libvirt_host_var_prefix
が設定されている場合、デフォルトは/var/run/{{ libvirt_host_var_prefix }}
です。それ以外の場合は""
です。
libvirt_host_pid_path
: デーモンの複数インスタンスが生成されるのを防ぐPIDファイルへのパス。libvirt_host_var_prefix
が設定されている場合のデフォルトは/var/run/{{ libvirt_host_var_prefix }}.pid
です。それ以外の場合は""
です。
libvirt_host_libvirtd_args
: libvirtdが起動されるときに、initシステムによってlibvirtdに渡されるコマンドライン引数です - 引用符が追加されます。
libvirt_host_uri
: libvirt接続URI。libvirt_host_var_prefix
が設定されている場合、デフォルトはqemu+unix:///system?socket={{ libvirt_host_socket_dir }}/libvirt-sock
です。それ以外の場合は""
です。偽値に設定されている場合、virshやvirt_ ansibleモジュールを呼び出すときに明示的な接続URIは設定されません。
libvirt_host_python3
: libvirt PythonバインディングのPython3バージョンをインストールするかどうか。false
の場合、Python 2バインディングがインストールされます。
libvirt_host_install_daemon
: libvirtデーモンをインストールして有効にするかどうか。デフォルトはtrue
です。
libvirt_host_install_client
: libvirtクライアントをインストールして有効にするかどうか。デフォルトはtrue
です。
libvirt_host_extra_daemon_packages
: libvirtデーモンホストにインストールする追加パッケージのリスト。
libvirt_host_extra_client_packages
: libvirtクライアントホストにインストールする追加パッケージのリスト。
libvirt_host_libvirtd_conf_enabled
:libvirtd.conf
を構成するかどうか。デフォルトはtrue
です。
libvirt_host_libvirtd_conf
: libvirtd.conf
の設定。オプション名と値をマッピングする辞書。デフォルトは空の辞書です。
libvirt_host_qemu_conf_enabled
: qemu.conf
を構成するかどうか。デフォルトはtrue
です。
libvirt_host_qemu_conf
: qemu.conf
の設定。オプション名と値をマッピングする辞書。デフォルトは空の辞書です。
libvirt_host_enable_sasl_support
: SASL認証サポートを有効にするかどうか。デフォルトはfalse
です。
libvirt_host_sasl_conf_enabled
: SASL認証を構成するかどうか(/etc/sasl2/libvirt.conf
)。デフォルトはlibvirt_host_enable_sasl_support
と同じです。
libvirt_host_sasl_conf
: SASL認証の設定(/etc/sasl2/libvirt.conf
)。文字列。
libvirt_host_sasl_mech_list
: 有効なlibvirt SASL認証メカニズムのリスト。デフォルトは["SCRAM-SHA-256"]
で、libvirt_host_tls_listen
がtrue
の場合、それ以外は["DIGEST-MD5"]
です。
libvirt_host_sasl_credentials
: 作成するSASL認証情報のリスト。各項目はusername
とpassword
を含む辞書です。デフォルトはlibvirt_host_sasl_authname
とlibvirt_host_sasl_password
を含む単一項目リストです。
libvirt_host_sasl_authname
: SASL認証用のユーザー名。デフォルトはlibvirt
です。
libvirt_host_sasl_password
: SASL認証用のパスワード。デフォルトは未設定です。
libvirt_host_sasl_auth_conf_enabled
: SASL認証情報(/etc/libvirt/auth.conf
)を構成するかどうか。デフォルトはlibvirt_host_enable_sasl_support
と同じです。
libvirt_host_sasl_auth_conf
: SASL認証情報の設定(/etc/libvirt/auth.conf
)。文字列。
libvirt_host_sasl_auth_conf_filename
: SASL認証情報を書き込むファイルの名前。デフォルトは"/etc/libvirt/auth.conf"
です。
libvirt_host_sasl_auth_conf_owner
: SASL認証情報を書き込むファイルの所有者。デフォルトは"root"
です。
libvirt_host_sasl_auth_conf_group
: SASL認証情報を書き込むファイルのグループ。デフォルトは"root"
です。
libvirt_host_sasl_auth_conf_mode
: SASL認証情報を書き込むファイルのモード。デフォルトは"0600"
です。
libvirt_host_tcp_listen
: systemd TCPソケットユニットを有効にするかどうか。デフォルトはfalse
です。
libvirt_host_tcp_listen_address
: systemd TCPソケットのListenStream。フォーマットについてはman systemd.socketを参照してください。デフォルトは未設定です。
libvirt_host_tls_listen
: systemd TLSソケットユニットを有効にするかどうか。デフォルトはfalse
です。
libvirt_host_tls_listen_address
: systemd TLSソケットのListenStream。フォーマットについてはman systemd.socketを参照してください。デフォルトは未設定です。
libvirt_host_tls_server_cert
: TLSサーバー証明書。デフォルトは未設定です。
libvirt_host_tls_server_key
: TLSサーバーキー。デフォルトは未設定です。
libvirt_host_tls_client_cert
: TLSクライアント証明書。デフォルトは未設定です。
libvirt_host_tls_client_key
: TLSクライアントキー。デフォルトは未設定です。
libvirt_host_tls_cacert
: TLS CA証明書。デフォルトは未設定です。
libvirt_host_configure_apparmor
: ディレクトリストレージプールのためにAppArmorを構成するかどうか。
依存関係
なし
例のプレイブック
---
- name: Libvirtが構成されていることを確認する
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
著者情報
- マーク・ゴダード (mark@stackhpc.com)
Role to install and configure a host as a Libvirt/KVM hypervisor
ansible-galaxy install stackhpc.libvirt-host