Show Table of Contents
2.15. 例: Python を使用した仮想マシンのストレージディスクの作成
新規作成した仮想マシンが永続的なストレージに確実にアクセスできるようにするには、ディスクを作成してアタッチする必要があります。
例2.14 Python を使用した仮想マシンストレージの作成
以下の Python の例は、8 GB の
上記のオプションは、仮想マシンの
virtio ディスクドライブを作成し、vm1 という名前の仮想マシンにアタッチします。この例のディスクは、以下の条件を満たしている必要があります。
data1という名前のストレージドメイン上に格納されること。disk_storage_domain = params.StorageDomains(storage_domain=[api.storagedomains.get(name="data1")])
- サイズは 8 GB とすること。
disk_size = 8*1024*1024
- ディスクタイプは、(
dataではなく)systemタイプであること。disk_type = "system"
virtioストレージデバイスであること。disk_interface = "virtio"
cowフォーマットで格納されること。disk_format = "cow"
- 使用可能なブートデバイスとしてマークされること。
disk_bootable = True
disks コレクションの add メソッドを使用してディスク自体を作成する前に、ディスクパラメーターオブジェクトに組み込みます。
from ovirtsdk.api import API
from ovirtsdk.xml import params
try:
api = API (url="https://HOST",
username="USER@DOMAIN",
password="PASS",
ca_file="ca.crt")
vm = api.vms.get(name="vm1")
sd = params.StorageDomains(storage_domain=[api.storagedomains.get(name="data1")])
disk_size = 8*1024*1024
disk_type = "system"
disk_interface = "virtio"
disk_format = "cow"
disk_bootable = True
disk_params = params.Disk(storage_domains=sd,
size=disk_size,
type_=disk_type,
interface=disk_interface,
format=disk_format,
bootable=disk_bootable)
try:
d = vm.disks.add(disk_params)
print "Disk '%s' added to '%s'." % (d.get_name(), vm.get_name())
except Exception as ex:
print "Adding disk to '%s' failed: %s" % (vm.get_name(), ex)
api.disconnect()
except Exception as ex:
print "Unexpected error: %s" % exadd 要求が成功した場合には、スクリプトにより以下のような出力が表示されます。
Disk 'vm1_Disk1' added to 'vm1'.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.