102.6基礎
同じLinuxホスト上で2種類の隔離環境を比較する。
一方は仮想ハードウェア上で独自のゲストカーネルを起動し、もう一方は通常ホストカーネルを共有する。
前者と後者の組み合わせとして適切なのはどれか。
× 不正解
仮想マシンは仮想ハードウェア上でゲストOSとカーネルを動かす。Linuxコンテナは名前空間などで隔離しつつ、通常はホストカーネルを共有する。
詳細解説
正しい仮想マシン、Linuxコンテナ
仮想マシンは独自カーネルを起動でき、Linuxコンテナは通常ホストカーネルを共有する。
正解。説明された順序と境界に一致する。
誤りLinuxコンテナ、仮想マシン
説明されたカーネル境界と順序が逆である。
順序が逆である。
誤りアプリケーションコンテナ、仮想マシン
アプリケーションコンテナも通常ホストカーネルを共有する側である。
前者もカーネル共有側である。
誤り仮想マシン、物理マシン
後者はホストカーネルを共有する隔離環境という条件に合わない。
後者は隔離環境の説明に合わない。
実際に確かめる
一時的な検証環境で実行できる例です。
systemd-detect-virt --vm; systemd-detect-virt --container期待される結果
実行環境が該当すれば仮想化方式を表示する。環境によりnoneまたは非0終了もある理解のポイント
- VMはゲストカーネル
- コンテナはホストカーネル共有
- 隔離境界が異なる
確認時の注意
- 確認環境: Linux仮想化の一般モデル/systemd 255
基礎のおさらい
隔離の単位
VMはOS単位、アプリケーションコンテナは単一アプリと依存一式を中心に設計されることが多い。
移植性
コンテナイメージはユーザー空間を持つが、異なる種類のカーネルをそのまま起動するVMとは異なる。
問題IDKP-102-221
確認環境Linux仮想化の一般モデル/systemd 255
最終技術確認2026-08-12
誤り・権利侵害を報告