「KVM」の今をとらえる速習講座
進化したLinuxの仮想化技術――注目すべき機能強化の中身とはこの記事は、2008年に掲載されたComputerwoldのKVM紹介記事『「KVM」――Linux標準の仮想化機能の得意領域を知る』の改訂版とも言えるものだ。この記事で紹介されていたKVMが、その後の4年間でいかなる進化を遂げたのかを一挙に解説する。
※本稿は、2008年に掲載された解説記事「「KVM」――Linux標準の仮想化機能の得意領域を知る」の内容を一部改訂するものです。2008年記事もご参照ください。
KVM発展の軌跡
仮想化環境に求められるごく基本的な機能(CPU実行の仮想化、基本的な仮想ハードウェアの提供)は、KVM(Kernel-based Virtual Machine)公開直後の2008年初頭の時点ですでに実現されていた。
その後の過去4年間における主要な更新としては以下が挙げられる。
●パラドライバの実装や実装の改善によるパフォーマンス向上
●ハードウェアの機能向上への対応
●各種の機能追加、QEMUプロジェクトとのマージ
また、KVMそのものの拡張ではないが、Linuxカーネル(以下、Linux kernel)をハイパーバイザとして利用するKVMのアーキテクチャにより、Linuxの機能と性能の改善がKVMの改善にも寄与している。
その一例が、利用可能なCPU数やメモリ量の上限の拡大だ。つまり、Linuxが大規模環境に対応するに従ってKVMが利用できるCPU数やメモリ量も増大し、結果として今日のKVMは、x86環境で利用可能な最もスケーラビリティの高い仮想化環境の1つとなっている。
また同様に、Linuxに導入されたcontrol groupsによって、従来のKVMでは困難であった以下のような制御が可能となっている。
●仮想マシンへのCPU割り当て比率の制御
●メモリとswapの割り当て上限の設定
●block I/Oの帯域制御(IOPSの上限設定)
このほか、リアルタイム性の向上やメモリ管理のパフォーマンス改善、ネットワーク・スタックのmulti queue対応など、Linux kernelに加えられた改善の多くがKVMの改善へとつながっている。




























