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.com
virt-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 false
virt-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 のモジュールです: