仮想化技術の実践ガイド:仮想マシン・chroot・lxc・QEMUの活用法(資料集)
【概要】 仮想化技術は、サーバ統合によるコスト削減とクラウドでの柔軟な資源提供を実現する。仮想マシンでは、スナップショット、複製、マイグレーションなどの操作が可能である。より軽量な仮想化技術として、chroot環境、lxcコンテナ、QEMUなどがあり、開発環境の隔離や異なるアーキテクチャのエミュレーションに活用されている。
仮想マシンに関する主な操作コマンド
| VMware の使用 | Oracle VM Virtualbox | libvirt | |
| 起動 | vmrun start | VBoxManage startvm | virsh start |
| 終了 | vmrun stop | VBoxManage controlvm poweroff | virsh destroy |
| スナップショット作成/復帰 | vmrun snapshot / vmrun revertToShapshot | VBoxManage snapshot take / VBoxManage shapsot restore | virsh save / virsh restore |
| 複製 | vmrun clone | VBoxManage clonevm | virt-clone |
| 仮想マシンの生成 | (専用のツール) | VBoxManage creatvm, VBoxManage registervm, VBoxManage modifyvm | virt-install |
1. chroot 環境
- chroot で隔離された環境を作る(Ubuntu 上)
ユースケース: Ubuntu で,隔離された環境を作り,新規ユーザを設定したい.そして,その新規ユーザのユーザ名とパスワードを用いて SSH でリモートログインし,その隔離された環境を自由に使いたい.(Ubuntu の隔離された環境が欲しいというとき,仮想マシンとはさよならしたい).
- 隔離された環境(chroot 環境)を用いて,Docker ベースイメージの作成(Ubuntu 上)
【概要】Ubuntuの隔離環境(chroot環境)をdebootstrapで構築し、Dockerベースイメージとして作成する手順を解説する。
2. lxc コンテナ
- Ubuntu で lxc のインストールとテスト実行
【概要】LXC コンテナでは、プロセス、ファイルシステム、IPC、ネットワークが仮想化され、ホストや他のコンテナと分離された実行環境を提供する。
- コンテナマネージャ lxd のインストールと利用方法(Ubuntu 上)
【概要】Ubuntu 上でコンテナマネージャ lxd をインストールし、コンテナの作成、状態確認、シェル実行、停止、削除までの基本操作を解説する。
3. QEMU
- Ubuntu 上で,ARM 版 Rasbian (buster) の隔離された開発環境を作成する方法(qemu-debootstrap 使用)
【概要】Ubuntu 24.04 上に、qemu-debootstrap を使用して ARM 版 Raspbian (buster) の隔離された開発環境を構築する方法を解説する。schroot の設定による一般ユーザでの利用、SSH リモートログイン環境の構築までを扱う。
- Ubuntu 上で,armhf 版 Degian 10 (buster) の隔離された開発環境を作る(qemu-debootstrap を使用)
【概要】Ubuntu 上に、qemu-debootstrap を使用して armhf 版 Debian 10 (buster) の隔離開発環境を構築する手順を解説する。schroot の設定と SSH リモートアクセスの設定も行う。
- Windows で Raspbian システムを起動(QEMU, qemu-rpi-kernel を使用)
【概要】Windows環境でQEMUを使用してRaspbianをエミュレートする手順を解説する。QEMUのインストール、カーネルとイメージの入手、システムの起動、SSHによるリモートアクセスの設定を図解付きで扱う。
- Ubuntu で Raspbian システムを起動(QEMU, qemu-rpi-kernel を使用)
【概要】Ubuntu 環境で QEMU エミュレータを使用し、ARM プロセッサ向けの Raspbian システムを起動する手順を解説する。QEMU のインストール、カーネルイメージのダウンロード、Raspbian イメージの準備、システム起動、SSH によるリモート接続までの一連の作業を図解で説明する。