2.9. 示例:使用 Python 创建 NFS 数据存储


当首次创建 Red Hat Virtualization 环境时,需要至少定义数据存储域和 ISO 存储域。数据存储域将用于存储虚拟磁盘映像,而 ISO 存储域则用于存储客户机操作系统的安装介质。
API 类提供对名为 storagedomains 的存储域集合的访问。此集合包含环境中的所有存储域。storagedomains 集合也可用于添加和删除存储域。
注意
本例中提供的代码假定已预先配置了远程 NFS 共享以用于 Red Hat Virtualization。有关准备 NFS 共享以供使用的更多信息,请参阅 Red Hat Virtualization 管理指南

例 2.8. 使用 Python 创建 NFS 数据存储

这个 Python 示例在 storagedomains 集合中添加了一个 NFS 数据域。在 Python 中添加 NFS 存储域可分为几个步骤:
  1. 使用数据中心集合的 get 方法来识别必须附加存储 的数据中心
    dc = api.datacenters.get(name="Default")
  2. 使用 get 方法识别必须用于附加存储 的主机
    h = api.hosts.get(name="Atlantic")
  3. 定义 NFS 存储域的存储参数。在本例中,使用 NFS 位置 192.0.43.10/storage/data
    s = params.Storage(address="192.0.43.10", path="/storage/data", type_="nfs")
  4. 使用 storagedomains 集合的 add 方法,请求创建存储域。除了 存储 参数外,还需要通过:
    • 存储域的名称。
    • 从数据中心集合中检索 的数据中心 对象。
    • 从主机集合检索 的主机 对象。
    • 正在添加的存储域类型(数据iso导出)。
    • 要使用的存储格式(v1、 v2v3)。
合并这些步骤后,完成的脚本为:
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" % ex
如果 add 方法调用成功,则脚本将输出:
Storage Domain 'data1' added (bd954c03-d180-4d16-878c-2aedbdede566).
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部