ここで、自動化の基礎となるサーバー仮想化技術「Linux KVM」について解説しましょう。次回以降の基礎となる内容ですので、知っている方も復習として目を通しておくとよいでしょう。

 Linux KVMは、RHELが標準提供するサーバー仮想化機能です。Intel-VTなど、仮想化に対応した物理サーバーにRHELをインストールして利用します。仮想マシン上で動く「ゲストOS」と区別するために、物理サーバー上にインストールするRHELのことを「ホストLinux」と呼びます。

 図1のように、ホストLinuxのカーネルモジュールとして、仮想マシンを動作させるための「ハイパーバイザー」機能が提供されます。それぞれの仮想マシンは、ホストLinux上の「qemu-kvm」という名前のプロセスとして実行されます。ホストLinuxからpsコマンドで仮想マシンの稼働状況を確認することも可能です。

図1●Linux KVMによるサーバー仮想化の仕組み
図1●Linux KVMによるサーバー仮想化の仕組み
[画像のクリックで拡大表示]

 もう1つ、Linux KVMで大切なのが、仮想ネットワークを理解することです。Linux KVMでは、任意の数の「仮想ネットワーク」を定義できます。それぞれの仮想ネットワークに対し、ホストLinux上に仮想的なネットワークスイッチの機能を提供する「仮想ブリッジ」が用意されます。

 Linux KVMの環境を構築した直後は、デフォルトで「default」という名前の仮想ネットワークが用意されます。これは、図2のような構成になります。この仮想ネットワークには、「virbr0」という名前の仮想ブリッジが対応します。

図2●Linux KVMの仮想ネットワーク構成
図2●Linux KVMの仮想ネットワーク構成
[画像のクリックで拡大表示]

 仮想マシンを作成して仮想ネットワーク「default」に接続すると、この仮想ブリッジを経由し、仮想マシン同士、あるいはホストLinuxと仮想マシンの間でネットワーク通信ができるようになります。