2.05.1 仮想マシンの仕組みとKVM
サーバ仮想化方式
ホスト型とハイパーバイザー型
ホスト型の仮想化ソフトウェア
・Oracle VM VirtualBox
・VMware Workstation
・Parallels Desktop
ハイパーバイザー型の仮想化ソフトウェア
・KVM
・Xen
・Microsoft Hyper-V
・VMware ESXi
ハイパーバイザー型の実現方法
完全仮想化(Full Virtualization)
・コンピュータのハードウェアをエミュレー卜(模倣)
・ゲストOSを無修正で動作
・WindowsをゲストOSとしてインストールすることが可能
準仮想化(PV:Paravirtualization)
・ハードウェアのエミュレーションが必要ない
・処理のオーバーヘッドが小さく、仮想化環境でも高いパフォーマンスを発揮
・ゲストOSを修正するか、仮想マシンに特化したデバイスドライバを使うことで実現
・KVMやVirtualBoxでは、virtioという準仮想化用のドライバを利用することによって、仮想化環境でのI/Oパフォーマンスを高めることができる
KVMによる仮想化機能
KVMの特徴
・使用するためには仮想化支援機能を搭載したCPUが必要
・Linuxカーネルの仮想化機能
・オープンソースのQEMUによるハードウェアエミュレーション
・virt-managerやvirshコマンドなどが利用するlibvirtに対応
仮想化支援機能
lscpu
・CPUが仮想化支援機能をサポートしているかどうかを調べることができるコマンド
/proc/cpuinfo
・CPUが仮想化支援機能をサポートしているかどうかを調べることができるファイル
vmxとsvm
・「/proc/cpuinfo」のflagsで、CPUの仮想化支援機能を意味する値
利用するために必要なカーネルモジュール
・kvm(kvm.ko)
・kvm_intel(kvm-intel.ko)…Intel VT-xを使用する場合
・kvm_amd(kvm-amd.ko)…AMD-Vを使用する場合
2.05.2 仮想マシンの作成と管理
仮想マシンの作成と管理をするコマンド
virt-managerコマンド
virt-managerコマンドを実行すると、以下のような仮想マシンマネージャーが起動します。
virt-managerでは主に以下のような操作を行えます。
・仮想マシンの管理
仮想マシンの作成・削除
メモリ、仮想CPUの割り当て
ゲストOSのインストール、起動・停止
パフォーマンスの監視
マイグレーション(仮想マシンを他の環境へ移行する)
・スナップショットの管理
スナップショットの作成・削除