Virt-manager

virt-managerとは、レッドハットからリリースされた仮想機械をGUI上で管理運用を行うオープンソースソフトウェアである。ここでいう仮想機械とはXen、KVM、QEMUなどの仮想化実装システムを使用してインストールされたゲストオペレーティングシステム (OS) の事を指す。
virt-managerは主にLinuxのX Window System上で動作する。仮想機械のホストOS内にこのソフトをインストールすることでゲストOSのCPUやメモリの使用状況についての詳細情報の表示をグラフで行い、稼働中の仮想マシンの停止や再起動などの管理を行う。
オープンソースということもあってCentOSやFedoraなどではあらかじめインストールされている場合も多い。
0.5版から、ネットワーク越しのVMを管理するためのリモート接続機能が加わった。また、vnc-viewerが、gtk-vncに切り替わった。
なお、本プロジェクトのメンテナは、Daniel Berrange、Hugh O. Brock、Jeremy Katz、Cole Robinsonである。
ソフトウェア構成.
ソースコードはPythonで記述されている。
本コードで使っているライブラリは、大まかに4種類に分かれる。すなわち、GUI、イベント通知、仮想機械制御、及びその他のライブラリである。
GUIはUIビルダーツールのGladeやGTKで実装されている。
そして、イベント通知では、D-BUSを用いており、Xのイベント検知(notification-daemon)、ハードウェアの構成変更の検知(hald)、およびvirt-managerそのもののシングルトン起動の管理を行っている。
仮想機械の管理は、libvirtと呼ばれる APIを使用することにより、どのような仮想機械でも管理できるように設計されており libvirt上でのAPIが提供される限りは仮想機械の実装に関係なく対応できる。そして、仮想機械のインストールは、関連ツールであるvirt-installをライブラリとして、用いている。
その他のライブラリとしては、仮想ネットワーク及び、VNCviewerがある。
まず、仮想ネットワークを取り扱うために、IPアドレス管理ツールIPyを内部クラスとして取り込んで使っている。
そして、VNC Viewerは、gtk-vncを使っている。
関連ソフトウェア.
リモート接続が出来るという観点では、まったく同じだが、Webブラウザで動くソフトウェアとして、oVirtがある。virt-managerに比べてアクセス制御を役割毎に細かく設定できるという点が異なる。