仮想化環境KVMのシステム管理、監視

2010年12月15日(水)
古賀 政純

仮想マシンの作成

仮想マシンの作成を行うには、virt-managerのlocalhost(QEMU)という項目にマウスを当て、右クリックを行い「新規」を選択します。

図4: Red Hat Enterprise Linux 6に付属のvirt-managerで仮想マシンを作成する様子。対話形式で簡単に作成できる。

図4: Red Hat Enterprise Linux 6に付属のvirt-managerで仮想マシンを作成する様子。対話形式で簡単に作成できる。


作成する仮想マシンには、それぞれ名前を付けて管理します。今回、仮想マシンの名前は「rhel60vm01」としました。OSなどのインストール時には、物理メディアからインストールすることも可能ですが、ファイル・サーバー上にあるISOイメージをマウントすると便利です。

図5: 作成する仮想マシンに、分かりやすい名前を付ける。インストール・ソースは、物理メディア以外にも、ISOイメージ、HTTP、FTP、NFS、PXEブートが選択可能である。

図5: 作成する仮想マシンに、分かりやすい名前を付ける。インストール・ソースは、物理メディア以外にも、ISOイメージ、HTTP、FTP、NFS、PXEブートが選択可能である。


ISOイメージはファイルサーバーの/rootに暫定的に保管したものを使用します。仮想マシンとしてRed Hat Enterprise Linux 6.0をインストールするため、仮想マシンのOSタイプに「Linux」を選択し、「バージョン」はRed Hat Enterprise Linux 6を選択します。

図6: Red Hat Enterprise Linux 6に搭載されているvirt-managerでは、仮想マシンとしてRed Hat Enterprise Linux 6を利用できる。技術的には、Linuxだけでなく、WindowsやFreeBSDも仮想マシンとして作成することができる。

図6: Red Hat Enterprise Linux 6に搭載されているvirt-managerでは、仮想マシンとしてRed Hat Enterprise Linux 6を利用できる。技術的には、Linuxだけでなく、WindowsやFreeBSDも仮想マシンとして作成することができる。(クリックで拡大)


仮想マシンに割り振るメモリー容量とCPU数を指定します。ここでは、rhel60vm01に2Gバイトのメモリーと1つのCPUを割り当てます。ホストOS側で利用可能な最大メモリー容量とCPU数が、目安として表示されます。サーバー仮想化では、仮想マシン1台あたり、ホストOSの物理CPUコアを最低1つ以上割り当てるのが一般的と言われています。

ディスクは、外部ストレージを割り当てるのが一般的です。外部ストレージは、FCストレージやiSCSIストレージなどが挙げられます。先に設定しておいたストレージ・プール「work」に作成した仮想マシン用のイメージ・ファイル「/work/rhel60vm01.img」を指定し、「進む」をクリックします。

図7: 仮想マシンに割り当てるメモリー容量とCPU数を指定する。ディスク・イメージ・ファイルには、共有ストレージ用のストレージ・プール「work」で指定したディレクトリ/workに保管されるrhel60vm01.imgを指定する。

図7: 仮想マシンに割り当てるメモリー容量とCPU数を指定する。ディスク・イメージ・ファイルには、共有ストレージ用のストレージ・プール「work」で指定したディレクトリ/workに保管されるrhel60vm01.imgを指定する。

図7: 仮想マシンに割り当てるメモリー容量とCPU数を指定する。ディスク・イメージ・ファイルには、共有ストレージ用のストレージ・プール「work」で指定したディレクトリ/workに保管されるrhel60vm01.imgを指定する。(クリックで拡大)


「高度なオプション」では、MACアドレスなどの設定のほか、「仮想ネットワーク」の設定において、仮想マシンがホストOSとどのようにネットワーク通信を行うかを設定できます。

仮想マシンの作成前に、インストール・ソースとなるメディア、CPU、メモリー、ストレージ、OSの種類、アーキテクチャに間違いがないかを確認します。誤りがなければ「完了」をクリックします。これで、仮想コンソール・ウインドウが起動し、Red Hat Enterprise Linux 6のインストーラが起動するはずです。あとは、インストーラの指示に従います。

図8: 仮想マシンに割り当てるメモリー容量とCPU数を指定する。ディスク・イメージ・ファイルには、共有ストレージ用のストレージ・プール「work」で指定したディレクトリ/workに保管されるrhel60vm01.imgを指定する。

図8: 仮想マシンに割り当てるメモリー容量とCPU数を指定する。ディスク・イメージ・ファイルには、共有ストレージ用のストレージ・プール「work」で指定したディレクトリ/workに保管されるrhel60vm01.imgを指定する。

図8: 仮想マシンに割り当てるメモリー容量とCPU数を指定する。ディスク・イメージ・ファイルには、共有ストレージ用のストレージ・プール「work」で指定したディレクトリ/workに保管されるrhel60vm01.imgを指定する。(クリックで拡大)

Virt-managerを使って遠隔から管理する

Virt-managerは、複数のKVM仮想マシンを遠隔から集中管理することが可能です。遠隔地にあるKVMのホストOSにはIPアドレスが割り振られており、KVMが稼働する環境であれば、virt-managerのGUIから、それらのKVMホストを簡単に登録することが可能です。

遠隔地にある複数のKVMホストをVirt-managerに登録するには、virt-managerのメインウインドウの「ファイル」から「接続を追加」を選択します。「接続を追加」のウインドウが現れるので、「ハイパーバイザー」に「QEMU/KVM」を選択し、「接続」に「SSHでのリモートトンネル」を選択します。遠隔地にあるKVMホストが表示されるので、virt-managerで管理したいホストを選択します。

下図の例では、遠隔地にあるKVMホストが6台表示されていることが分かります。遠隔地のKVMホストへの接続に成功すると、virt-managerのメインウインドウにKVMホストとKVM仮想マシンが表示されます。下図では、遠隔にあるKVMホストが複数登録され、KVMホストで稼働しているKVM仮想マシンの状態を集中管理している様子が分かります。

図9: 遠隔地にある複数のKVMホストの候補がvirt-managerから見えている様子。

図9: 複数のKVMホストを登録できるが、KVMホストが異なる種類のOSの場合、virt-managerから管理できる項目が異なる場合があるため、注意が必要である。

図9: 遠隔地にある複数のKVMホストの候補がvirt-managerから見えている様子(左)。複数のKVMホストを登録できるが、KVMホストが異なる種類のOSの場合、virt-managerから管理できる項目が異なる場合があるため、注意が必要である(右)。(クリックで拡大)

Virt-managerは、OS付属のGUIツールなので、豊富な機能は望めません。しかし、KVM仮想マシンの作成が容易である点や、virshコマンドによる管理に精通していない初心者でも、簡単にKVM仮想マシンの管理ができ、直観的な操作が可能である点で優れています。

また、ライブ・マイグレーション機能や、仮想マシン用イメージ・ファイルのクローン(複製)を作成する機能も搭載しています。このように、仮想化環境の管理者が普段利用する基本的な機能を、一通り備えています。

特に、複製機能は便利です。ホスティングなどの業務で仮想マシンの配備を行う場合に、特に威力を発揮します。システムの新規配備を迅速に行いたい場合に有用です。

Ubuntu 10.10におけるKVM環境の構築と運用

Red Hat Enterprise Linux 6におけるKVM仮想マシンの導入は、先述のvirt-managerを使えば簡単に行うことが可能です。一方、Ubuntuのサーバー版の場合は、KVMの仮想マシンの導入などの操作を行うにあたって、遠隔からVNCで接続します。

KVMのホストOS側では、仮想マシンのインストーラを起動する際に、VNCサービスが起動するようにします。一方、接続元のクライアント側では、遠隔にあるWindows PCなどからフリー・ソフトのVNCクライアント・ソフトウエアを使ってVNCサービスに接続し、仮想マシンのインストーラのGUIを表示させます。

図10: Ubuntuサーバーに搭載されているKVM環境には、VNCで接続する。クライアントPCにVNCクライアントとなるVNCビューワをインストールしておく必要がある。

図10: Ubuntuサーバーに搭載されているKVM環境には、VNCで接続する。クライアントPCにVNCクライアントとなるVNCビューワをインストールしておく必要がある。(クリックで拡大)
日本ヒューレット・パッカード株式会社 プリセールス統括本部 ソリューションセンター OSS・Linux担当 シニアITスペシャリスト

兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師を担当。科学技術計算サーバーのSI経験も持つ。2005年、大手製造業向けLinuxサーバー提案で日本HP社長賞受賞。2006年、米国HPからLinux技術の伝道師に与えられる「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。日本HPプリセールスMVPを4度受賞。現在は、Linux、FreeBSD、Hadoop等のOSSを駆使したスケールアウト型サーバー基盤のプリセールスSE、技術検証、技術文書執筆を担当。日本HPのオープンソース・Linuxテクノロジーエバンジェリストとして講演活動も行っている。Red Hat Certified Engineer、Red Hat Certified Virtualization Administrator、Novell Certified Linux Professional、EXIN Cloud Computing Foundation Certificate、HP Accredited Systems Engineer Cloud Architect、Red Hat Certified System Administrator in Red Hat OpenStack、Cloudera Certified Administrator for Apache Hadoop認定技術者。HP公式ブログ執筆者。趣味はレーシングカートとビリヤード

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています