読み方 : リブバート
libvirt
libvirtとは?

仮想化ソフトウェアは開発元ごとに操作方法が異なるため、複数の環境を扱う管理者は製品ごとの作法を個別に習得しなければならなかった。libvirtは内部に各ハイパーバイザー向けのドライバを持ち、製品の違いを吸収して共通のAPIに変換する。利用者は背後で動いている仮想化ソフトの種類を意識せずに、仮想マシンの作成や起動、停止、削除といった操作を統一した手順で実行できる。
仮想マシンの設定はXML形式で記述され、CPU数やメモリ容量、ストレージの接続方式、ネットワーク構成といった情報を明示的に定義・保存できる。バックグラウンドでは「libvirtd」と呼ばれるデーモンが常駐し、アプリケーションからの命令を受け付けて各ハイパーバイザーとの通信を仲介する。リモート接続にも対応しており、離れた場所にある物理サーバ上の仮想マシンも一元的に管理できる。
基本的な仮想マシン制御のほかに、スナップショットの作成または復元、実行中の仮想マシンを別のホストへ無停止で移行するライブマイグレーション、仮想ネットワークや仮想ストレージプールの管理機能も備える。コマンドラインツール「virsh」が標準で付属しており、スクリプトと組み合わせた自動化にも対応する。
APIはCライブラリとして提供されるほか、PythonやJavaなど複数の言語向けバインディングも整備されているため、独自の管理ツールへ組み込む用途にも使いやすい。「oVirt」や「OpenStack」など大規模な仮想化・クラウド管理プラットフォームの多くもlibvirtのAPIを利用しており、物理インフラと上位の管理レイヤーをつなぐ中間層の事実上の標準として普及している。