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

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

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

表 1. 可用于所有命令步骤的环境变量
名称 示例
VMware_RecoveryName 正在运行的恢复计划的名称。 计划 A
VMware_RecoveryMode 恢复模式。 测试或恢复
VMware_VC_Host 恢复站点中 vCenter Server 的主机名。 vc_hostname.example.com
VMware_VC_Port 用于访问 vCenter Server 的网络端口。 443

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

表 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

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

对于 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