仮想化技術の実践ガイド:仮想マシン・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 revertToSnapshot | VBoxManage snapshot take / VBoxManage snapshot restore | virsh snapshot-create-as / virsh snapshot-revert |
| 複製 | vmrun clone | VBoxManage clonevm | virt-clone |
| 仮想マシンの生成 | (専用のツール) | VBoxManage createvm, 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 24.04 上で ARM 版 Raspbian (buster) の隔離された開発環境を作成する方法(debootstrap と qemu-user-static の使用)
【概要】Ubuntu 24.04 上に、qemu-debootstrap を使用して ARM 版 Raspbian (buster) の隔離された開発環境を構築する手順を解説する。schroot の設定による一般ユーザでの利用、および SSH リモートログイン環境の構築までを扱う。
- Ubuntu 上で、armhf 版 Debian 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 によるリモート接続までの一連の作業を図解で説明する。