摘要:為了解決磁碟儲存空間限制的問題,提出分盤儲存手段,從而實現備集群備份檔案分散儲存的目的。雙集群容災場景下,需要將主集群中的資料備份到備集群。然而,隨著主集群資料量的增大,備集群不存在乙個單獨的大容量磁碟用於存放主集**來的備份集,或存放備份集的碟符空間不足以儲存主集**來的所有備份檔案。但是,容災場景中仍然要能支援雙集群的備份恢復。因此,為了解決磁碟儲存空間限制的問題,提出分盤儲存手段,從而實現備集群備份檔案分散儲存的目的。
在雙集群容災設計中,主集群的角色是只做備份,備集群的角色是只做恢復。為了實現主備資料的同步,需要將備份集以.rch的格式進行資料拷貝。
如上圖所示,在優化前,主集群會將壓縮在roachbackup中的資料全部scp到備集群的roachbackup中,這樣的儲存方式,會對備集群磁碟空間造成非常大的負擔。
在優化後,主集群會將壓縮資料scp到備集群例項目錄中的roachbackup資料夾,然後通過軟鏈結的方式,備份目錄中不同的dn和cn鏈結到了roachbackup資料夾。由於cn和dn分布在不同的磁碟上,同時軟連線使得roach看到的路徑和以前一樣,這樣就實現了資料分盤存放的目的。
比如/data1/roach3/mediadata/roach/20210129_181026/ecs-env-2998/dn_6001_6002為乙個符號鏈結,此符號鏈結可以指向備集群roachbackup目錄/data1/ha_install_3/data1/roachbackup/20210129_091422/master1目錄。其中,master1子目錄為archive/data/data_colstore,分別代表著日誌/行存資料/列存資料
第二步:備集群恢復前clean集群時,跳過各例項目錄的roachbackup資料夾。
第三步:在備份目錄和例項目錄不同的backupkey資料夾下,有不同的節點目錄,在節點目錄下有cn和dn目錄,將備份目錄下的cn和dn軟連線到例項目錄。
第五步:恢復完成後,備集群刪除建立的符號鏈結、各例項目錄下的roachbackup資料夾,即恢復即刪。對於主集群roachbackup目錄,邊傳輸資料,邊刪除資料,即傳輸即刪。
如上圖所示,對於cn和dn目錄,都通過軟連線方式連線到了roachbackup對應的data_cn,master1,dummy1。通過軟連線方式,roach在scp時,以為是傳輸到了乙個磁碟上,但實際上寫到了軟連線對應的其他盤上,這樣的話,資料也就實現了存放在不同磁碟上的目的。
分盤儲存中,實現的基礎就是軟連線的建立。那麼,軟連線是什麼意思呢?
軟鏈結有著自己的inode號以及使用者資料塊。只不過使用者資料塊中存放的內容是另一檔案的路徑名的指向。
如上圖所示,在備集群恢復dn_6001_6002資料時,實際上是去/data1/ha_install_3/data1/roachbackup/20210129_091422/master1目錄中去讀取真正的資料,從而完成資料訪問,最終實現備集群備份集的恢復功能。
隨著資料倉儲業務的發展以及客戶資料量的增大,這就要求雙集群容災需要不斷的迭代,深入挖掘客戶需求是研發的第一性原則。
雙集群容災任務存在很多的策略,如分盤儲存,生命週期清理,斷點續備份和斷點續恢復,主備切換。繼往開來,雙集群新的特性仍需開發,如自動化測試工具、過程監控工具和雲化等。未來可期,實現產品生態豐富的目的始終是研發的第一生產力。
點選關注,第一時間了解華為雲新鮮技術~
redmine備份 Redmine資料庫備份及搬家
bitnami redmine的備份分2種方式 1.匯出資料庫 2.整個目錄搬家 redmineapache redminemysql redminesubversion redminethin1 redminethin2 可以開啟windows服務控制面板,然後停掉上面的5個服務,或者去bitna...
備份mysql資料庫 MYSQL資料庫的備份與恢復
mysql資料庫的備份與恢復與資料庫日誌有著緊密聯絡,特別是資料庫的二進位制日誌 binlog 更是對於災難恢復 增量備份起著重極其重要的作用。因此,開啟和熟悉相關日誌是十分必要的。1 二進位制日誌 binlog 二進位制日誌記錄了所有的ddl 資料定義語言 語句和dml 資料操作語言 語句,但是不...
sqlserver 資料庫集群與熱備
ms sql server資料庫伺服器可以說是應用範圍最廣的資料庫產品,並且越來越多地在大型和比較關鍵的應用系統中提供服務。當企業應用越來越複雜 資料量越來越大的時候,sql server資料庫要不停的進行處理 儲存 查詢的工作,這個時候企業就要考慮sql server資料庫伺服器的效能和速度及安全...