容器化 | 在 NFS 備份恢復 RadonDB MySQL 集群數據

来源:https://www.cnblogs.com/radondb/archive/2022/08/04/16550913.html
-Advertisement-
Play Games

社區於上個月發佈了 RadonDB MySQL Kubernetes v2.2.0,集群數據備份恢復的存儲類型除了 S3,新增 NFS 存儲。本文將為您演示如何進行 NFS 備份及恢復操作。 環境準備 Kubernetes 集群 RadonDB MySQL 集群 過程略,詳細請回顧《快速實現 MyS ...


社區於上個月發佈了 RadonDB MySQL Kubernetes v2.2.0,集群數據備份恢復的存儲類型除了 S3,新增 NFS 存儲。本文將為您演示如何進行 NFS 備份及恢復操作。

環境準備

  • Kubernetes 集群
  • RadonDB MySQL 集群

過程略,詳細請回顧《快速實現 MySQL 高可用集群部署》。

安裝 NFS 服務與資源

方法一:使用 Helm 安裝

helm install demo charts/mysql-operator  --set nfsBackup.installServer=true  --set nfsBackup.volume.createLocalPV=true

或者手動創建 PVC,再執行

helm install demo charts/mysql-operator  --set nfsBackup.installServer=true  --set nfsBackup.volume.specifiedPVC=XXXX

用該方法,可以在安裝 Operator 時,也將 NFS 服務的 Pod 和 Service 安裝到集群中。

方法二:使用 kubectl 安裝

kubectl apply -f config/samples/nfs_pv.yaml 
kubectl apply -f config/samples/nfs_server.yaml

獲取 nfsServerAddress

例如:

kubectl get svc nfs-server --template={{.spec.clusterIP}}
10.98.253.82

獲取到 ClusterIP,即可以使用該地址進行 NFS 備份。這裡 IP 地址為 10.96.253.82

創建 NFS 備份

配置 NFS 服務的地址

# 文件 config/samples/mysql_v1alpha1_backup.yaml
nfsServerAddress: "10.96.253.82"

創建備份

kubectl apply -f config/samples/mysql_v1alpha1_backup.yaml

註意:備份自定義資源與 MySQL 集群自定義資源必須在同一個命名空間中。

驗證備份

使用如下命令,可以發現名稱格式為 <cluster name>_<timestamp> 的備份文件夾。

kubectl exec -it <pod name of nfs server> -- ls /exports
# 顯示結果
index.html  initbackup  sample_2022419101946

備份恢復

從已有的 NFS 備份文件中恢復集群。配置 mysql_v1alpha1_cluster.yaml,將 nfsServerAddress 設置為 NFS 服務的地址。

...
restoreFrom: "sample_2022419101946"
nfsServerAddress: 10.96.253.82

註意:restoreFrom 是備份路徑的名稱,可以從 NFS 服務載入的路徑中看到。然後從 NFS 備份副本恢復集群,如下:

kubectl apply -f config/samples/mysql_v1alpha1_cluster.yaml

恢復完成,已經從名為 sample_2022419101946 的 NFS 備份中恢復一個集群。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天我們來瞭解一下ASP.NET MCV的基礎知識,ASP.NET是一種構建Web應用程式的框架,它將通常的MVC(Model-View-Controller)模式應用於ASP.NET框架。 ...
  • 有什麼大病。 粘包和半包問題是數據傳輸中比較常見的問題,所謂的粘包問題是指數據在傳輸時,在一條消息中讀取到了另一條消息的部分數據,這種現象就叫做粘包。 比如發送了兩條消息,分別為“ABC”和“DEF”,那麼正常情況下接收端也應該收到兩條消息“ABC”和“DEF”,但接收端卻收到的是“ABCD”,像這 ...
  • 好久沒寫文章了,有些同學問我公眾號是不是廢了?其實並沒有。其實想寫的東西很多很多,主要是最近公司比較忙,以及一些其他個人原因沒有時間來更新文章。這幾天抽空寫了一點點東西,證明公眾號還活著。 長久以來的認知,對於托管代碼 .NET / JAVA ,都是需要在伺服器上安裝 SDK 或者運行時的。比如 . ...
  • JetbrAIns Rider 2022 中文版是一個強大的跨平臺.Net開發IDE,可以與.NET Framework和.NET Core一起使用,也可以與Mono項目一起使用。因此,您可以使用rider 2022來創建類和庫,Web應用程式,獨立實用程式等。rider mac版是基於Intell ...
  • Linux系統基礎(二) 1、重定向 重定向 //將輸出的內容重定向到某個文件 //系統設定: 預設輸入設備 //標準輸入,STDIN,0 (鍵盤) 預設輸出設備 //標準輸出(顯示器) 標準正確輸出 //STDOUT,1 標準錯誤輸出 //STDERR,2 //I/O重定向: >:覆蓋輸出重定向 ...
  • SElinux: 是Linux的一個強制訪問控制的安全模塊 SElinux的相關概念: 對象:文件、目錄、進程、埠等 主體:進程稱為主體 SElinux將所有的文件都賦予一個type類型的標簽,所有的進程也賦予一個domain類型的標簽。domain標簽能夠執行的操作由安全策略里定義 #ubunt ...
  • 修改日期時間的工具 date hwclock timedatectl date工具的使用 作用:顯示和設置系統時間 選項: -d <字元串> 顯示字元串所指的日期與時間,比如:"-1 day" 表示當前日期的前一天,必須要加雙引號 -s <字元串> 設置當前的時間和日期 #年月日使用(-)分隔,時分 ...
  • 搭建lamp架構 1.LAMP架構介紹 所謂lamp,其實就是由Linux+Apache+Mysql/MariaDB+Php/Perl/Python的一組動態網站或者伺服器的開源軟體,除Linux外其它各部件本身都是各自獨立的程式,但是因為經常被放在一起使用,擁有了越來越高的相容度,共同組成了一個強 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...