You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
kvm/control/VMTemplate.sh

31 lines
1.1 KiB

#!/usr/bin/bash
<<!
editor : NewRain
date : 2022-08-14
for kvm virtual machine
!
MAIN_PATH=$(cd $(dirname $0); cd ..; pwd)
IMAGE_PATH=/tmp/CentOS-7-x86_64-Minimal-2009.iso
VM_CPUS=1
VM_TEMPLATE_NAME=template
VM_MEMORY=2050 # 不能低于2G,单位为M
VM_DISK_SIZE=5 # 单位为G
VM_DISK_PATH=${MAIN_PATH}/template/${VM_TEMPLATE_NAME}.qcow2
VM_PASSWORD=123456
VM_JUMPSERVER_HOST=10.36.176.155
cpus=`lscpu | awk '/^CPU\(s\):/{print $2}'`
if [ $VM_CPUS -ge $cpus ]; then
echo "CPU数量不能大于系统的CPU数量,宿主机cpu数量为:$cpus"
exit 1
fi
memory=`free -m | awk '/^Mem:/{print $2}'`
if [ $VM_MEMORY -ge $memory ]; then
echo "内存不能大于系统的内存,宿主机内存为:$memory"
exit 1
fi
sed "s/PASSWORD/${VM_PASSWORD}/g;s/JUMPSERVER_HOST/${VM_JUMPSERVER_HOST}/g" ./ks.cfg.temp > ks.cfg
virt-install --connect qemu:///system -n ${VM_TEMPLATE_NAME} -r ${VM_MEMORY} --disk path=${VM_DISK_PATH},size=${VM_DISK_SIZE} --os-type=linux --os-variant=centos7.0 --network bridge=br0 --vcpus=${VM_CPUS} --location=${IMAGE_PATH} -x "console=ttyS0" --nographics --initrd-inject ${MAIN_PATH}/control/ks.cfg --extra-args="ks=file:ks.cfg"