備份第 7 部分:結論

備份第 7 部分:結論

本說明完成了有關備份的循環。 它將討論專用伺服器(或 VPS)的邏輯組織,方便備份,並且還將提供從備份快速恢復伺服器的選項,而在災難發生時無需太多停機時間。

初始數據

專用伺服器通常至少有兩個硬碟驅動器,用於組織第一級 RAID 陣列(鏡像)。 這是在一個磁碟發生故障時能夠繼續運行伺服器所必需的。 如果這是一台常規的專用伺服器,則SSD上可能有一個具有主動快取技術的單獨的硬體RAID控制器,這樣除了常規硬碟之外,還可以連接一個或多個SSD。 有時提供專用伺服器,其中唯一的本機磁碟是SATADOM(小磁碟,結構上是連接到SATA連接埠的閃存驅動器),甚至是連接到特殊內部連接埠的普通小型(8-16GB)閃存驅動器,並且資料從存儲系統中取出,透過專用儲存網路(乙太網路10G、FC等)連接,並且有專用伺服器直接從儲存系統載入。 我不會考慮這樣的選擇,因為在這種情況下,備份伺服器的任務會順利傳遞給維護儲存系統的專家;通常有各種專有技術用於建立快照、內建重複資料刪除和系統管理員的其他樂趣,在本系列的前面部分中討論過。 專用伺服器的磁碟陣列的容量可以達到數十TB,具體取決於連接到伺服器的磁碟的數量和大小。 就 VPS 而言,容量較小:通常不超過 100GB(但也有更多),而且此類 VPS 的資費很容易比同一託管商的最便宜的專用伺服器更貴。 VPS 通常只有一個磁碟,因為它下面會有一個儲存系統(或超融合系統)。 有時,VPS 具有多個具有不同特性的磁碟,用於不同的目的:

  • 小型系統-用於安裝作業系統;
  • 大 - 儲存用戶資料。

當您使用控制面板重新安裝系統時,包含使用者資料的磁碟不會被覆蓋,但係統磁碟會完全重新填入。 此外,對於 VPS,託管商可能會提供一個按鈕來拍攝 VPS(或磁碟)狀態的快照,但如果您安裝自己的作業系統或忘記在 VPS 內啟動所需的服務,則某些的資料可能仍會遺失。 除了按鈕之外,通常還提供資料儲存服務,但通常非常有限。 通常,這是透過 FTP 或 SFTP(有時與 SSH 一起)存取的帳戶,具有精簡的 shell(例如 rbash),或透過授權金鑰(透過 ForcedCommand)限制執行命令。

專用伺服器透過兩個速度為 1 Gbps 的連接埠連接到網絡,有時這些連接埠可以是速度為 10 Gbps 的卡。 VPS 通常只有一個網路介面。 大多數情況下,資料中心不會限制資料中心內的網路速度,但它們限制網路存取的速度。

此類專用伺服器或 VPS 的典型負載是 Web 伺服器、資料庫和應用程式伺服器。 有時可能會安裝各種附加輔助服務,包括網路伺服器或資料庫:搜尋引擎、郵件系統等。

專門準備的伺服器可作為儲存備份副本的空間;我們稍後會更詳細地介紹它。

磁碟系統的邏輯組織

如果您有 RAID 控制器,或只有一個磁碟的 VPS,並且對磁碟子系統的操作沒有特殊偏好(例如,為資料庫提供單獨的快速磁碟),則所有可用空間將按如下方式劃分: 一個分割區已建立完畢,並在其上創建一個LVM卷組,其中創建了幾個卷:2個相同大小的小卷,用作根文件系統(在更新過程中逐一更改,以便快速回滾,這個想法是從Calculate Linux發行版中學到的),另一個是交換分區,剩餘的可用空間被分成小卷,用作成熟容器的根文件系統,虛擬機的磁盤,文件/home 中帳戶的系統(每個帳戶都有自己的檔案系統),應用程式容器的檔案系統。

重要提示:卷必須完全獨立,即不應相互依賴或依賴根檔案系統。 對於虛擬機器或容器,會自動觀察到這一點。 如果這些是應用程式容器或主目錄,您應該考慮將 Web 伺服器和其他服務的設定檔分開,以盡可能消除磁碟區之間的依賴關係。 例如,每個網站都從自己的使用者執行,網站設定檔位於使用者的主目錄中,在Web伺服器設定中,網站設定檔不透過/etc/nginx/conf.d/包含.conf,例如 /home//configs/nginx/*.conf

如果有多個磁碟,您可以建立一個軟體 RAID 陣列(如果有需要和機會,可以在 SSD 上配置其快取),在此基礎上您可以根據上面建議的規則建立 LVM。 同樣在這種情況下,您可以使用 ZFS 或 BtrFS,但您應該三思而後行:兩者都需要更嚴格的資源處理方法,此外,ZFS 不包含在 Linux 核心中。

無論使用哪種方案,始終值得提前估計將變更寫入磁碟的大致速度,然後計算將為建立快照保留的可用空間量。 例如,如果我們的伺服器以每秒10兆位元組的速度寫入數據,整個數據數組的大小為10太字節——同步時間可以達到一天(22小時——這是這樣一個卷將被傳輸多少)透過網路 1 Gbps) - 值得保留約 800 GB 。 實際上,這個數字會更小;您可以安全地將其除以邏輯磁碟區的數量。

備份儲存伺服器設備

用於儲存備份副本的伺服器之間的主要區別在於其磁碟大、便宜且相對較慢。 由於現代HDD 在一個磁碟中已經突破了10TB 的界限,因此有必要使用具有校驗和的檔案系統或RAID,因為在重建陣列或復原檔案系統(幾天!)期間,第二個磁碟可能會因故障而故障。以增加負載。 在容量高達 1TB 的磁碟上,這並不那麼敏感。 為了描述簡單起見,我假設磁碟空間被分成大小大致相等的兩部分(同樣以使用 LVM 為例):

  • 用於儲存使用者資料的伺服器對應的磁碟區(將在其上部署最後一次的備份以供驗證);
  • 用作 BorgBackup 儲存庫的磁碟區(備份資料將直接移至此處)。

操作原理是為 BorgBackup 儲存庫的每個伺服器建立單獨的捲,來自戰鬥伺服器的資料將存放在其中。 儲存庫以僅附加模式運行,這消除了故意刪除資料的可能性,並且由於重複資料刪除和定期清理舊備份中的儲存庫(保留年度副本、去年的每月副本、上個月的每週副本、上個月的每週副本)上週,可能在特殊情況下 - 最後一天每小時:總計 24 + 7 + 4 + 12 + 每年 - 每台伺服器大約 50 個副本)。
BorgBackup 儲存庫不啟用僅追加模式;相反,使用 .ssh/authorized_keys 中的 ForcedCommand ,如下所示:

from="адрес сервера",command="/usr/local/bin/borg serve --append-only --restrict-to-path /home/servername/borgbackup/",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc AAAAA.......

指定的路徑包含 borg 之上的包裝器腳本,該腳本除了使用參數啟動二進位檔案之外,還會在刪除資料後啟動恢復備份副本的過程。 為此,包裝器腳本在相應儲存庫旁邊建立一個標記檔案。 資料填充過程完成後,最後一次備份會自動還原到對應的邏輯磁碟區。

這種設計允許您定期清理不必要的備份,並且還可以防止戰鬥伺服器刪除備份儲存伺服器上的任何內容。

備份過程

備份的發起者是專用伺服器或 VPS 本身,因為此方案可以更好地控制該伺服器的備份過程。 首先,取得活動根檔案系統狀態的快照,使用 BorgBackup 將其掛載並上傳到備份儲存伺服器。 資料擷取完成後,快照將被卸載並刪除。

如果有一個小型資料庫(每個網站最多 1 GB),則會進行資料庫轉儲,並將其保存在相應的邏輯磁碟區中,而同一網站的其餘資料也位於該邏輯磁碟區中,但這樣轉儲就可以無法透過網路伺服器存取。 如果資料庫很大,您應該配置「熱」資料刪除,例如,對 MySQL 使用 xtrabackup,或在 PostgreSQL 中使用 archive_command 來使用 WAL。 在這種情況下,資料庫將與站點資料分開恢復。

如果使用容器或虛擬機,則需要設定qemu-guest-agent、CRIU或其他必要的技術。 在其他情況下,通常不需要額外的設定 - 我們只需建立邏輯磁碟區的快照,然後以與根檔案系統狀態快照相同的方式處理這些快照。 取得數據後,照片將被刪除。

在備份儲存伺服器上進行進一步的工作:

  • 檢查每個儲存庫中所做的最後一個備份,
  • 檢查標記檔案是否存在,表示資料收集過程已完成,
  • 將資料擴展到相應的本地捲,
  • 標記檔案被刪除

伺服器復原流程

如果主伺服器掛掉,則會啟動類似的專用伺服器,該伺服器從某個標準映像啟動。 下載很可能會透過網路進行,但設定伺服器的資料中心技術人員可以立即將此標準映像複製到其中一個磁碟。 下載發生到 RAM 中,之後恢復過程開始:

  • 發出請求,透過 iscsinbd 或其他類似協定將區塊裝置附加到包含已失效伺服器的根檔案系統的邏輯磁碟區; 由於根檔案系統必須很小,因此此步驟應在幾分鐘內完成。 引導程式也已恢復;
  • 重新建立本機邏輯磁碟區的結構,使用 dm_clone 核心模組從備份伺服器附加邏輯磁碟區:開始資料恢復,並將變更立即寫入本機磁碟
  • 啟動一個包含所有可用實體磁碟的容器 - 伺服器的功能已完全恢復,但效能有所下降;
  • 資料同步完成後,斷開與備份伺服器的邏輯卷,關閉容器,重新啟動伺服器;

重新啟動後,伺服器將擁有創建備份時的所有數據,並且還將包括恢復過程中所做的所有更改。

該系列的其他文章

備份,第 1 部分:為什麼需要備份,方法和技術概述
備份第 2 部分:審查和測試基於 rsync 的備份工具
備份第 3 部分:口是心非、重複性的檢討與測試
備份第 4 部分:審查和測試 zbackup、restic、borgbackup
備份第 5 部分:測試適用於 Linux 的 Bacula 和 Veeam Backup
備份:應讀者要求部分:AMANDA、UrBackup、BackupPC 的評論
備份第 6 部分:比較備份工具
備份第 7 部分:結論

我邀請您在評論中討論建議的選項,感謝您的關注!

來源: www.habr.com

添加評論