3.12. 仮想ディスクの作成
新しく作成された仮想マシンが永続ストレージにアクセスできるようにするには、ディスクを作成してアタッチする必要があります。
この Ruby の例では、仮想ストレージディスクを作成して仮想マシンにアタッチします。
Locate the virtual machines service and use it to find the virtual machine: Locate the service that manages the disk attachments of the virtual machine: Use the "add" method of the disk attachments service to add the disk. Note that the size of the disk, the `provisioned_size` attribute, is specified in bytes, so to create a disk of 10 GiB the value should be 10 * 2^30. Wait until the disk status is OK:
# Locate the virtual machines service and use it to find the virtual
# machine:
vms_service = connection.system_service.vms_service
vm = vms_service.list(search: 'name=myvm')[0]
# Locate the service that manages the disk attachments of the virtual
# machine:
disk_attachments_service = vms_service.vm_service(vm.id).disk_attachments_service
# Use the "add" method of the disk attachments service to add the disk.
# Note that the size of the disk, the `provisioned_size` attribute, is
# specified in bytes, so to create a disk of 10 GiB the value should
# be 10 * 2^30.
disk_attachment = disk_attachments_service.add(
OvirtSDK4::DiskAttachment.new(
disk: {
name: 'mydisk',
description: 'My disk',
format: OvirtSDK4::DiskFormat::COW,
provisioned_size: 10 * 2**30,
storage_domains: [{
name: 'mydata'
}]
},
interface: OvirtSDK4::DiskInterface::VIRTIO,
bootable: false,
active: true
)
)
# Wait until the disk status is OK:
disks_service = connection.system_service.disks_service
disk_service = disks_service.disk_service(disk_attachment.disk.id)
loop do
sleep(5)
disk = disk_service.get
break if disk.status == OvirtSDK4::DiskStatus::OK
end
詳細は、DiskAttachmentsService:add を参照してください。