本規劃指南說明Google Cloud的 SAP 專用代理程式提供的磁碟快照功能。如要瞭解其他功能,請參閱 Google Cloud的 SAP 規劃指南。
磁碟快照功能可讓您為在 Compute Engine 執行個體上執行的 SAP HANA 系統執行備份和復原作業。
這項功能的可用性會因 SAP HANA 部署作業的架構和磁碟設定而異:
- 對於使用單一磁碟主機
/hana/data
磁碟的 SAP HANA 向上擴充系統,這項功能已正式發布 (GA)。 - 對於使用分條磁碟來主控
/hana/data
磁碟區的 SAP HANA 擴充系統,以及不使用主機自動容錯移轉解決方案的 SAP HANA 向外擴充系統,這項功能可做為預先發布功能提供。如需瞭解詳情,請與客戶服務團隊聯絡。
這項功能已整合 SAP HANA 的資料快照功能,可讓您使用主控 /hana/data
磁碟區的標準或封存快照,備份及復原 SAP HANA 資料庫。
如要瞭解如何使用代理程式這項功能備份及復原 SAP HANA,請參閱「使用磁碟快照備份及復原 SAP HANA」。
每月預估費用
您建立的標準快照會產生費用。如需定價資訊,請參閱「磁碟快照」。
如要預估使用磁碟快照做為 SAP HANA 資料磁碟區備份的每月費用,您可以使用 Google Cloud Pricing Calculator。請參考下列資訊,協助您更準確地估算費用:
- 初始磁碟快照的預估完整大小。
- 每個後續磁碟快照的預估差異大小。
- 快照頻率。舉例來說,如果您每天建立一組快照,則快照頻率為 24 小時。
- 快照保留時間。
- 快照儲存空間冗餘:單一區域或多區域。
- 透過網路進行的區域內和跨區域資料移轉預估費用。舉例來說,如果您建立或還原的標準快照群組儲存在與來源磁碟不同的地方,可能會產生網路費用。
限制
使用 Google Cloud的 SAP 代理程式磁碟快照功能時,備份及復原 SAP HANA 時會受到下列限制:
- 您無法將代理程式的磁碟快照功能用於 SAP HANA 向外擴充主機自動容錯移轉部署作業。詳情請參閱「使用快照與橫向擴展部署作業」。
- 您必須確保
/hana/data
的音量符合下列條件:- 並託管在一或多個以 SSD 為基礎的 Persistent Disk 或 Hyperdisk 磁碟區。這些磁碟不得代管其他 SAP HANA 磁碟區。如 SAP 注意事項 2039883 - 常見問題:SAP HANA 資料庫和資料快照 (儲存空間快照)所述,為了能夠復原 SAP HANA 資料庫,儲存空間快照不得包含資料庫的記錄區。
- 並會對應至邏輯磁碟區。這可讓代理程式在磁碟快照備份或復原作業期間,正確處理掛載點。
- 如果您使用多個磁碟來代管
/hana/data
磁碟區,則只有在底層磁碟為 Hyperdisk 磁碟區時,您才能使用代理程式這項功能。
- 如果您是使用基礎架構即程式碼 (IaC) 工具 (例如 Terraform) 部署 SAP HANA 系統,代理程式可以建立快照式備份,但無法執行復原作業。詳情請參閱使用快照與 IaC 工具為基礎的部署作業。
- 您必須使用在託管 SAP HANA 資料庫的相同 Compute Engine 執行個體上執行的代理程式執行個體,執行備份和復原作業。您無法使用在其他 Compute Engine 執行個體上執行的代理程式執行個體。
- 如要備份及復原 SAP HANA 資料庫,您必須授予
sudo
特定作業系統指令的存取權,方法是提供 root 存取權或使用適當的sudo
群組。詳情請參閱「設定權限」。
如要瞭解 Compute Engine 磁碟快照的一般限制,請參閱「限制」一節。
所需權限
如要讓 Google Cloud的 SAP 代理程式使用磁碟快照備份及復原 SAP HANA 資料庫,您必須設定以下項目的權限:
- Google Cloud 您執行 SAP HANA 系統的專案。
- 在作業系統中執行代理程式指令的使用者,可能是 SAP HANA 作業系統使用者,也可能是您自己的使用者。
- 代理程式使用的 SAP HANA 資料庫使用者。
如要瞭解必須授予的權限,請參閱「設定權限」。
建立以磁碟快照為基礎的備份
如要使用Google Cloud的 SAP 代理程式,為 SAP HANA 建立以磁碟快照為基礎的備份,請執行代理程式的 hanadiskbackup
指令。如需相關資訊,請參閱「使用磁碟快照備份及復原 SAP HANA」。
在單一磁碟上使用 /hana/data
進行擴充
下列流程圖顯示,當 /hana/data
磁碟區位於單一磁碟上時,代理程式為 SAP HANA 向上擴充系統建立磁碟快照式備份的步驟:
代理程式的磁碟快照功能如何為使用單一磁碟主機 /hana/data
磁碟區的 SAP HANA 向上擴充系統建立備份:
執行 hanadiskbackup
指令後,代理程式會執行以下操作:
- 驗證提供給
hanadiskbackup
指令的所有輸入引數。 - 使用提供給
hanadiskbackup
指令的輸入內容,連線至 SAP HANA 資料庫。 - 確認沒有現有的快照。
如果代管
/hana/data
磁碟的磁碟有任何現有快照,且您未使用hanadiskbackup
指令指定abandon-prepared=TRUE
,則代理程式會退出這個程序,且不會建立備份。接著,您需要手動檢查並重新執行hanadiskbackup
指令。 - 通知 SAP HANA 快照建立作業已開始。
- 建立代管
/hana/data
目錄的 Persistent Disk 或 Hyperdisk 磁碟區的快照。 - 通知 SAP HANA 快照建立作業已成功。
在多個磁碟上使用 /hana/data
進行向上調整
下列流程圖顯示,當 /hana/data
磁碟區位於多個磁碟上時,代理程式為 SAP HANA 向上擴充系統建立磁碟快照備份的步驟:
代理程式的磁碟快照功能如何為使用條紋磁碟來主機 /hana/data
磁碟區的 SAP HANA 向上擴充系統建立備份:
執行 hanadiskbackup
指令後,代理程式會執行以下操作:
- 驗證提供給
hanadiskbackup
指令的所有輸入引數。 - 使用提供給
hanadiskbackup
指令的輸入內容,連線至 SAP HANA 資料庫。 - 找出代管
/hana/data
磁碟區的磁碟。從代理程式 3.7 版開始,如果您指定-source-disks
引數,代理程式就會略過這項檢查。 - 驗證所有代管
/hana/data
磁碟區的磁碟都屬於同一個一致性群組 (CG)。 - 驗證 SAP HANA 資料庫中沒有現有的快照備份。
如果資料庫有快照式備份,且您未使用
hanadiskbackup
指令指定abandon-prepared=TRUE
,則代理程式會退出這個程序,且不會建立備份。接著,您需要手動檢查並重新執行hanadiskbackup
指令。 - 通知 SAP HANA 快照建立作業已開始。
- 使用 SAP HANA HDBSQL 建立 SAP HANA 資料庫的快照。
- 為代管
/hana/data
磁碟區的磁碟建立即時快照群組。 - 將所有即時快照轉換為標準快照或封存快照。
根據預設,代理程式會建立標準快照。您可以選擇使用
hanadiskbackup
指令指定snapshot-type=ARCHIVE
,藉此建立封存快照。 - 刪除即時快照群組。
- 通知 SAP HANA 已成功建立快照備份。
向外擴充 (不含主機自動容錯移轉)
以下流程圖顯示 Google Cloud的 SAP 代理程式為不使用主機自動容錯移轉解決方案的 SAP HANA 向外擴充系統,建立磁碟快照備份的步驟:
代理程式的磁碟快照功能如何為不使用主機自動容錯移轉解決方案的 SAP HANA 向外擴充系統建立備份:
執行 hanadiskbackup
指令後,代理程式會執行以下操作:
- 驗證提供給
hanadiskbackup
指令的所有輸入引數。 - 使用提供給
hanadiskbackup
指令的輸入內容,連線至 SAP HANA 資料庫。 - 驗證所有代管
/hana/data
磁碟區的磁碟都屬於同一個一致性群組 (CG)。 - 驗證 SAP HANA 資料庫中沒有現有的快照備份。
如果資料庫有快照式備份,且您未使用
hanadiskbackup
指令指定abandon-prepared=TRUE
,則代理程式會退出這個程序,且不會建立備份。接著,您需要手動檢查並重新執行hanadiskbackup
指令。 - 通知 SAP HANA 快照建立作業已開始。
- 使用 SAP HANA HDBSQL 建立 SAP HANA 資料庫的快照。
- 為代管
/hana/data
磁碟區的磁碟建立即時快照群組。 - 將所有即時快照轉換為標準快照或封存快照。
根據預設,代理程式會建立標準快照。您可以選擇使用
hanadiskbackup
指令指定snapshot-type=ARCHIVE
,藉此建立封存快照。 - 刪除即時快照群組。
- 通知 SAP HANA 已成功建立快照備份。
如果代理程式無法完成此備份程序中的任何步驟,就會在 SAP HANA 中將快照建立作業標示為 UNSUCCESSFUL
,並退出程序。接著,您需要手動檢查並重新執行 hanadiskbackup
指令。如要瞭解代理程式為何退出備份程序,您可以查看 /var/log/google-cloud-sap-agent/hanadiskbackup.log
檔案中的項目。
建立差異備份
執行 hanadiskbackup
指令時,代理程式會為代管 /hana/data
磁碟分割區的磁碟建立快照。
磁碟快照的優點是採取增量快照,每個後續備份只會儲存增加的區塊變更,而不會建立全新的備份。也就是說,在您使用 Google Cloud的 SAP 代理程式為 SAP HANA 資料庫建立第一個快照式備份後,根據預設,您建立的所有後續快照式備份都會是差異備份。您不需要採取任何其他動作即可建立差異備份。
詳情請參閱「增量標準快照的運作方式」。
加密磁碟快照
根據預設, Google Cloud 中的資料會使用 AES-256 進行靜態加密。這項功能適用於儲存在磁碟和磁碟快照中的資料。或者,您也可以使用客戶管理的加密金鑰 (CMEK) 或客戶提供的加密金鑰 (CSEK) 來加密快照。
您也可以為 /hana/data
磁碟區啟用 SAP HANA 提供的加密功能,藉此實施額外的安全防護機制。如需有關此選項的資訊,請參閱「啟用資料和記錄檔用量加密功能」。
使用磁碟快照復原 SAP HANA 資料
如要使用磁碟快照備份來復原 SAP HANA 資料庫,請執行代理程式的 hanadiskrestore
指令。如要瞭解如何執行這項操作,請參閱「使用磁碟快照備份及復原 SAP HANA」。
使用一個資料磁碟擴充
如果 /hana/data
磁碟區位於單一磁碟上,則下列流程圖會說明如何使用代理程式的磁碟快照功能來復原 SAP HANA 資料庫:
如何使用代理程式的磁碟快照功能復原 SAP HANA 資料庫
如要使用磁碟快照復原 SAP HANA 資料庫,請執行下列操作:
- 執行代理程式的
hanadiskrestore
指令,復原代管/hana/data
磁碟分割區的磁碟。如需操作說明,請參閱「使用磁碟快照備份及復原 SAP HANA」。以下是代理程式使用磁碟快照來復原 SAP HANA 資料磁區的概略程序。上述流程圖顯示這些步驟。
- 驗證提供給
hanadiskrestore
指令的所有輸入引數。 - 停止 SAP HANA。
- 卸載
/hana/data
磁碟區。 - 從主機運算執行個體中卸離代管
/hana/data
磁碟區的磁碟。 - 使用磁碟快照為
/hana/data
磁碟區建立新磁碟。 - 將新磁碟連結至主機運算執行個體。
- 重新掃描 SAP HANA 的磁碟區群組。
- 驗證提供給
- 如要手動還原 SAP HANA 資料庫,請還原至快照時間或特定時間點,如以下各節所述。
使用資料磁碟區條紋擴充
如果 /hana/data
磁碟區位於多個磁碟上,請參閱下列流程圖,瞭解如何使用代理程式的磁碟快照功能來復原 SAP HANA 資料庫:
如何使用代理程式的磁碟快照功能復原 SAP HANA 資料庫
如要使用磁碟快照復原 SAP HANA 資料庫,請執行下列操作:
- 執行代理程式的
hanadiskrestore
指令,復原代管/hana/data
磁碟分割區的磁碟。如要瞭解如何執行這項操作,請參閱「使用磁碟快照備份及復原 SAP HANA」。以下是代理程式使用磁碟快照來復原 SAP HANA 資料磁區的概略程序。上述流程圖顯示這些步驟。
- 驗證提供給
hanadiskrestore
指令的所有輸入引數。 - 停止 SAP HANA。
- 卸載
/hana/data
磁碟區。 - 從主機 Compute Engine 執行個體中,卸除代管
/hana/data
磁碟區的磁碟。 - 從對應的磁碟一致性群組中移除代管
/hana/data
磁碟區的磁碟。 - 篩選與輸入一致性群組相對應的快照。
- 使用來源磁碟快照,為
/hana/data
磁碟區建立新磁碟。 - 將新磁碟連結至主機 Compute Engine 執行個體。
- 將新磁碟新增至磁碟一致性群組。
- 重新掃描 SAP HANA 的磁碟區群組。
- 驗證提供給
- 如要手動還原 SAP HANA 資料庫,請還原至快照時間或特定時間點,如以下各節所述。
向外擴充 (不含主機自動容錯移轉)
下列流程圖顯示如何使用代理程式的磁碟快照功能,在向外擴充部署中復原 SAP HANA 資料庫:
如何使用代理程式的磁碟快照功能,復原未使用主機自動容錯移轉解決方案的 SAP HANA 向外擴充資料庫
如要使用磁碟快照復原 SAP HANA 資料庫,請執行下列操作:
- 在向外擴充部署中的所有節點上,停止 SAP HANA。
- 在橫向擴展部署作業中的所有節點上,卸載
/hana/data
磁碟區。 - 執行代理程式的
hanadiskrestore
指令,復原代管/hana/data
磁碟區的磁碟。如要瞭解如何執行這項操作,請參閱「使用磁碟快照備份及復原 SAP HANA」。以下是代理程式使用磁碟快照來復原 SAP HANA 資料磁區的概略程序。上述流程圖顯示這些步驟。
- 驗證提供給
hanadiskrestore
指令的所有輸入引數。 - 從主機 Compute Engine 執行個體中,卸除代管
/hana/data
磁碟區的磁碟。 - 從對應的磁碟一致性群組中移除代管
/hana/data
磁碟區的磁碟。 - 篩選與輸入一致性群組相對應的快照。
- 使用來源磁碟快照,為
/hana/data
磁碟區建立新磁碟。 - 將新磁碟連結至主機 Compute Engine 執行個體。
- 將新磁碟新增至磁碟一致性群組。
- 驗證提供給
- 重新掃描 SAP HANA 的磁碟區群組。
- 還原 SAP HANA 資料庫至快照時間或特定時間點,如以下各節所述。
如果代理程式無法完成這項程序中的任何步驟,就會退出程序。接著,您需要手動查看並排除問題 (如有必要),然後重新執行 hanadiskrestore
指令。如要瞭解代理程式為何退出資料庫復原程序,您可以查看 /var/log/google-cloud-sap-agent/hanadiskrestore.log
檔案中的項目。
將 SAP HANA 復原至特定時間點
如要將 SAP HANA 資料庫還原至特定時間點,除了託管 /hana/data
磁碟的快照外,您還需要先前為資料庫建立的必要 SAP HANA 差異和記錄備份。
您可以使用代理程式的 Backint 功能,或 SAP HANA 資料庫的檔案系統備份,建立 SAP HANA 記錄備份。
執行復原作業時,如果您指定未來的時間戳記,SAP HANA 資料庫就會復原至最新狀態。
從外部來源復原 SAP HANA
您可以使用為某個 SAP HANA 系統建立的磁碟快照備份,來復原另一個 SAP HANA 系統。您也可以使用這項功能,在不同環境之間移動系統,例如從測試環境移至品質保證環境。
如要進一步瞭解如何執行這項操作,請參閱「執行系統複製或系統重新整理作業」。
在 SAP HANA 部署中使用磁碟快照
以下各節將說明如何使用 Google Cloud的 SAP 代理程式,針對 SAP HANA 擴充系統的備份和復原作業,提供特定情境的規劃資訊:
在 HA 部署中使用快照
在Google Cloud上以高可用性 (HA) 叢集執行的 SAP HANA 擴充系統中,您需要在叢集中的主節點和待命節點上安裝 Google Cloud的 SAP 代理程式。
如要為 SAP HANA HA 系統建立以磁碟快照為基礎的備份,您必須只針對主要節點中的 /hana/data
磁區執行 hanadiskbackup
指令。如果發生容錯移轉事件,您必須在新的主要節點上執行 hanadiskbackup
指令。此外,執行指令時,您必須指定主要節點主機的 SAP HANA 主機名稱或 IP 位址。請勿指定叢集中使用的 SAP HANA 虛擬 IP (VIP)。
執行復原作業時,您可以使用快照式備份,在主要或備用節點中復原主機代管的 /hana/data
磁碟區。您可以將 SAP HANA 資料庫還原至建立磁碟快照的時間,或任何特定時間點。
搭配異地備援部署作業使用快照
針對Google Cloud上災難復原 (DR) 部署中的 SAP HANA 擴充系統,您需要在主要主機和待命主機上安裝 Google Cloud的 SAP 代理程式。
如要為 SAP HANA HA 系統建立以磁碟快照為基礎的備份,您必須只針對主要資料庫執行個體中的 /hana/data
磁區執行 hanadiskbackup
指令。如果您中斷 SAP HANA 系統複製作業,並推升備用資料庫執行個體,則需要在新的主執行個體上執行 hanadiskbackup
指令。
針對 DR 部署作業,您會在主要資料庫執行個體上執行復原作業。您可以將 SAP HANA 資料庫還原至建立磁碟快照的時間,或任何特定時間點。
搭配向外擴充部署作業使用快照
在 Google Cloud的 Agent for SAP 3.6 之前的版本中,Google Cloud的 Agent for SAP 磁碟快照功能與 SAP HANA 向外擴充部署不相容。
從代理程式 3.7 版開始,您可以將磁碟快照功能與不使用主機自動容錯移轉解決方案的 SAP HANA 向外擴充部署搭配使用。
在這種情況下,您可以使用下列選項進行備份和復原作業:
- 使用 Google Cloud 備份和災難復原服務。詳情請參閱「備份 HANA 1+n 和 HANA 擴大資料庫」。
- 使用 Google Cloud的 Agent for SAP 中的 Backint 功能。詳情請參閱「以 Backint 為基礎的 SAP HANA 備份與復原」。
搭配 IaC 工具的部署作業使用快照
Google Cloud的 SAP 代理程式磁碟快照功能,與使用基礎架構即程式碼 (IaC) 工具 (例如 Terraform) 部署的 SAP HANA 系統部分相容。
雖然代理程式可以為這些系統建立快照式備份,但無法用於執行復原作業。這是因為使用代理程式進行快照復原作業時,會重新建立代管 /hana/data
磁碟區的磁碟,這可能會導致 IaC 執行狀態管理時發生衝突或問題。
舉例來說,在您使用代理程式執行復原作業後,當 IaC 工具檢查主機 /hana/data
磁碟區的磁碟狀態時,該工具會嘗試將系統還原至已定義的設定,方法是重新連結先前的磁碟,或是刪除新磁碟並重新建立先前的磁碟。上述任何動作都可能嚴重影響 SAP HANA 資料庫,甚至導致資料庫無法使用。
不過,大多數 IaC 工具都提供工作流程,可讓您修改系統狀態,以便隨時掌握受管理基礎架構的變更。以下是使用 IaC 工具部署 SAP HANA 系統後,可用來復原系統的高階程序:
停止 SAP HANA 資料庫。如需操作說明,請參閱 SAP 文件「啟動及停止 SAP HANA 系統」。
停止代管 SAP HANA 系統的 Compute Engine 執行個體。在 HA 或 DR 部署中,停止所有運算執行個體。如要瞭解如何停止 Compute 執行個體,請參閱「停止 VM」。
在包含 SAP HANA 系統定義的 IaC 設定檔中,修改對應至
/hana/data
磁碟區的磁碟定義,以便使用現有的磁碟快照重新建立磁碟。如果是 HA 或 DR 部署,請針對主要 SAP HANA 節點執行這項操作。舉例來說,如果您是使用 Google Cloud提供的 Terraform 設定部署 SAP HANA 系統,請在
./terraform/modules/sap_hana/main.tf
檔案中加入snapshot
引數,如下所示:# Split data/log/sap disks resource "google_compute_disk" "sap_hana_data_disks" { count = var.use_single_shared_data_log_disk ? 0 : var.sap_hana_scaleout_nodes + 1 name = format("${var.instance_name}-data%05d", count.index + 1) type = local.final_data_disk_type zone = var.zone size = local.data_pd_size snapshot = "hana-SID-snapshot-YYYYMMDD-HHMMSS" project = var.project_id provisioned_iops = local.final_data_iops }
套用修改後的設定。舉例來說,如果您使用的是 Terraform,請執行下列指令:
terraform validate terraform apply
復原 SAP HANA 資料庫。如需操作說明,請參閱「使用磁碟快照還原資料庫」一文。
啟用記錄功能
執行以磁碟快照為基礎的備份與復原作業時,Google Cloud的 SAP 代理程式會分別寫入下列記錄檔:hanadiskbackup.log
和 hanadiskrestore.log
。
這些記錄檔位於主機 Compute Engine 執行個體的 /var/log/google-cloud-sap-agent/
目錄中。
根據預設,系統會在備份和復原作業期間啟用記錄功能。預設的記錄層級為 info
。執行 hanadiskbackup
和 hanadiskrestore
指令時,您可以指定 -loglevel
引數,藉此提高或降低記錄層級。
啟用監控功能
根據預設,每次執行 hanadiskbackup
指令時, Google Cloud的 Agent for SAP 都會將下列指標傳送至 Cloud Monitoring。這項功能由 -send-metrics-to-monitoring
引數控管,其預設值為 TRUE
。
您可以根據這些指標設定快訊,為 SAP HANA 資料庫設定監控功能。您也可以在資訊主頁上查看指標。
下表說明代理程式在快照式備份和復原作業期間會發出的指標:
指標 | 說明 |
---|---|
workload.googleapis.com/sap/agent/hanadiskbackup/status |
指出以磁碟快照為基礎的備份作業是否成功。值 |
workload.googleapis.com/sap/agent/hanadiskbackup/totaltime |
以秒為單位,指出備份作業建立磁碟快照所需的時間,包括將快照上傳至指定 Cloud Storage 值區的時間。 |
workload.googleapis.com/sap/agent/hanadiskbackup/dbfreezetime |
在以磁碟快照為基礎的備份作業期間,SAP HANA 檔案系統凍結的時間 (以秒為單位)。 |
最佳做法
使用磁碟快照備份及復原 SAP HANA 資料庫時,建議您採用下列最佳做法:
- 為資料庫準備其他復原選項。我們強烈建議您設計備份和復原策略,以便結合不同的方法。舉例來說,您可以使用代理程式的磁碟快照功能,搭配使用代理程式的 Backint 功能或檔案系統備份,為 SAP HANA 資料庫建立完整備份。
為
/hana/data
磁碟區和磁碟快照執行一致性檢查。由於系統不會在快照式備份作業期間執行區塊層級完整性檢查,因此建議您定期使用hdbpersdiag
工具執行下列一致性檢查:- 針對
/hana/data
系列叢書執行網頁一致性檢查。此活動需要停機,因為如果有程序正在使用資料卷,例如 SAP HANA 索引伺服器,工具就無法檢查特定資料卷的資料頁面。 - 在 SAP HANA 主機以外的 Compute Engine 執行個體上,部署使用代理程式
hanadiskbackup
指令建立的快照所產生的臨時磁碟,然後對這些磁碟執行一致性檢查。如要瞭解如何執行這項操作,請參閱「驗證快照一致性」。
如要瞭解
hdbpersdiag
工具,請參閱 SAP 文件「執行一致性檢查」。- 針對
執行磁碟快照的維護活動。由於Google Cloud的 Agent for SAP 不會為磁碟快照執行任何維護活動,因此建議您定期查看快照,並執行刪除舊快照等活動。
如要進一步瞭解磁碟快照相關最佳做法,請參閱「Compute Engine 磁碟快照最佳做法」。