stackhpc.libvirt-host

Libvirtホスト

この役割は、ホストをLibvirt/KVMハイパーバイザーとして構成します。ホスト上のストレージプールやネットワークも構成できます。

要件

ホストには、仮想化技術(VT)が有効になっている必要があります。

ロール変数

libvirt_host_poolsは、定義して開始するプールのリストです。各項目は次の要素を含む辞書である必要があります:

  • name プールの名前。
  • type プールのタイプ。現在はdirlogical、およびrbdのみがサポートされています。lvm2logicalのエイリアスとしてサポートされていますが、このエイリアスは非推奨であり、将来のリリースで削除される予定です。
  • 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 ネットワークのフォワーディングモード。bridgerouteopennatがサポートされています。孤立ネットワークモードの場合は空にしてください。
  • bridge このネットワークのブリッジインターフェースの名前。
  • ip バーチャルブリッジのIPアドレス。routeopennatモードでは必須です。
  • netmask バーチャルブリッジのネットマスク。routeopennatモードでは必須です。
  • domain routeopennatモードのDNSドメイン名。デフォルトはネットワーク名です。(オプション)
  • dhcp_start routeopenまたはnatモードにおけるDHCP範囲の最初のIP(オプション)。
  • dhcp_end routeopenまたは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システムエミュレーターをインストールするためのアーキテクチャのリスト、例えばx86libvirt_host_require_vtfalseの場合、デフォルト値は['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_listentrueの場合、それ以外は["DIGEST-MD5"]です。

libvirt_host_sasl_credentials: 作成するSASL認証情報のリスト。各項目はusernamepasswordを含む辞書です。デフォルトはlibvirt_host_sasl_authnamelibvirt_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

著者情報

プロジェクトについて

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

インストール
ansible-galaxy install stackhpc.libvirt-host
ライセンス
Unknown
ダウンロード
393.9k
所有者
StackHPC develops OpenStack capabilities for research computing use cases. Through extensive experience, we understand HPC and cloud.