xenserver copy vm

基本流程:
从模板创建 开启 win7 虚拟机,获取uuid

xe vm-install template="win7" new-name-label="win7_1"

print UUID

xe vm-start uuid="uuid"

通过new-name-label或者UUID获取 新虚拟机的MAC及IP

xe vm-list name-label="win7_1" params=networks|awk '/network/ {print $5}'
xe vm-vif-list name-label=win7_1 | grep "MAC" | awk '{print $4}'
xe vm-list uuid="uuid" params=networks|awk '/network/ {print $5}'

为了方便使用,编写自动化的shell脚本。
vi install.sh

  name=$1
  new_name=$2

  vm_list=$(xe vm-list name-label=${new_name})
  if [[ ${vm_list} != "" ]]; then
    echo "${new_name} EXIST"
else
    vm_uuid=$(xe vm-install template=${name} new-name-label=${new_name})
    echo "${new_name} INSTALL"
    xe vm-start uuid=${vm_uuid}
    echo "${new_name} START"
    while true
    do
        net=$(xe vm-list name-label=${new_name} params=networks|awk '/network/ {print $4}')
        if [[ ${net} == "0/ip:" ]]
        then
            ip=$(xe vm-list name-label=${new_name} params=networks|awk '/network/ {print $5}')
            echo "${new_name}-IP:${ip}"
            mac=$(xe vm-vif-list name-label=win7_1 | grep "MAC" | awk '{print $4}')
            echo "${new_name}-MAC:${mac}"
            break
        else
            echo 'WAITING'
        fi
        sleep 3
    done
    echo "CREATE SUCCESS"
fi
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容