主題2.05:仮想化サーバー

  • 2022年6月11日
  • IT

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のインストール、起動・停止
  パフォーマンスの監視
  マイグレーション(仮想マシンを他の環境へ移行する)
・スナップショットの管理
  スナップショットの作成・削除

virt-installコマンド

virshコマンド