在 libvirt.org/go/libvirtxml 中,Domain 结构体中磁盘类型的属性值为'file',磁盘大小的属性值为'size'。

要设置磁盘类型和磁盘大小,可以使用如下代码:

disk := &libvirtxml.DomainDisk{
    Type: 'file',
    Device: &libvirtxml.DomainDiskTarget{
        Bus: 'virtio',
    },
    Driver: &libvirtxml.DomainDiskDriver{
        Name: 'qemu',
        Type: 'qcow2',
    },
    Source: &libvirtxml.DomainDiskSource{
        File: '/path/to/disk.qcow2',
    },
    Size: &libvirtxml.DomainDiskSize{
        Value: '10G',
    },
}

domain := &libvirtxml.Domain{
    ...
    Devices: &libvirtxml.DomainDeviceList{
        Disks: []*libvirtxml.DomainDisk{disk},
    },
    ...
}

可以设置多个 Source,例如:

Source: []*libvirtxml.DomainDiskSource{
    {File: '/path/to/disk1.qcow2'},
    {File: '/path/to/disk2.qcow2'},
},

除了 qcow2 文件要放在 source 中,ISO 镜像文件路径也可以放在 source 中,例如:

Source: &libvirtxml.DomainDiskSource{
    File: '/path/to/disk.qcow2',
    StartupPolicy: 'optional',
    Driver: &libvirtxml.DomainDiskSourceDriver{
        Type: 'raw',
    },
    BackingStore: &libvirtxml.DomainDiskSourceBackingStore{
        Format: &libvirtxml.DomainDiskSourceBackingStoreFormat{
            Type: 'qcow2',
        },
        Source: &libvirtxml.DomainDiskSourceBackingStoreSource{
            File: '/path/to/iso.iso',
        },
    },
},
Libvirt XML Domain 结构体磁盘类型、大小设置及多源配置

原文地址: https://www.cveoy.top/t/topic/fZnm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录