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分ほどで構築完了。