17.3. 镜像上传工具

17.3.1. 镜像上传工具

注意

导出存储域这个概念已过时。存储数据域可以从一个数据中心中分离并导入同一个环境或另外一个环境中的其它数据中心中。虚拟机、浮动虚拟磁盘镜像以及模板可以从导入的存储域中上传到附加到的数据中心中。如需了解更多与导入存储域相关的信息,请参阅 第 7.6 节 “导入存在的存储域”
engine-image-uploader 命令允许您列出导出存储域,把虚拟机的镜像以 OVF 或 OVA 格式上传到一个导出存储域中,从而可以被 Red Hat Virtualization Manager 自动识别。
OVA 是 OVF 文件的 tar 文件。

注意

镜像上传工具只支持由 Red Hat Enterprise Virtualization 产生的、使用 gzip 压缩的 OVF 或 OVA 文件。
OVF 包括了如下结构的 images 和 master 目录:
|-- images
|   |-- [Image Group UUID]
|        |--- [Image UUID (this is the disk image)]
|        |--- [Image UUID (this is the disk image)].meta
|-- master
|   |---vms
|       |--- [UUID]
|             |--- [UUID].ovf

17.3.2. engine-image-uploader 命令的语法

镜像上传命令的基本语法是:
engine-image-uploader [options] list
engine-image-uploader [options] upload [file].[file]...[file]
镜像上传命令支持两个操作 - listupload
  • list 操作会列出镜像可以被上传到的导出存储域。
  • upload 操作把镜像上传到指定的导出存储域中。
当使用这个命令时,需要选择以上操作中的一个。如需进行 upload 操作,还需要指定最少一个本地文件。
engine-image-uploader 还包括了其它一些参数。您可以在 /etc/ovirt-engine/imageuploader.conf 文件中为这些参数设定默认的值。

常规选项

-h, --help
显示镜像上传命令的使用信息。
--conf-file=[PATH]
[PATH] 是这个命令要使用的配置文件。默认的配置文件是 etc/ovirt-engine/imageuploader.conf
--log-file=[PATH]
[PATH] 是命令要写入的日志文件。/var/log/ovirt-engine/ovirt-image-uploader/ovirt-image-uploader-[date].log 是默认的日志文件。
--cert-file=[PATH]
[PATH] 是用来验证引擎的证书。默认是 /etc/pki/ovirt-engine/ca.pem
--insecure
不需要验证引擎。
--quiet
把命令设为“安静”模式,从而把控制台的输出减到最小。
-v, --verbose
把命令设为 verbose 模式,从而可以提供详细的控制台输出信息。
-f, --force
当要上传的源文件的文件名和目标导出域中的文件名相同时,可以使用强制模式,它会使用上传文件强制把目标导出域中的同名文件覆盖。

Red Hat Virtualization Manager 选项

-u [USER], --user=[USER]
指定这个命令所要使用的用户信息。[USER] 的格式为 [username]@[domain]。这个用户必须存在于指定的域中,并可以被 Red Hat Virtualization Manager 识别。
-r [FQDN], --engine=[FQDN]
指定镜像文件将要被上传到的 Red Hat Virtualization Manager 的 IP 地址或全局域名。系统会假设镜像上传程序是从 Red Hat Virtualization Manager 所在的同一个机器上运行的。它的默认值是 localhost:443

导出存储域选项

以下选项指定了镜像要被上传到的导出域。这些选项不能同时使用,您只能使用 -e-n
-e [EXPORT_DOMAIN], --export-domain=[EXPORT_DOMAIN]
把存储域 EXPORT_DOMAIN 设为上传的目标域。
-n [NFSSERVER], --nfs-server=[NFSSERVER]
设置 NFS 路径。[NFSSERVER] 是上传的目标 NFS 服务器。

导入选项

下面的选项可以被用来指定,在把镜像上传到导出域时可以包括上传镜像的哪些属性。
-i, --ovf-id
指定镜像的 UUID 不会被更新。在默认的情况下,这个命令会为上传的镜像产生一个新的 UUID,从而可以避免上传文件的文件名和系统中已经存在的镜像重名的问题。
-d, --disk-instance-id
指定镜像中的每个磁盘的 ID 不会被重新命名。在默认情况下,这个命令会为上传镜像中所包含的磁盘产生一个新的 UUID,从而避免了上传镜像中的磁盘和系统中已经存在的磁盘发生冲突的问题。
-m, --mac-address
指定镜像中不会被删除的网络组件。在默认情况下,这个命令会删除上传镜像中的网络接口卡,从而避免和其它虚拟机已经使用的网卡发生冲突。如果没有使用这个选择,您可以使用管理门户来为新导入的镜像添加网卡,Red Hat Enterprise Virtualization Manager 会确保没有 MAC 地址冲突。
-N [NEW_IMAGE_NAME], --name=[NEW_IMAGE_NAME]
为上传的镜像指定一个新名称。

17.3.3. 创建与镜像上传程序兼容的 OVF 压缩文件

介绍

您可以创建使用 engine-image-uploader 上传的文件。

过程 17.2. 创建与镜像上传程序兼容的 OVF 压缩文件

  1. 使用 Manager 创建一个空的导出域。使用空的导出域可以非常容易地知道哪个目录包括了您的虚拟机。
  2. 把您的虚拟机导出到刚创建的空的导出域。
  3. 登录到作为导出域的存储服务器上,找到 NFS 共享的根并进入挂载点下的子目录。因为您启动时只有一个新的导出域,所以在导出目录下只有一个目录。它包括了 images/master/ 目录。
  4. 运行 tar -zcvf my.ovf images/ master/ 来创建 tar/gzip OVF 文件。
  5. 任何人都可以把这个 OVF 文件(在这个例子中是 my.ovf)通过使用 engine-image-uploader 命令导入到 Red Hat Virtualization Manager 上。
结果

您创建了一个压缩的 OVF 镜像文件。任何人都可以使用 engine-image-uploader 命令来把这个镜像文件上传到 Red Hat Virtualization 环境中。

17.3.4. engine-image-uploader 使用实例

以下例子使用镜像上传工具列出导出域:

例 17.1. 使用镜像上传工具列出导出域

# engine-image-uploader list
Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):
Export Storage Domain Name | Datacenter  | Export Domain Status
myexportdom               | Myowndc    | active
以下是上传 OVF 文件的实例

例 17.2. 使用镜像上传工具上传一个文件

# engine-image-uploader -e myexportdom upload myrhel6.ovf
Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort):