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 Server 用於唯一識別此虛擬機器的 UUID。 4212145a-eeae-a02c-e525-ebba70b0d4f3
VMware_VM_Name 此虛擬機器的名稱,如在受保護站台上所設定。 我的新虛擬機器
VMware_VM_Ref 虛擬機器的受管理物件識別碼。 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 上執行的命令

對於 Site Recovery Manager Appliance,您可以建立具有下列內容的 myServerScript.sh 指令碼。
clear
echo "$(date "+%Y-%m-%d %H:%M:%S") : Recovery Plan $VMware_RecoveryName ran in $VMware_RecoveryMode mode"
# some more custom actions
備註: 在指令碼中撰寫命令時,請勿使用分隔號 (|) 和單引號 (') 符號。
若要執行 myServerScript.sh 指令碼,請使用下列命令內容。
/bin/sh /home/admin/myServerScript.sh
無法在 Azure VMware Solution 上的 Site Recovery Manager Server 上執行命令。

在復原的虛擬機器上執行的命令內容

針對 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/sh myGuestScript.sh &>$VMware_GuestOp_OutputFile