Edited at

KVMに環境をサクッと立ち上げる

RHEL、CentOSでOSのインストール作業を自動化する "kickstart" を利用して、サクッと環境を構築します。


前提

KVMホスト:CentOS7


0. virtmanagerの有効化

# yum -y install virt-manager qemu-kvm libvirt


1. ksファイル作成

cat <<EOS> /var/iso/centos-ks.cfg

#version=RHEL7

install
cdrom
text
cmdline
skipx

lang ja_JP.UTF-8
keyboard --vckeymap=jp106 --xlayouts=jp
timezone Asia/Tokyo --isUtc --nontp

network --activate --bootproto=dhcp --noipv6

zerombr
bootloader --location=mbr

clearpart --all --initlabel
part / --fstype=xfs --grow --size=1 --asprimary --label=root

rootpw --plaintext password
auth --enableshadow --passalgo=sha512
selinux --disabled
firewall --disabled
firstboot --disabled

reboot

%packages
%end
EOS


2. ゲストOSディスクの作成

今回は検証目的だったため、ディスクは 10GB で作成しました。

必要に応じてディスクサイズは調整してください。

# sudo qemu-img create -f qcow2 /var/lib/libvirt/images/centos.img 10G

Formatting
'/var/lib/libvirt/images/centos.img', fmt=qcow2 size=10737418240
encryption=off cluster_size=65536 lazy_refcounts=off
# ls
centos.img


3. インストールスクリプト実行

# cat <<EOS> /var/iso/centos_virt-install.sh

#!/bin/sh
virt-install \
--name centos7 \
--hvm \
--virt-type kvm \
--ram 1024 \
--vcpus 1 \
--arch x86_64 \
--os-type linux \
--os-variant rhel7 \
--boot hd \
--disk /var/lib/libvirt/images/centos.img \
--network network=default \
--accelerate \
--graphics none \
--serial pty \
--console pty \
--location /var/iso/CentOS-7-x86_64-Minimal-1804.iso \
--initrd-inject /var/iso/centos-ks.cfg \
--extra-args "ks=file:/centos-ks.cfg console=ttyS0,115200"
EOS

# /var/iso/centos_virt-install.sh

約10分ほどで構築完了。


参考にさせていただいたサイト