第5章 · 仮想化サーバー·v1.0.0·更新 2026/7/16·読了目安 約12分
変更要約: 初版(主題2.05・副主題2.05.1〜2.05.2に対応)
5.1仮想マシンの仕組みとKVM
この節の要点
ホスト型とハイパーバイザー型(KVM/VirtualBox/Xen)の違い、CPU・メモリ・ストレージ・ネットワークの仮想化の仕組み、QEMU の役割、vmx・svm(仮想化支援機構)と /proc/cpuinfo・lscpu での確認、kvm-intel・kvm-amd モジュール、libvirtd によるライフサイクル管理、virt-manager、bridge-utils を学びます。
1台の物理サーバーで複数の独立した OS を同時に動かす仮想化は、検証環境の量産からデータセンターの集約まで、Linux 運用の中核技術です。LinuC-2 では Linux 標準のハイパーバイザーであるKVMを軸に、CPU・メモリ・ストレージ・ネットワークをどう「見せかける」かの仕組みが問われます。
5.1.1ホスト型とハイパーバイザー型
- ホスト型=既存の OS の上に仮想化ソフトをアプリとしてインストールする方式(例 VirtualBox)。導入は容易だがホスト OS のオーバーヘッドがかかる。
- ハイパーバイザー型=ハードウェアを直接制御する方式。Linux ではKVMがカーネルの一部として動作し、ゲスト OS ごとに独立した実行環境を提供する。Xenは専用のハイパーバイザー層を持つ別方式。
- KVM(Kernel-based Virtual Machine)は Linux カーネルをそのままハイパーバイザー化するモジュール群で、ゲストは通常の Linux プロセスとしてスケジューリングされる。
5.1.2CPU・メモリ・ストレージ・ネットワークの仮想化
- CPU 仮想化=ゲストに仮想 CPU(vCPU)を割り当て、ハードウェア仮想化支援(vmx=Intel VT-x/svm=AMD-V)を使って特権命令を高速に処理する。対応の有無は
/proc/cpuinfoの flags やlscpuの Virtualization 行で確認する。 - メモリ仮想化=ゲスト物理アドレスとホスト物理アドレスを対応付け、ゲストごとに独立したメモリ空間があるように見せる。
- ストレージ仮想化=仮想ディスクイメージファイルをゲストの物理ディスクとして提供する。ネットワーク仮想化=bridge-utils 等でホストとゲストを接続する仮想ブリッジ/仮想 NIC を構成する。

