Linux上での仮想環境はDocker(コンテナ型)が流行りのようですが,様々な環境での動作をテストする時や,1から手順書のようなものを作る際にはKVMが役に立ちます.本投稿では,よく使うディストリビューションの環境を構築するコマンドと,管理用のコマンドをメモします.コピペで使えます.
実行コマンド
Ubuntu16.04(または14.04)上で実行する例を示します.
インストールする対象はos_locationによって変更します.
- Ubuntu 14.04 http://jp.archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/
- Ubuntu 16.04 http://jp.archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/
- CentOS 7 http://ftp.iij.ad.jp/pub/linux/centos/7/os/x86_64/
# 導入
sudo apt-get install -y kvm qemu-system libvirt-bin bridge-utils virt-manager
sudo service libvirt-bin start
# 実行準備
workspace=~/workspace
image_name=linux_image_mytest
disk_size_gb=30
ram_size_mb=4096
os_location=http://jp.archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/
mkdir -p ${workspace}
cd ${workspace}
# 実行
qemu-img create -f qcow2 ${image_name}.img ${disk_size_gb}G
sudo virt-install \
--name ${image_name} \
--virt-type kvm \
--disk ${image_name}.img,format=qcow2,bus=virtio \
--accelerate \
--ram ${ram_size_mb} \
--vcpus 2 \
--arch x86_64 \
--graphics none \
--location ${os_location} \
--extra-args "console=ttyS0, 115200n8"
仮想環境
種々の管理コマンド
作成した仮想環境の種々の管理コマンドを列挙します.
GUIではvirt-managerコマンドで同様の操作を行うこともできます.
仮想マシンの状態を確認する
sudo virsh list --all
仮想マシンに接続する
open-ssshをインストールしている場合は,consoleではなくSSHで接続することもできます.
sudo virsh start <machine_name>
sudo virsh console <machine_name>
仮想マシンを終了する 仮想環境
sudo virsh shutdown <machine_name>
仮想マシンをクローンする
sudo virt-clone --original <original_machine_name> --name <machine_name> --file <image_path>