Show Table of Contents
2.9. 例: Python を使用した NFS データストレージの作成
Red Hat Virtualization 環境の初回作成時には、少なくともデータストレージドメインを 1 つと ISO ストレージドメインを 1 つ定義する必要があります。データストレージドメインは、仮想マシンのディスクイメージを格納するのに使用する一方、ISO ストレージドメインはゲストオペレーティングシステムのインストールメディアを格納するのに使用します。
API クラスは、storagedomains という名前のストレージドメインコレクションへのアクセスを提供します。このコレクションには、環境内の全ストレージドメインが含まれています。storagedomains コレクションはストレージドメインの追加と削除に使用することができます。
注記
以下の例に記載したコードは、リモートの NFS 共有が Red Hat Virtualization 用に事前設定済みであることを前提としています。NFS 共有の使用準備に関する詳しい説明は、『Red Hat Virtualization 管理ガイド』を参照してください。
例2.8 Python を使用した NFS データストレージの作成
以下の Python の例は、NFS データドメインを
storagedomains コレクションに追加します。Python を使用した NFS ストレージドメイン追加は以下のような手順で行います。
datacentersコレクションのgetメソッドを使用して、ストレージをアタッチする必要のあるデータセンターを特定します。dc = api.datacenters.get(name="Default")
hostsコレクションのgetメソッドを使用して、ストレージのアタッチに使用する必要のあるホストを特定します。h = api.hosts.get(name="Atlantic")
- NFS ストレージドメインの
Storageパラメーターを定義します。以下の例では、NFS の場所に192.0.43.10/storage/dataを使用しています。s = params.Storage(address="192.0.43.10", path="/storage/data", type_="nfs")
storagedomainsコレクションのaddメソッドを使用して、ストレージドメイン作成を要求します。Storageパラメーターに加えて、以下の情報をすべて渡す必要があります。- ストレージドメインの名前
datacentersコレクションから取得したデータセンターオブジェクトhostsコレクションから取得したホストオブジェクト- 追加するストレージドメインのタイプ (
data、iso、またはexport) - 使用するストレージフォーマット (
v1、v2、またはv3)。
これらの手順を組み合わせた完全なスクリプトは以下のようになります。
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")
dc = api.datacenters.get(name="Default")
h = api.hosts.get(name="Atlantic")
s = params.Storage(address="192.0.43.10", path="/storage/data", type_="nfs")
sd_params = params.StorageDomain(name="data1", data_center=dc, host=h, type_="data", storage_format="v3", storage=s)
try:
sd = api.storagedomains.add(sd_params)
print "Storage Domain '%s' added (%s)." % (sd.get_name())
except Exception as ex:
print "Adding storage domain failed: %s" % ex
api.disconnect()
except Exception as ex:
print "Unexpected error: %s" % exadd メソッド呼び出しが成功した場合は、スクリプトによって以下のような出力が表示されます。
Storage Domain 'data1' added (bd954c03-d180-4d16-878c-2aedbdede566).

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.