{"title": "\u4e00\u6bb5\u6279\u91cf\u5b89\u88c5xen\u865a\u62df\u673a\u7684\u811a\u672c", "update_time": "2012-11-13 22:27:59", "tags": "xen install kickstart", "pid": "174", "icon": "xen.png"}
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为网关,这些要根据实际情况修改一下。 这个脚本是抛砖引玉,大家可以根据自己的情况修改出更好的安装脚本。