昨今では、コンテナ(Docker、LXC)や仮想化ソフトウェア(VMware、VirtualBox)などが充実しています。
そんな中で、Linux KernelにマージされているKVM(Kernel-based Virtual Machine)を触ったことがなかったので、ハンズオンしてみました。
基本的にKVMはサーバ用途で使用するものなので、CUIオンリーで構築しました。構築する仮想マシンのOSはCentOSとしました。
その構築手順を備忘録として残しておきたいと思います。
#環境
- OS : CentOS 7.5
- CPU : Intel Core i5 (仮想化支援機能あり)
#パッケージインストール
まずは必要となるパッケージのインストールをします。
$ sudo yum install -y qemu-kvm libvirt virt-install libvirt-python libvirt-client
GUIで仮想マシンを構築・管理したい人は、virt-manager
もインストールしておきましょう。
インストールが終了したら、デーモンを起動させましょう。
$ sudo systemctl start libvirtd
$ sudo systemctl enable libvirtd
#仮想マシン構築
今回構築するマシンのパラメータは以下のようにします。
実際に構築する際は、各パラメータを各自の環境に合わせてください。
parameter | value |
---|---|
name | demo |
memory | 1024M |
disk | 20G |
vcpu | 1 |
location of image | /tmp/CentOS-7-x86_64-DVD-1804.iso |
network | default (NAT) |
graphics | none |
extra-args | ttyS0の標準出力をtty0に表示 |
では、構築していきましょう。
$ sudo virt-install --name demo --memory 1024 --disk size=20 --vcpu 1 --location
/tmp/CentOS-7-x86_64-DVD-1804.iso --network default --graphics none --extra-args='console=tty0 console=ttyS0'
成功すれば、インストール画面が表示されます。
ここからは普段のインストールとは変わらないので、説明を省きます。
#確認
構築が済んだら、実際に仮想マシンにSSHしてみましょう。
$ sudo virsh list --all
Id Name State
---------------------
- demo shut off
$ sudo virsh start demo #demoの起動(シャットダウンは「virsh shutdown demo」)
$ sudo virsh list --all
Id Name State
---------------------
1 demo running
$ sudo virsh domifaddr demo #demoのIPアドレスの取得
Name MAC address Protocol Address
------------------------------------------------------
xxxx xx:xx:xx:xx:xx:xx ipv4 192.168.100.10/24
$ ssh root@192.168.100.10
Enter password:
これでパッケージのインストールから構築まで終了しました。
VMで何か検証したい時や複数のサービスをデプロイしたいときなど、手軽に構築したり壊したりできるので、ぜひ試してみてください。
#参考
- https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-installing_the_virtualization_packages-installing_virtualization_packages_on_an_existing_red_hat_enterprise_linux_system
- https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-guest_virtual_machine_installation_overview-creating_guests_with_virt_install