| 改訂履歴 | |
|---|---|
| 2024-06-27 | |
libvirt は KVM や Xen など、著名な仮想化ソリューションに対応した管理機能の汎用 API を提供するライブラリです。このライブラリはこれらの仮想化ソリューションに対して統一された管理 API を提供し、高レベルな管理ツール向けに安定したハイパーバイザに依存しないインターフェイスを提供しています。このライブラリには、 VM ホストサーバ における仮想ネットワークや仮想ストレージの管理機能も用意されています。また、各 VM ゲスト の設定は、 XML ファイル内に保存される仕組みでもあります。
libvirt を使用することで、 VM ゲスト をリモートから管理することもできます。 TLS による暗号化のほか、 x509 形式の証明書や、 SASL による認証にも対応しています。このような構造により、単一のワークステーションから複数の VM ホストサーバ を一括管理することができますので、 VM ホストサーバ を個別に管理する必要性を削減することができます。
また、 libvirt ベースのツールは VM ゲスト を管理する際の推奨される方法です。 libvirt と libvirt ベースのアプリケーションとの間の相互運用性はテスト済みで、 SUSE のサポートを受ける際にも推奨される方法でもあります。
libvirt には、仮想マシンを管理するためのコマンドラインユーティリティがいくつか用意されています。主なものは下記のとおりです:
virsh (パッケージ名: libvirt-client )仮想マシンマネージャ と同様の機能を持つ VM ゲスト の管理向けのコマンドラインツールです。 VM ゲスト の状態を変更することができる (開始, 停止, 一時停止) ほか、新しいゲストやデバイスを設定したり、既存の設定を編集したりすることができます。また、 virsh を利用することで、 VM ゲスト の管理操作をスクリプト化する際にも便利です。
virsh のパラメータには最初にコマンドを、それ以降にコマンドに対応したパラメータを記述します:
virsh [-c URI] コマンド ドメイン_ID [オプション]
zypper と同様に、 virsh もコマンド無しで実行することができます。この場合、専用のシェルが起動され、コマンドを待ち受ける状態になります。このモードは、複数のコマンドを実行するような場合に便利です:
~> virsh -c qemu+ssh://wilber@mercury.example.com/system
Enter passphrase for key '/home/wilber/.ssh/id_rsa':
Welcome to virsh, the virtualization interactive terminal.
Type: 'help' for help with commands
'quit' to quit
virsh # hostname
mercury.example.comvirt-install (パッケージ名: virt-install )libvirt ライブラリを利用して新しい VM ゲスト を作成するためのコマンドラインツールです。 VNC プロトコルや SPICE プロトコルを利用した、グラフィカルなインストールにも対応しています。また、 virt-install では、適切なコマンドラインパラメータを指定することで、完全に無人の環境でも動作させることができます。これにより、ゲストのインストールを簡単に自動化することができます。 virt-install は、 仮想マシンマネージャ で使用される既定のインストールツールでもあります。
remote-viewer (パッケージ名: virt-viewer )リモートデスクトップ向けのシンプルなビューアです。 SPICE, VNC の各プロトコルに対応しています。
virt-clone (パッケージ名: virt-install )libvirt ハイパーバイザ管理ライブラリを利用して、既に存在する仮想マシンのイメージを複製するためのツールです。
virt-host-validate (パッケージ名: libvirt-client )ホスト側が、 libvirt のハイパーバイザドライバを適切に使用するように設定されているかどうかを検証するツールです。
openSUSE Leap で利用できるグラフィカルな libvirt ベースのツールには、下記のようなものがあります。
virt-manager )仮想マシンマネージャ は VM ゲスト を管理するためのデスクトップツールです。既存のマシンのライフサイクル制御 (起動, 停止, 一時停止, 再開, 保存, 復元) のほか、新しい VM ゲスト の作成にも使用することができます。また、さまざまな種類のストレージや仮想ネットワークを管理することもできるほか、内蔵の VNC ビューアを介して、 VM ゲスト のグラフィカルコンソールに接続する機能も備えています。また、性能に関わる統計情報も取得することができます。 virt-manager では、ローカルの libvirtd の管理だけでなく、 libvirtd が動作しているリモートの VM ホストサーバ を管理することもできます。
仮想マシンマネージャ を起動するには、コマンドプロンプトから virt-manager と入力して実行してください。
spice を使用している場合、 USB デバイスの自動転送機能を無効化したい場合は、 virt-manager を起動する際に --spice-disable-auto-usbredir オプションを設定するか、もしくは下記のコマンドを入力して実行し、恒久的に設定を適用してください:
> dconf write /org/virt-manager/virt-manager/console/auto-redirect falsevirt-viewer (パッケージ名: virt-viewer )VM ゲスト のグラフィカルコンソールを閲覧するためのビューアです。 SPICE (VM ゲスト では既定で設定されています) もしくは VNC プロトコルを利用することができるほか、 TLS や x509 証明書にも対応しています。 VM ゲスト は名前や ID, UUID でアクセスすることができます。その時点でゲストが動作していない場合、ビューアが接続を試す前に、ゲストが起動するまで待機させることもできます。なお、 virt-viewer は既定ではインストールされていませんので、 virt-viewer パッケージをインストールしてお使いください。
spice を使用している場合、 USB デバイスの自動転送機能を無効化したい場合は、--spice-usbredir-auto-redirect-filter='' オプションを指定して、空のフィルタを追加してください。
yast2 vm (パッケージ名: yast2-vm )仮想化ツールのインストールやネットワークブリッジの設定を単純化することのできる、 YaST のモジュールです: