快照型備份
NetApp Snapshot 技術是 ONTAP 上 Oracle 資料庫資料保護的基礎。
關鍵值如下:
-
* 簡易性。 * 快照是特定時間點資料容器內容的唯讀複本。
-
* 效率。 * 快照在建立時不需要任何空間。只有在資料變更時才會使用空間。
-
* 管理能力。 * 由於快照是儲存作業系統的原生部分、因此以快照為基礎的備份策略很容易設定和管理。如果儲存系統已開機、就可以開始建立備份。
-
* 擴充性。 * 最多可保留 1024 個檔案和 LUN 的單一容器備份。對於複雜的資料集、可透過一組一致的快照來保護多個資料容器。
-
無論資料是由 1024 個快照保護或沒有快照保護,效能都不會受到影響。
雖然許多儲存廠商都提供快照技術、但 ONTAP 中的 Snapshot 技術是獨一無二的、可為企業應用程式和資料庫環境帶來顯著效益:
-
Snapshot 複本是基礎 Write -Anywhere File Layout ( WAFL )的一部分。它們不是附加技術或外部技術。這簡化了管理、因為儲存系統是備份系統。
-
快照複本不會影響效能、但某些邊緣情況除外、例如當基礎儲存系統填滿的快照中儲存了大量資料時。
-
「一致性群組」一詞通常用於指一組儲存物件,這些物件作為一個一致的資料集合進行管理。特定 AFF 磁碟區的快照構成一致性群組備份。
-
此外,多個 AFF 磁碟區或 ASA LUN / 命名空間可以輕鬆綁定在一起,形成一個一致性群組,並將資料保護原則作為單一單元套用。
ONTAP 快照的可擴充性也優於其他同類技術。客戶可以儲存 5 個、50 個或 500 個快照,而不會影響效能。目前,AFF 磁碟區或 ASA LUN/ 命名空間中允許的最大快照數量為 1024 個。如果需要更長的快照保留時間,可以選擇級聯快照。
因此、保護託管在 ONTAP 上的資料集非常簡單且具有高度擴充性。備份不需要移動資料、因此備份策略可以根據業務需求量身打造、而非限制網路傳輸率、大量磁帶機或磁碟接移區域。
快照是否為備份?
將快照當作資料保護策略使用的常見問題之一、就是「真實」資料和快照資料位於同一個磁碟機上。遺失這些磁碟機將會導致主要資料和備份遺失。
這是一項有效的考量。本機快照是用於日常備份與還原需求、在這方面、快照是備份。在 NetApp 環境中、將近 99% 的還原案例都仰賴快照來滿足最嚴苛的 RTO 需求。
然而、本機快照不應是唯一的備份策略、因此 NetApp 提供 SnapMirror 和 SnapVault 複寫等技術、可快速有效地將快照複寫至一組不同的磁碟機。在架構正確的解決方案中、快照加上快照複寫功能可將磁帶的使用降至最低、甚至是每季歸檔、或完全消除。
快照型備份
使用 ONTAP Snapshot 複本保護資料有許多選項、快照是許多其他 ONTAP 功能的基礎、包括複寫、災難恢復和複製。快照技術的完整說明不在本文件的範圍內、但以下各節提供一般概觀。
建立資料集快照的主要方法有兩種:
-
損毀一致的備份
-
應用程式一致的備份
資料集的損毀一致備份是指在單一時間點擷取整個資料集結構。如果資料集儲存在單一磁碟區中、則程序很簡單;您可以隨時建立 Snapshot 。如果資料集橫跨多個磁碟區、則必須建立一致性群組( CG )快照。建立 CG 快照有多種選項、包括 NetApp SnapCenter 軟體、原生 ONTAP 一致性群組功能、以及使用者維護的指令碼。
當備份點還原足夠時、主要會使用損毀一致的備份。當需要更精細的恢復時、通常需要應用程式一致的備份。
「應用程式一致性」一詞通常是錯誤的。例如、將 Oracle 資料庫置於備份模式稱為應用程式一致的備份、但資料並未以任何方式保持一致或停止。資料會在整個備份過程中持續變更。相反地、大部分的 MySQL 和 Microsoft SQL Server 備份確實會在執行備份之前先將資料關閉。VMware 可能會或可能不會使某些檔案一致。
一致性群組
術語「一致性群組」是指儲存陣列將多個儲存資源視為單一映像來管理的能力。例如、資料庫可能包含 10 個 LUN 。陣列必須能夠以一致的方式備份、還原及複寫這 10 個 LUN 。如果 LUN 的映像在備份時不一致、則無法還原。複寫這 10 個 LUN 需要所有複本彼此完全同步。
ONTAP 一直能夠擷取一致的本機資料映像和複製資料映像。儘管 ONTAP AFF/FAS 系統上的各個磁碟區通常不會被正式描述為一致性群組,但它們實際上就是一致性群組。此磁碟區的快照就是一致性群組映像,而對此快照的還原就是一致性群組還原,SnapMirror 和 SnapVault 都提供一致性群組複寫功能。
AFF 系統也包含更廣泛的一致性群組類型。在 ONTAP 中,可以將多個磁碟區定義為一個 CG。然後可以在 CG 層級設定快照、複本和複寫。這簡化了資料保護策略,因為它允許對資料集(而不僅僅是單一磁碟區或 LUN)設定原則。ASA 系統中也存在 CG。可以將多個 LUN 或命名空間綁定到一個 CG,然後可以使用快照保護該 CG,並對其進行複寫、還原或複製。
一致性群組快照
一致性群組(CG)快照是基本 ONTAP Snapshot 技術的延伸。標準快照作業會在單一 AFF/FAS 磁碟區或 ASA LUN/命名空間內建立所有資料的一致映像,但有時需要跨多個儲存資源、甚至跨多個儲存系統建立一組一致的快照。結果是一組快照,可以像單一個別磁碟區的快照一樣使用。它們可用於本機資料還原、複寫以用於災難恢復目的,或複製為單一一致單元。
CG 快照具有極佳的可擴充性。目前已知最大的 CG 快照應用案例是在一個規模約 1PB、跨越 12 個控制器的資料庫環境。在該系統上建立的 CG 快照已用於備份、還原和複製。
大多數情況下,當資料集跨越 AFF 磁碟區或 ASA LUN / 命名空間,且必須保持寫入順序時,只需定義一個 ONTAP 一致性群組,即可對該群組磁碟區、LUN 或命名空間進行原生管理,從而建立快照。如果使用管理軟體,則該軟體應能偵測到是否需要 CG 快照,並呼叫所需的 API。
在這種情況下、無需瞭解 CG Snapshot 的技術細節。不過、在某些情況下、複雜的資料保護需求需要對資料保護和複寫程序進行詳細控制。自動化工作流程或使用自訂指令碼來呼叫 CG Snapshot API 是其中一些選項。瞭解最佳選項和 CG Snapshot 的角色、需要更詳細地說明技術。
建立一組一致性群組 Snapshot 是一個兩步驟程序:
-
對所有目標 AFF 磁碟區或 ASA LUN/ 命名空間建立寫入隔離。
-
在隔離狀態下建立這些磁碟區、 LUN 或命名空間的快照。
寫入隔離是按順序建立的。這意味著,當在多個儲存目標上建立隔離程序時,序列中第一個物件的寫入 I/O 會被凍結,並持續凍結清單中後續目標上的寫入 I/O。這乍看之下似乎違反了保持寫入順序的要求,但該要求僅適用於在主機上非同步發出且不依賴任何其他寫入操作的 I/O。
例如、資料庫可能會發出許多非同步資料檔案更新、並允許作業系統重新排序 I/O 、並根據其本身的排程器組態完成這些更新。這類 I/O 的順序無法保證、因為應用程式和作業系統已釋出保留寫入順序的要求。
舉個反例,大多數資料庫日誌記錄活動都是同步的。資料庫只有在 I/O 操作得到確認後才會繼續寫入日誌,而這些寫入操作的順序必須保持不變。如果日誌 I/O 操作到達了隔離的 LUN,則不會得到確認,應用程式將阻塞後續的寫入操作。同樣,檔案系統元資料 I/O 通常也是同步的。例如,檔案刪除操作不能遺失。如果一個使用 xfs 檔案系統的作業系統刪除了一個檔案,而用於更新 xfs 檔案系統元資料以移除該檔案引用的 I/O 操作到達了隔離的 LUN,則檔案系統活動將會暫停。這保證了在 CG 操作期間檔案系統的完整性。
在目標上設定好寫入隔離後,即可建立快照。由於目標的狀態從依賴寫入的角度來看已被凍結,因此快照無需完全同時建立。為了防止建立 CG 快照的應用程式出現缺陷,初始寫入隔離包含一個可設定的逾時機制,在設定的秒數後,ONTAP 會自動解除隔離並恢復寫入處理。如果在逾時時間結束前建立了所有快照,則產生的快照集構成一個有效的一致性群組。
相關寫入順序
從技術觀點來看、一致性群組的關鍵在於保留寫入順序、特別是根據寫入順序。例如、寫入 10 個 LUN 的資料庫會同時寫入所有 LUN 。許多寫入都是以非同步方式發出、這表示完成的順序不重要、實際完成的順序會因作業系統和網路行為而異。
某些寫入作業必須存在於磁碟上、資料庫才能繼續進行其他寫入作業。這些關鍵寫入作業稱為「相關寫入」。後續寫入 I/O 則取決於磁碟上是否有這些寫入資料。這 10 個 LUN 的任何快照、恢復或複寫都必須確保相關寫入順序受到保證。檔案系統更新是寫入順序相關寫入的另一個範例。必須保留檔案系統變更的順序、否則整個檔案系統可能會毀損。
策略
以快照為基礎的備份主要有兩種方法:
-
損毀一致的備份
-
受 Snapshot 保護的線上備份
資料庫的當機一致性備份是指在單一時間點擷取整個資料庫結構,包括資料檔案、重做記錄和控制檔案。如果資料庫儲存在單一磁碟區、LUN 或命名空間中,則該程序很簡單;可以隨時建立快照。如果資料庫跨越 AFF 磁碟區或 ASA LUN / 命名空間,則必須建立一致性群組(CG)快照。建立 CG 快照有多種選擇,包括 NetApp SnapCenter 軟體、ONTAP 原生一致性群組功能和使用者維護的指令碼。
當機一致性快照備份主要用於備份點還原即已足夠的情況。在某些情況下可以套用歸檔記錄,但當需要更精細的時間點還原時,線上備份較為理想。
快照型線上備份的基本程序如下:
-
將資料庫放入
backup模式。 -
建立託管資料檔案的所有儲存資源(NFS 匯出、LUN 或 NVMe 命名空間)的快照。
-
結束
backup模式。 -
執行命令
alter system archive log current強制記錄歸檔。 -
建立託管歸檔記錄的所有儲存資源的快照。
此程序會產生一組快照、其中包含備份模式中的資料檔案、以及在備份模式中產生的重要歸檔記錄。這是恢復資料庫的兩項需求。控制檔等檔案也應受到保護、以方便使用、但唯一的絕對需求是保護資料檔案和歸檔記錄。
雖然不同的客戶可能有非常不同的策略、但幾乎所有這些策略最終都是以下列相同原則為基礎。
快照型還原
在為 Oracle 資料庫設計儲存佈局時,首先要決定的是是否使用基於磁碟區的 NetApp SnapRestore(VBSR)技術,這是用於還原 AFF 磁碟區和 ASA LUN/命名空間的基礎技術。
VBSR 允許將資料幾乎立即還原到先前的某個時間點。由於還原操作會丟棄所有資料,因此 VBSR 可能並不適用於所有用例。例如,如果整個資料庫(包括資料檔案、重做日誌和歸檔日誌)儲存在單一 AFF 磁碟區上,並且使用 VBSR 還原該磁碟區,則資料會遺失,因為較新的歸檔日誌和重做日誌資料會被丟棄。ASA 資料存在同樣的問題。如果整個資料庫儲存在單一 ASA 一致性群組中,且該一致性群組還原到較早的狀態,則部分較新的歸檔日誌和重做日誌資料將會遺失。
還原不需要 VBSR。許多資料庫可以使用以檔案為基礎的單一檔案 SnapRestore (SFSR)還原,或只要將快照中的檔案複製回作用中檔案系統即可。
當資料庫非常龐大或需要盡快還原時,VBSR 是首選方案,而使用 VBSR 需要隔離資料檔案。在 NFS 環境中,特定資料庫的資料檔案必須儲存在專用磁碟區中,且這些磁碟區不能被任何其他類型的檔案污染。在 SAN 環境中,資料檔案必須儲存在專用 LUN 或命名空間中。如果使用磁碟區管理器(包括 Oracle Automatic Storage Management [ASM]),磁碟組也必須專用於儲存資料檔案。
透過這種方式隔離資料檔案,可以將其恢復到先前的狀態,而不會損壞其他檔案系統。
AFF Snapshot 保留
對於 AFF SAN 環境中每個包含 Oracle 資料的磁碟區, `percent-snapshot-space`應設為零,因為在 LUN 環境中為 Snapshot 保留空間並無用處。如果分數保留設為 100,則包含 LUN 的磁碟區的 Snapshot 需要磁碟區中有足夠的可用空間(不包括 Snapshot 保留),以吸收所有資料 100% 的變動。如果分數保留設為較低的值,則所需的可用空間會相應減少,但始終不包括 Snapshot 保留。這表示 LUN 環境中的 Snapshot 保留空間被浪費了。
|
|
Snapshot 保留不適用於 ASA 儲存設備。 |
在 NFS 環境中、有兩個選項:
-
設定
percent-snapshot-space根據預期的快照空間使用量。 -
設定
percent-snapshot-space以歸零並統整管理作用中和快照空間使用量。
使用第一個選項、 percent-snapshot-space 設為非零值、通常約 20% 。然後、使用者就會隱藏此空間。不過、此值並不會限制使用率。如果具有 20% 保留的資料庫擁有 30% 的營業額、則快照空間可能會超出 20% 保留空間的範圍、並佔用無保留空間。
將保留設定為 20% 等值的主要優點是驗證某些空間永遠可供快照使用。例如、保留 20% 的 1TB 磁碟區只允許資料庫管理員( DBA )儲存 800GB 的資料。此組態保證至少有 200GB 的空間可供快照使用。
何時 percent-snapshot-space 設為零、則使用者可以使用磁碟區中的所有空間、以提供更好的可見度。DBA 必須瞭解、如果他 / 她看到 1TB 的磁碟區運用快照、則這 1TB 的空間會在使用中資料和 Snapshot 週轉之間共享。
終端使用者之間的選項 1 和選項 2 之間沒有明確的偏好設定。
ONTAP 和第三方快照
Oracle Doc ID 604683.1 說明第三方快照支援的需求、以及備份與還原作業的多種選項。
第三方廠商必須保證公司的快照符合下列要求:
-
快照必須與 Oracle 建議的還原與還原作業整合。
-
快照必須在快照點保持一致的資料庫損毀。
-
快照中的每個檔案都會保留寫入順序。
ONTAP 和 NetApp Oracle 管理產品符合這些要求。