#!/bin/bash - gen_vmmac() { local i=$1 IP1_TMP=`echo $i | awk -F . '{print $1}'` IP2_TMP=`echo $i | awk -F . '{print $2}'` IP3_TMP=`echo $i | awk -F . '{print $3}'` IP4_TMP=`echo $i | awk -F . '{print $4}'` if [ $IP2_TMP -lt 16 ]; then mac2=0`printf "%X" $IP2_TMP` else mac2=`printf "%X" $IP2_TMP` fi if [ $IP3_TMP -lt 16 ]; then mac3=0`printf "%X" $IP3_TMP` else mac3=`printf "%X" $IP3_TMP` fi if [ $IP4_TMP -lt 16 ]; then mac4=0`printf "%X" $IP4_TMP` else mac4=`printf "%X" $IP4_TMP` fi echo "00:16:3E:$mac2:$mac3:$mac4" } while read line do echo $line | grep -q "^#" && continue name=`echo $line | awk '{print $1}'` vcpu=`echo $line | awk '{print $2}'` vmem=`echo $line | awk '{print $3}'` disk=`echo $line | awk '{print $4}'` ip=`echo $line | awk '{print $5}'` os=`echo $line | awk '{print $6}'` mac=`gen_vmmac $ip` /usr/bin/virt-install --name=$name --vcpus=$vcpu --ram=$vmem --mac=$mac --file=$disk --location=OS_INSTALL_TREE/$os --extra-args="ks=http://www.opstool.com/files/man/vm-ks.cfg ip=${ip} netmask=NETMASK gateway=GATEWAY" --paravirt --noautoconsole --nographics done< vms在vm-install.sh下创建vms文件,内容格式如下: host1 2 1000 /dev/sdc5 10.13.249.232 rhel-5-u8-64 host2 2 1000 /dev/sdc6 10.13.249.233 rhel-5-u8-64 host3 2 1000 /dev/sdc7 10.13.249.234 rhel-5-u8-64 第一列为vm主机名,第二列为cpu核数,第三列为内存大小,以MB为单位,第4列为vm的disk所在位置;这里可以是文件,也可以是分区,第5列为ip,第7列为os版本 OS_INSTALL_TREE为os安装树,如http://xxx.xxx.xxx.xxx/clone/,NETMASK为网络掩码,GATEWAY为网关,这些要根据实际情况修改一下。 kickstart文件可以参考:https://linuxeye.com/a/uploads/allimg/150116/vm-ks.cfg 这个脚本是抛砖引玉,大家可以根据自己的情况修改出更好的安装脚本。 转载请保留固定链接: https://linuxeye.com/program/2097.html |