本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AWS Systems Manager 命令文件建立 VSS 快照
您可以使用 AWS Systems Manager 命令文件建立啟用 VSS 的快照。下列內容會介紹可用的命令文件,以及文件用來建立快照的執行期參數。
在您使用任何 Systems Manager 命令文件之前,請確保您已符合所有 必要條件。
Systems Manager VSS 快照文件的參數
建立 VSS 快照的 Systems Manager 文件全部都會使用下列參數,除非另有說明:
- ExcludeBootVolume(字符串,可選)
-
若您建立快照,此設定會從備份程序中排除開機磁碟區。若要從快照中排除開機磁碟區,ExcludeBootVolume請
True
將開機磁碟區設定CreateAmi為和False
。如果您為備份建立 AMI,則應將此參數設定為
False
。此參數的預設值為False
。 - NoWriters(字符串,可選)
-
若要從快照程序中排除應用程式 VSS 寫入程式,請將此參數設定為
True
。排除應用程式 VSS 寫入程式有助於您解決與第三方 VSS 備份元件的衝突。此參數的預設值為False
。 - CopyOnly(字符串,可選)
-
如果除了 AWS VSS 之外還使用原生 SQL Server 備份,則執行僅複製備份可防止 AWS VSS 中斷原生差異備份鏈結。若要執行僅限複製備份操作,請將此參數設定為
True
。此參數的預設值為
False
,這會導致 AWS VSS 執行完整備份作業。 - CreateAmi(字符串,可選)
-
若要建立啟用 VSS 的 Amazon Machine Image (AMI) 來備份您的執行個體,請將此參數設定為
True
。此參數的預設值為False
,因此會改為使用 EBS 快照備份您的執行個體。如需從執行個體建立 AMI 的詳細資訊,請參閱創建一個 Amazon EBS-backed AMI。
- AmiName(字符串,可選)
-
如果選CreateAmi項設定為
True
,請指定備份建立的 AMI 名稱。 - description (字串,選用)
-
指定此程序所建立之快照或映像的描述。
- tags (字串,選用)
-
我們建議您為快照和映像加上標籤,以協助您尋找和管理資源,例如從快照清單還原磁碟區。系統會新增
Name
金鑰,其中有一個空白值,您可以在其中指定要套用至輸出快照或影像的名稱。如果要指定其他標籤,請在兩者之間以分號分隔標籤。例如
Key=Environment,Value=Test;Key=User,Value=TestUser1
。依預設,系統會為啟用 VSS 的快照和映像新增下列保留標記。
-
裝置 — 對於啟用 VSS 的快照,這是快照擷取之 EBS 磁碟區的裝置名稱。
-
AppConsistent— 此標籤表示已成功建立啟用 VSS 的快照或 AMI。
-
AwsVssConfig— 這會識別在啟用 VSS 的情況下建立的快照和 AMI。該標籤包括元信息,例如
AwsVssComponents
版本。
警告
在參數清單中指定這些保留標籤中的任何一個都會導致錯誤。
-
- executionTimeout (字串,選用)
-
指定在執行個體上執行快照建立程序或從執行個體建立 AMI 的時間上限 (以秒為單位)。增加此逾時時間可讓命令等待更長時間,使 VSS 開始凍結並完成標記其建立的資源。此逾時僅適用於快照或 AMI 建立步驟。安裝或更新
AwsVssComponents
套件的初始步驟不包含在逾時中。 - CollectDiagnosticLogs(字符串,可選)
-
若要在快照和 AMI 建立步驟期間收集更多資訊,請將此參數設定為
True
""。此參數的預設值為 "False
"。合併的診斷記錄會以.zip
格式封存格式儲存在執行個體的下列位置:C:\ProgramData\Amazon\AwsVss\Logs\
timestamp
.zip - VssVersion(字符串,可選)
-
在使用
AWSEC2-VssInstallAndSnapshot
文件的情況下,您可以指定VssVersion
參數以在執行個體上安裝特定版本的AwsVssComponents
套件。將此參數保留空白,以安裝建議的預設版本。如果已安裝指定版本的
AwsVssComponents
套件,則指令碼會略過安裝步驟,並繼續進行備份步驟。如需AwsVssComponents
套件版本和操作支援的清單,請參閱AWS VSS 解決方案版本歷史。
執行 Systems Manager VSS 快照命令文件
您可以使用命令文件建立啟用 VSS 的 EBS 快照,如下所 AWS Systems Manager 示。
當您使用執 AWS Systems Manager 行AWSEC2-VssInstallAndSnapshot
文件時,指令碼會執行下列步驟。
-
該指令碼會先在執行個體上安裝或更新
AwsVssComponents
套件,具體取決於是否已安裝執行個體。 -
指令碼會在完成第一個步驟後,建立應用程式一致快照。
若要執行 AWSEC2-VssInstallAndSnapshot
文件,請依照適用於您偏好之環境的步驟執行。
若要執行 AWSEC2-CreateVssSnapshot
文件,請依照適用於您偏好之環境的步驟執行。
可以使用上一節所述的任何命令列程序來建立具備 VSS 功能的快照。命令文件 (AWSEC2-VssInstallAndSnapshot
或 AWSEC2-CreateVssSnapshot
) 必須在叢集中的主節點上執行。次要節點上的文件將會失敗,因為其無法存取共用磁碟。如果您的主要和次要動態變更,您可以在多個節點上 AWS Systems Manager 執行 Run Command 文件,並期望指令在主要節點上成功並在次要節點上失敗。
您可使用下列指令碼和預先定義的 AWSEC2-ManageVssIO
SSM 文件,以暫時暫停 I/O、建立具備 VSS 功能的 EBS 快照,然後重新啟動 I/O。系統會在執行命令的使用者內容中執行此程序。如果使用者有足夠的權限來建立和標記快照,則 AWS Systems Manager 可以建立並標記啟用 VSS 的 EBS 快照,而不需要執行個體上的其他 IAM 快照角色。
相對的,命令文件 (AWSEC2-VssInstallAndSnapshot
或 AWSEC2-CreateVssSnapshot
) 會要求您將 IAM 快照角色指派給每個執行個體,以便為這些執行個體建立 EBS 快照。如果您出於政策或法規因素,不願提供其他 IAM 許可給執行個體使用,則可利用下列指令碼。
開始之前
請注意以下與此程序相關的重要詳細資訊:
-
此程序會使用指 PowerShell 令碼 (
CreateVssSnapshotAdvancedScript.ps1
),為您指定的執行個體上的所有磁碟區建立快照,但根磁碟區除外。您必須使用AWSEC2-CreateVssSnapshot
SSM 文件,才能擷取根磁碟區的快照。 -
指令碼會呼叫
AWSEC2-ManageVssIO
文件兩次。第一次呼叫時,該指令碼會將Action
參數設定為Freeze
,這會暫停執行個體上的所有 I/O。第二次呼叫時,Action
參數的設定會變更為Thaw
,讓系統能強制恢復 I/O。 -
請勿在未使用 CreateVssSnapshotAdvancedScript .ps1 指令碼的情況下嘗試使用
AWSEC2-ManageVssIO
文件。Microsoft 的 VSS 框架要求Freeze
和Thaw
動作的呼叫時間相差不得超過 10 秒鐘。此外,在未使用指令碼的情況下手動呼叫這些動作,可能會導致錯誤。
使用 AWSEC2-ManageVssIO
SSM 文件建立具備 VSS 功能的 EBS 快照
-
下載 CreateVssSnapshotAdvancedScript.zip 檔案並解壓縮檔案內容。
-
CreateVssSnapshotAdvancedScript.ps1
在文字編輯器中開啟,使用有效的 EC2 執行個體 ID、快照說明和所需標籤值編輯指令碼底部的範例呼叫,然後從中執行指令碼 PowerShell。
如果操作成功,該命令就會將新快照填入 EBS 快照清單中。您可以搜尋指定的標記,或是搜尋 AppConsistent
,藉此在 EBS 快照清單中找到這些快照。如果命令執行失敗,請檢視 命令輸出的詳細資訊,以了解執行失敗的原因。若命令執行成功,但無法備份特定磁碟區,則您可以在 EBS 磁碟區清單中進行疑難排解。
注意
若要自動備份,您可以建立使用AWSEC2-VssInstallAndSnapshot
文件的 AWS Systems Manager 維護時段工作。如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的 使用維護時段 Windows (主控台)。