虚拟机配置标注
<domain type="kvm">
// domain 是一个所有虚拟机都需要的根元素,type定义使用哪个虚拟机管理程序,
<name>$vmUuid</name>
// name定义了一个名字
<uuid>$vmUuid</uuid>
// id唯一的标示一个运行的虚拟机
<memory unit="KiB">$vmMemory</memory>
// memory 定义客户端启动时可以分配到的最大内存
<vcpu placement="static">$vmVcpu</vcpu>
// vcpu的内容是为虚拟机最多分配几个cpu,值处于1~maxcpu之间 //placement参数指定一个domain的cpu的分配模式,static、auto
<os>
<type arch="x86_64" machine="pc-i440fx-trusty">hvm</type>
// type参数指定了虚拟机操作系统的类型 // arch指定虚拟机的CPU架构,machine指定机器的类型 // hvm表明需要全虚拟化
<boot dev="hd" />
// boot:指定启动设备,hd表示从硬盘启动
</os>
<features>
// Hypervisors所有的特性都在fearures元素中
<acpi />
// 用于电源管理
<apic />
// 是装置的扩充组合用来驱动 Interrupt 控制器
<pae />
// 扩展物理地址模式,使32位的客户端支持大于4GB的内存
</features>
<clock offset="utc" />
// 客户端的时间初始化来自宿主机的时间 // 大多数操作系统期望硬件时钟保持UTC格式,UTC也是默认格式 // 当一个客户端的OS触发lifecycle时,它将采取新动作覆盖默认操作 // 具体状态参数如下:
<on_poweroff>destroy</on_poweroff>
// 当客户端请求poweroff时执行特定的动作 // destroy:domain将会被完全终止,domain的所有资源会被释放
<on_reboot>restart</on_reboot>
// 当客户端请求reboot时执行特定的动作 // restart: domain会被终止,然后以相同的配置重新启动
<on_crash>restart</on_crash>
// 当客户端崩溃时执行的动作 // restart: domain会被终止,然后以相同的配置重新启动
<devices>
// 所有的设备都是一个名为devices元素的子设备
<emulator>/usr/bin/kvm-spice</emulator>
// emulator元素指定模拟设备二进制文件的全路径
<disk type="file" device="disk">
// 所有的设备看起来就像一个disk、floppy、cdrom等 // 他们通过一个disk元素指定。 // disk是一个描述disks的容器,这个disk的type是file
<driver name="qemu" type="qcow2" />
// driver允许更进一步的指定hypervisor driver的 // 相关细节。如果hypervisor支持多个后端驱动程序, // name属性选择一个主要的后端驱动的名称, // type参数可以指定一个子类型,qcow2 写时拷贝2
<source file="$imagePath" />
// source元素:在disk的type是file时,file属性 // 指定一个合格的全路径文件映像作为客户端的磁盘
<target dev="sda" bus="virtio" />
// 将磁盘暴露给客户机时的总线类型和设备名称。 // target元素:控制总线设备在某个磁盘被选为客户 // 端的OS时,dev属性表明本地磁盘在客户端上的实际 // 名称,因为实际设备的名称指定并不能保证映射到 // 客户端OS上的设备。 // bus属性指定了哪种类型的磁盘被模拟 // virtio 半虚拟化
</disk>
#foreach($!disk in $!diskList) // 循环创建虚拟硬盘
<disk type="file" device="disk"> 2017-12-13
<driver name="qemu" type="$!disk.diskDTO.diskFormat.value" />
<source file="$!disk.diskDTO.diskPath" />
<target dev="$!disk.devName" bus="usb" />
</disk>
#end // 控制器=====
<controller type="usb" index="0" model="ich9-ehci1">
<address type="pci" domain="0x0000" bus="0x00" slot="0x07" function="0x7" />
</controller>
<controller type="usb" index="0" model="ich9-uhci1">
<master startport="0" />
<address type="pci" domain="0x0000" bus="0x00" slot="0x07" function="0x0" multifunction="on" />
</controller>
<controller type="pci" index="0" model="pci-root" />
<controller type="ide" index="0">