Libvirt XML Domain 结构体:磁盘类型和大小设置
在 libvirt.org/go/libvirtxml 中,Domain 结构体中的磁盘类型属性值是'file' 或'block',磁盘大小的属性值是'size'。
要设置磁盘类型和磁盘大小,可以使用以下代码示例:
import (
"github.com/libvirt/libvirt-go"
"github.com/libvirt/libvirt-go-xml"
)
func createDomain() error {
conn, err := libvirt.NewConnect("qemu:///system")
if err != nil {
return err
}
defer conn.Close()
// 创建一个Domain配置对象
domainXML := &libvirtxml.Domain{
Type: "kvm",
Name: "test",
Memory: &libvirtxml.DomainMemory{
Value: 1024,
Unit: "MiB",
},
VCPU: &libvirtxml.DomainVCPU{
Value: 1,
},
Devices: &libvirtxml.DomainDeviceList{
Disks: []libvirtxml.DomainDisk{
{
Type: "file",
Device: "disk",
Driver: &libvirtxml.DomainDiskDriver{
Name: "qemu",
Type: "qcow2",
},
Source: &libvirtxml.DomainDiskSource{
File: &libvirtxml.DomainDiskSourceFile{
File: "/path/to/disk.qcow2",
},
},
Target: &libvirtxml.DomainDiskTarget{
Dev: "vda",
Bus: "virtio",
},
Size: &libvirtxml.DomainDiskSize{
Value: 10,
Unit: "GiB",
},
},
},
},
}
// 使用Domain配置对象创建一个Domain
if _, err := conn.DomainDefineXML(domainXML.String()); err != nil {
return err
}
return nil
}
在上面的代码中,我们创建了一个名为'test'的虚拟机,它有一个大小为10GB的磁盘,磁盘类型为'file'。要修改磁盘类型和磁盘大小,只需修改对应的属性值即可。
原文地址: https://www.cveoy.top/t/topic/fZni 著作权归作者所有。请勿转载和采集!