LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > 脚本编程 >

一段批量安装xen虚拟机的脚本

时间:2015-01-16 10:20来源:opstool.com 编辑:opstool 点击:
vm-install脚本如下: #!/bin/bash -gen_vmmac() {local i=$1IP1_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 ]
vm-install脚本如下:
#!/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

------分隔线----------------------------
标签:Xen
栏目列表
推荐内容