文字インタフェースの新しい自動化kvm仮想マシンのインストール
公式サイト
次に、コマンドライン方式で仮想ディスクを作成します.
一、kvm仮想マシンをインストールするスクリプト
パラメータの説明: でなければなりません. である. を使用しないことを意味します. に移動します. にならないでください. を用いることを示す.
を指定する.
二、KICKSTARTによる自動インストールツールパッケージをインストール、ksをカスタマイズして取得する.cfgファイル カスタムKickstartファイル の検証
Kickstartファイルを作成またはカスタマイズする場合は、インストールで使用する前に有効かどうかを確認します.レッドキャップ企業Linux 7には、この操作を実行するためのksvalidatorコマンドラインユーティリティが含まれています.このツールはpykickstartパッケージの一部です.このパッケージをインストールするには、rootで次のコマンドを実行します.
パッケージをインストールすると、次のコマンドを使用してKickstartファイルを検証できます.
重要
検証ツールには限界があることを覚えておいてください.Kickstartファイルは複雑かもしれません.ksvalidatorは、構文が正しく、ファイルに使用を推奨しないオプションが含まれていないことを確認できますが、インストールが成功する保証はありません.%pre,%post,%packagesKickstartファイルの各セクションを検証することもできません. ks.cfg例
注意:インストールソースはvirt-installコマンドで直接指定されているため、ksファイルにインストールソース構成項目 はありません.仮想マシンがインストールされているため、kvmでqemu-imgが作成したディスクは、kvmではデフォルトでvda、vdb…などのディスクとして認識されるため、ksファイルでは、物理マシンをインストールするようにsda、sdbなどのディスク として指定することはできません.
次に、コマンドライン方式で仮想ディスクを作成します.
qemu-img create -f qcow2 /home/kvm/data/kube-master.qcow2 50G
一、kvm仮想マシンをインストールするスクリプト
install-virtualhost.sh
#!/usr/bin/env bash
set -ue
set -o pipefail
#
ls /home/kvm/{
ks,virtualhost,virtual-img} 1>/dev/null 2>&1 || mkdir -p /home/kvm/{
ks,virtualhost,virtual-img}
#
KVM_HOME=/home/kvm
KVM_ISO=${KVM_HOME}/iso/CentOS-7-x86_64-Minimal.iso
KVM_KS_FILE=${KVM_HOME}/ks/ks.cfg
KVM_IMG_DIR=${KVM_HOME}/virtual-img
OS_TYPE="linux"
DEF_OS_VARIANT="rhel7"
DEF_VM_NAME="centos$(date +%Y%m%dT%H%M%S)"
# 1024 M, M,
DEF_MEM_SIZE=1024
DEF_VCPUS=1
DEF_DISK_SIZE=10G
#
echo " KVM , "
read -p " ${DEF_VM_NAME}>>:" VM_NAME
echo " "
read -p " localhost>>:" HOST_NAME
read -p " CPU 1 :2>>:" VCPUS
echo " , 1024M, "
read -p " >>:" MEM_SIZE
echo " "
read -p " 10G,[ :15G]>>:" DISK_SIZE
# , ,
VM_NAME=${VM_NAME:-$DEF_VM_NAME}
HOST_NAME=${HOST_NAME:-localhost.localdomain}
VCPUS=${VCPUS:-$DEF_VCPUS}
MEM_SIZE=${MEM_SIZE:-$DEF_MEM_SIZE}
DISK_SIZE=${DISK_SIZE:-$DEF_DISK_SIZE}
OS_VARIANT=${OS_VARIANT:-$DEF_OS_VARIANT}
new_disk=${KVM_IMG_DIR}/${VM_NAME}.qcow2
if [[ ! "${DISK_SIZE}" =~ G$ ]] || [[ ! "${DISK_SIZE::-1}" =~ ^[0-9]+$ ]]
then
echo " , :20G"
exit
fi
if [ ! -f "${new_disk}" ];then
qemu-img create -f qcow2 ${new_disk} ${DISK_SIZE}
fi
#
virt-install -v \
--arch x86_64 --virt-type kvm \
--name ${VM_NAME} \
--memory ${MEM_SIZE} \
--vcpus ${VCPUS} \
--os-type ${OS_TYPE} \
--location ${KVM_ISO} \
--network default \
--graphics none \
--os-variant ${OS_VARIANT} \
--initrd-inject "${KVM_KS_FILE}" \
--extra-args "ks=file:/ks.cfg \
console=tty0 console=ttyS0,115200n8 \
hostname=${HOST_NAME}" \
--disk ${new_disk},cache=writeback,io=threads,bus=virtio
# ,
# --network bridge=br0 \
# end
パラメータの説明:
--arch
指定プラットフォームアーキテクチャ--virt-type
仮想化タイプkvmが最適選択--name
仮想マシン名--memory
メモリサイズ--vcpus
cpuコア数--os-type
オペレーティングシステムタイプ--os-variant
リリースバージョンは、virt-installで規定された--network
ネットワークタイプdefaultはNATタイプのネットワーク--graphics
vncこれを使用するかどうかのnoneは--location
ISOミラーファイルパス--initrd-inject
コア注入、ksを指定する.cfgファイルのパスは、このファイルの所有者をディレクトリの下に--extra-args
追加パラメータks=file:/ks.cfg
この値はconsole=ttyS0
はconsoleポート制御サーバ--disk
仮想ハードディスクファイルパス二、KICKSTARTによる自動インストール
yum -y install system-config-kickstart
system-config-kickstart
Kickstartファイルを作成またはカスタマイズする場合は、インストールで使用する前に有効かどうかを確認します.レッドキャップ企業Linux 7には、この操作を実行するためのksvalidatorコマンドラインユーティリティが含まれています.このツールはpykickstartパッケージの一部です.このパッケージをインストールするには、rootで次のコマンドを実行します.
yum install pykickstart
パッケージをインストールすると、次のコマンドを使用してKickstartファイルを検証できます.
ksvalidator /path/to/kickstart.ks
/path/to/kickstart.ks
を、検証するKickstartファイルのパスに置き換えます.重要
検証ツールには限界があることを覚えておいてください.Kickstartファイルは複雑かもしれません.ksvalidatorは、構文が正しく、ファイルに使用を推奨しないオプションが含まれていないことを確認できますが、インストールが成功する保証はありません.%pre,%post,%packagesKickstartファイルの各セクションを検証することもできません.
#platform=x86, AMD64, Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$KXeyOPUO$5JlUe3pPpi.hplHB71JdX/
#
#lang zh_CN.UTF-8
lang en_US
# System authorization information
auth --useshadow --passalgo=sha512
# Use CDROM installation media
#cdrom
# Use text mode install
#
text
# Do not configure the X Window System
#
skipx
# SELinux configuration
selinux --disabled
# Firewall configuration
firewall --disabled
# IP
network --bootproto=dhcp --device=eth0 --onboot=on
network --hostname=HOSNAME
# IP
# network --bootproto=static --device=eth0 --gateway=192.168.122.1 --ip=192.168.122.100 --nameserver=192.168.122.1 --netmask=255.255.255.0 --activate
#
#halt
reboot
# System timezone
timezone Asia/Shanghai
# System services
services --enable="chronyd"
# System bootloader configuration
# vda kvm
bootloader --location=mbr --boot-drive=vda
#
zerombr
#
clearpart --all --initlabel
# , lvm
autopart --type=lvm
#
#part /boot --fstype="xfs" --ondisk=vda --size=200
#part / --fstype="xfs" --ondisk=vda --size=10040
#part /var --fstype="xfs" --ondisk=vda --size=2048
#part /home --fstype="xfs" --ondisk=vda --size=2048
#
%packages
@^minimal
@core
chrony
%end
# kdump
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end
#
%post --interpreter=/bin/bash
yum install -y epel-release bash-completion vim-enhanced wget
yum group install "Development Tools" -y
%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
注意: