CentOS7 KVM(仮想化ホスト) ゲストOS

NO IMAGE

ディストリビューション : CentOS7

ここで使われる用語の説明

仮想マシーン(全体のOSマシーンを示す)

ゲストOS(個別のOSマシーンを示す)

 

CUIツールのインストール

yum -y install virt-instal

GUIツールのインストール

yum -y install virt-manager

仮想マシーンの管理に便利なツール

yum -y install virt-top
yum -y install libguestfs-tools

virt-install サンプル

virt-install --connect=qemu:///system \
  --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/centos7.img,cache=none,io=native \
  --network bridge=virbr1 \
  --graphics none \
  --serial pty \
  --console pty \
  --location /var/lib/libvirt/iso/CentOS-7-x86_64-Minimal-1804.iso \
  --initrd-inject centos7.ks.cfg \
  --extra-args "inst.ks=file:/centos7.ks.cfg console=ttyS0,115200n8"

2行目 ゲストOSの名前

5行目 メモリーサイズ

6行目 CPUの数

9行目 OSのバージョン

11行目 HDDの場所

12行目 ネットワークのデバイス名

16行目 インストールメディアの場所

17行目 Kickstartファイルの場所

18行目 Kickstartファイル&コンソールの設定

 

CentOS Kickstartファイル サンプル

#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
cmdline
install
selinux --disabled
firewall --disabled
firstboot --disabled
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
#network --bootproto=static --device=eth0 --ip=xxx.xxx.xxx.xxx --netmask=xxx.xxx.xxx.xxx --gateway=xxx.xxx.xxx.xxx --nameserver=xxx.xxx.xxx.xxx --noipv6 --activate
network --bootproto=dhcp --device=eht1 --noipv6 --activate
network --hostname=localhost.localdomain

# Root password
rootpw --iscrypted xxxxxxxxxxxx
# System timezone
timezone Asia/Tokyo --isUtc --nontp
# System bootloader configuration
bootloader --location=mbr --append="crashkernel=auto rhgb quiet"
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --ondisk=vda --size=1024
part pv.156 --fstype="lvmpv" --ondisk=vda --size=50175
volgroup centos --pesize=4096 pv.156
logvol /  --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol swap  --fstype="swap" --size=3968 --name=swap --vgname=centos

%packages
#@^minimal
#@core
#kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

9-11行目 サービス無効の設定

12行目 キーボードの設定

14行目 言語の設定

17,18行目 IPアドレスの設定

19行目 ホスト名の設定

22行目 パスワードの設定

30-34行目 パテーションの設定

 

Kickstartファイルの簡単な作成方法は、GUIでインストールしてから「anaconda-ks.cfg」ファイルを流用したほうが簡単である。

ただし、ゲストOSに関して基本となるマスターイメージを作成してクーロンするのが一番簡単なゲストOSのインストール方法である。なので、GUIが使えるのであれば一度だけマスターイメージを作成すれば、その後はコマンドベースで管理するのがもっとも簡単である。

 

仮想マシーンのクーロン

virt-clone --original=centos7 --auto-clone --name=Test

nameのオプションは、ゲストOSの名前とイメージファイルの名前で利用される。

 

仮想マシーン XML定義ファイル /etc/libvirt/qemu/

コマンドで編集

virsh edit centos7

仮想マシーン一覧

virsh list --all

ゲストOSの状態

virsh dominfo centos7

ゲストOSの起動

virsh start centos7

ゲストOSの起動&コンソールへ接続

virsh start centos7 --console

ゲストOSのシャットダウン

virsh shutdown centos7

ゲストOSの再起動

virsh reboot centos7

ゲストOSのサスペンド

virsh suspend centos7

ゲストOSのサスペンドから復帰

virsh resume centos7

ゲストOSの強制終了

virsh destroy centos7

ゲストOSへコンソール接続

virsh console centos7

 

仮想マシーン イメージファイル /var/lib/libvirt/images/

ゲストOS削除

virsh undefine centos7

 

仮想マシーンの動作設定

/etc/sysconfig/libvirt-guests

ON_BOOT ホストOS起動時にゲストOSを起動させるか
START_DELAY ゲストOS起動の待ち時間
ON_SHUTDOWN ホストOSシャットダウン時にゲストOSをサスペンドまたは、シャットダウン
PARALLEL_SHUTDOWN ゲストOSを同時にシャットダウンする最大数
SHUTDOWN_TIMEOUT ON_SHUTDOWNにshutdownを設定した場合のshutdown待ち時間
BYPASS_CACHE ゲストOSの保存とリスト時にファイルシステムキャッシュを使わないようにする
SYNC_TIME ホストOSとゲストOSの時刻同期

Linuxカテゴリの最新記事