Site Recovery Manager 可提供在自定义恢复步骤的命令中可以使用的环境变量。

Site Recovery Manager Server 上的命令步骤以 Site Recovery Manager 服务帐户的身份运行。在默认配置中,已恢复虚拟机上的命令步骤以 VMware Tools 服务帐户的身份运行。您可以更改与 recovery.autoDeployGuestAlias 设置兼容的虚拟机默认配置。有关 recovery.autoDeployGuestAlias 设置的信息,请参见更改恢复设置

Site Recovery Manager 仅在命令步骤的持续期间设置环境变量。完成此命令后,Site Recovery Manager Server 和已恢复虚拟机的客户机操作系统中都不会存在特定的环境变量。

表 1. 可用于所有命令步骤的环境变量

名称

示例

VMware_RecoveryName

正在运行的恢复计划的名称。

计划 A

VMware_RecoveryMode

恢复模式。

测试或恢复

VMware_VC_Host

恢复站点中 vCenter Server 的主机名。

vc_hostname.example.com

VMware_VC_Port

用于访问 vCenter Server 的网络端口。

443

Site Recovery Manager 使附加环境变量可用于在 Site Recovery Manager Server 或已恢复虚拟机上运行的每个虚拟机命令步骤。

表 2. 可用于每个虚拟机命令步骤的环境变量

名称

示例

VMware_VM_Uuid

vCenter 唯一标识此虚拟机时使用的 UUID。

4212145a-eeae-a02c-e525-ebba70b0d4f3

VMware_VM_Name

在受保护站点中设置的此虚拟机的名称。

我的新虚拟机

VMware_VM_Ref

虚拟机的受管对象 ID。

vm-1199

VMware_VM_GuestName

VIM API 定义的客户机操作系统的名称。

otherGuest

VMware_VM_GuestIp

虚拟机的 IP 地址(如果已知)。

192.168.0.103

VMware_VM_Path

此虚拟机 VMX 文件的路径。

[datastore-123] jquser-vm2/jquser-vm2.vmx

表 3. 在已恢复虚拟机上运行每个虚拟机命令步骤时可用的环境变量

名称

值与描述

示例

VMware_GuestOp_OutputFile

该值为命令输出文件的路径。

如果命令可以创建文件,Site Recovery Manager 会下载该文件的内容,并将其作为结果添加到恢复计划历史记录和服务器日志。

Site Recovery Manager 会将命令输出文件的最后 4 KB 添加到恢复计划历史记录和服务器日志。如果脚本生成的输出大于 4 KB,则该输出必须记录在自定义位置。

命令完成后,Site Recovery Manager 将删除命令输出文件。

C:\Windows\TEMP\vmware0\srmStdOut.log

可在 Site Recovery Manager 上运行的命令

您可以创建包含以下内容的 myServerScript.bat 文件。

@echo off
echo %DATE% %TIME% : Recovery Plan %VMware_RecoveryName% ran in %VMware_RecoveryMode% mode
:: some more custom actions

要运行 myServerScript.bat 文件,请使用以下命令内容。

C:\Windows\System32\cmd.exe /c C:\myScripts\myServerScript.bat > %VMware_GuestOp_OutputFile% 2>&1

在已恢复虚拟机上运行的命令内容

对于 Windows 客户机操作系统,可以创建包含以下内容的 myGuestScript.bat 文件。

@echo off
echo %DATE% %TIME% : VM %VMware_VM_Name% recovered by RP %VMware_RecoveryName% ran in %VMware_RecoveryMode% mode
echo %DATE% %TIME% : Configured with the following FQDN: %VMware_VM_GuestName% and IP: %VMware_VM_GuestIp%
:: some more custom actions

要运行 myGuestScript.bat,请使用以下命令内容。

C:\Windows\System32\cmd.exe /c C:\myScripts\myGuestScript.bat > %VMware_GuestOp_OutputFile% 2>&1

对于 Linux 或 Unix 客户机操作系统,可以创建包含以下内容的 myGuestScript.sh 文件。

echo $(date) : VM $VMWare_VM_Name recovered by $VMWare_RecoveryName ran
echo $(date) : Configured with the following FQDN: $VMWare_VM_GuestName and IP: $VMWare_VM_GuestIp
# some more custom actions

要运行 myGuestScript.sh 文件,请使用以下命令内容。

/bin/bash myGuestScript.sh &>$VMWare_GuestOp_OutputFile