如何使用 minio 完成OceanBase社區版的歸檔和備份

自OceanBase社區版4.2.1BP7版本起,OceanBase的歸檔與備份功能開始兼容AWS S3及S3協議的對象存儲服務,因此,許多用戶選擇采用 MinIO 作為其備份存儲介質。因為 MinIO 兼容AWS S3云存儲服務接口,成為了一個輕便的服務選項。

本文將介紹如何部署 minio ,以及如何使用 minio 來做OceanBase的歸檔和備份。

關于 minio 的介紹,可參考官方文檔:minio官方文檔

minio 安裝部署

minio 的部署有多種方式,本文介紹的是 Single-Node Single-Drive 的部署方式,其他部署方式,可參考官方文檔,操作系統是 CentOS 7.9。

首先下載軟件,并執行安裝:

wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240826153307.0.0-1.x86_64.rpm -O minio.rpm
sudo dnf install minio.rpm

創建用戶,并授權,這里為了方便測試,直接使用了 root 用戶,并且手動創建了一個目錄 /obdata/minio 用作存儲路徑,這步可跳過

groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown minio-user:minio-user /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4

創建配置文件,在/etc/default目錄下,創建 minio 文件:

$vim /etc/default/minio
# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment.MINIO_ROOT_USER="admin"
MINIO_ROOT_PASSWORD="xxxxxx"# MINIO_VOLUMES sets the storage volumes or paths to use for the MinIO server.
# The specified path uses MinIO expansion notation to denote a sequential series of drives between 1 and 4, inclusive.
# All drives or paths included in the expanded drive list must exist *and* be empty or freshly formatted for MinIO to start successfully.MINIO_VOLUMES="/obdata/minio"# MINIO_OPTS sets any additional commandline options to pass to the MinIO server.
# For example, `--console-address :9001` sets the MinIO Console listen port
MINIO_OPTS="--console-address :9002 --address :9001"
  • MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD: 分別代表minio服務的最高權限的賬號和密碼,可用于后續登陸頁面和調用 API ;
  • MINIO_VOLUMES:指定給 minio 服務使用的存儲卷或者路徑;
  • MINIO_OPTS:啟動 minio 的參數。這里修改了頁面登錄的端口為9002,以及 API 端口為9001。

在使用 rpm 安裝之后,默認會創建一個 systemd 文件在 /usr/lib/systemd/system/minio.service,不過這里需要修改一些參數,因為使用root啟動minio,所以User和Group都改成了root。

$vim /usr/lib/systemd/system/minio.service
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio[Service]
Type=notifyWorkingDirectory=/usr/localUser=root
Group=root
# ProtectProc=invisibleEnvironmentFile=-/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES# Let systemd restart this service always
Restart=always# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=1048576# Turn-off memory accounting by systemd, which is buggy.
MemoryAccounting=no# Specifies the maximum number of threads this process can create
TasksMax=infinity# Disable timeout logic and wait until process is stopped
TimeoutSec=0SendSIGKILL=no[Install]
WantedBy=multi-user.target# Built for ${project.name}-${project.version} (${project.name})

啟動 minio,并查看狀態

# 啟動 minio
sudo systemctl start minio.service
# 查看 minio 狀態
sudo systemctl status minio.service
# 查看 minio 日志
journalctl -f -u minio.service
# 設置開機自啟動
sudo systemctl enable minio.service

至此,minio的部署工作已經完成,接著,需要在頁面上登陸 minio,然后創建 Buckets 和 Path,用戶后續的歸檔和備份

創建Buckets

通過IP:Port訪問 minio,使用上面 MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD 指定的賬戶名和密碼,訪問 minio 服務,在 Buckets 欄創建新的 Buckets。

1730879019

Buckets 創建完成之后,點擊進入 Buckets,再創建 Path,這里分別創建了obtest 和 obtestbak兩個Path,分別用戶歸檔和數據庫的備份測試。

1730879044

配置完成之后,接著就是進入到OceanBase數據庫,開啟歸檔和備份。

設置歸檔

歸檔和備份,可以使用sys租戶,也可以登錄到具體要設置的租戶中執行相應的設置,本文都是進入sys租戶,為 obtest 租戶進行的配置。

首先設置歸檔并發度(可選)

ALTER SYSTEM SET log_archive_concurrency = 2 TENANT = obtest;

接著設置歸檔目的端

ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=s3://obbak/obtest?host=11.161.xxx.xxx:9001&access_id=admin&access_key=xxxxxx' TENANT = obtest;

開啟歸檔任務

ALTER SYSTEM ARCHIVELOG TENANT = obtest;

查看歸檔狀態

obclient [oceanbase]> SELECT TENANT_NAME, LOG_MODE FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_TYPE = 'USER'\G;
*************************** 1. row ***************************
TENANT_NAME: obtestLOG_MODE: ARCHIVELOG
*************************** 2. row ***************************

可以看到歸檔已經開啟,并且在 minio 對應的路徑下,已經創建出了歸檔的文件

1730879052

設置備份

設置備份目的端

ALTER SYSTEM SET DATA_BACKUP_DEST='s3://obbak/obtestbak?host=11.161.xxx.xxx:9001&access_id=admin&access_key=xxxxxx' TENANT = obtest;

設置租戶的備份并發度(可選)

ALTER SYSTEM SET ha_low_thread_score = 2 TENANT = obtest;

發起全量備份

ALTER SYSTEM BACKUP TENANT = obtest;

查看備份結果

obclient [oceanbase]> SELECT * FROM oceanbase.CDB_OB_BACKUP_JOB_HISTORY order by START_TIMESTAMP desc limit 1\G;
*************************** 1. row ***************************TENANT_ID: 1002JOB_ID: 2915INCARNATION: 1BACKUP_SET_ID: 66
INITIATOR_TENANT_ID: 1INITIATOR_JOB_ID: 66EXECUTOR_TENANT_ID: 1002PLUS_ARCHIVELOG: OFFBACKUP_TYPE: FULLJOB_LEVEL: USER_TENANTENCRYPTION_MODE: NONEPASSWD:START_TIMESTAMP: 2024-09-10 19:51:18.713433END_TIMESTAMP: 2024-09-10 19:54:12.258598STATUS: COMPLETEDRESULT: 0COMMENT:DESCRIPTION:PATH: s3://obbak/obtestbak?host=11.161.xxx.xxx:9001
1 row in set (0.010 sec)

另外,在 minio 對應的目錄下,可以看到備份生成的文件

1730879066

以上就是 OceanBase 在推出支持兼容 S3 協議的對象存儲之后,用 minio 測試 OceanBase 歸檔和備份的整個過程,如果要在實際生產中使用,建議 minio 使用分布式模

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/90736.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90736.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90736.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Nacos-服務注冊,服務發現(二)

Nacos健康檢查 兩種健康檢查機制 Nacos作為注冊中?, 需要感知服務的健康狀態, 才能為服務調??提供良好的服務。 Nacos 中提供了兩種健康檢查機制: 客?端主動上報機制: 客?端通過?跳上報?式告知服務端(nacos注冊中?)健康狀態, 默認?跳間隔5…

手寫PPO_clip(FrozenLake環境)

參考:白話PPO訓練 成功截圖 算法組件 四大部分 同A2C相比,PPO算法額外引入了一個old_actor_model. 在PPO的訓練中,首先使用old_actor_model與環境進行交互得到經驗,然后利用一批經驗優化actor_model,最后再將actor_m…

人形機器人指南(八)操作

八、環境交互與操作能力——人形機器人的“靈巧雙手”環境交互與操作能力是人形機器人區別于移動平臺的核心能力標志。通過仿生學設計的運動鏈與智能控制算法,機器人得以在非結構化環境中執行抓取、操縱、裝配等復雜任務。本章將系統解析機械臂運動學架構、靈巧手設…

管理 GitHub Pages 站點的自定義域(Windows)

管理 GitHub Pages 站點的自定義域(Windows) 你可以設置或更新某些 DNS 記錄和存儲庫設置,以將 GitHub Pages 站點的默認域指向自定義域。 誰可以使用此功能? GitHub Pages 在公共存儲庫中提供 GitHub Free 和 GitHub Free for organizations,在公共和私有存儲庫中提供 Gi…

【PCIe 總線及設備入門學習專欄 5.1.3 -- PCIe PERST# 時序要求】

文章目錄 Overview 什么是PERST# 第一條要求 術語解釋 要求含義 第二條要求 術語解釋 要求含義 Perst 示例說明 過程如下 總結 Overview 首先我們看下 PCIe x協議對 PERST 的要求: A component must enter the LTSSM Detect state within 20 rms of the end of Fundamental R…

圖像認知與OpenCV——圖像預處理

目錄 一、顏色加法 顏色加法 顏色加權加法 示例 二、顏色空間轉換 RGB轉Gray(灰度) RGB轉HSV HSV轉RGB 示例 三、灰度化 最大值法 平均值法 加權平均值法 四、圖像二值化處理 閾值法 反閾值法 截斷閾值法 低閾值零處理 超閾值法 OTSU…

Vue 3 組件通信全解析:從 Props 到 Pinia 的深入實踐

引言 Vue 3 作為現代前端框架的代表之一,以其靈活性和高效性受到開發者的廣泛喜愛。在 Vue 3 中,組件是構建用戶界面的核心單元,而組件之間的通信則是實現動態交互和數據流動的關鍵環節。無論是簡單的父子組件通信,還是復雜的跨組…

CodeBuddy IDE實戰:用AI全棧能力快速搭建課程表網頁

聲明:本文僅是實踐測評,并非廣告 1.前言 在數字化開發的浪潮中,工具的革新往往是效率躍遷的起點。騰訊云 CodeBuddy IDE 是 “全球首個產設研一體 AI 全棧開發平臺” ,它不僅打破了產品、設計與研發的職能壁壘,更重新…

11. HTML 中 DOCTYPE 的作用

總結H5 的聲明HTML5 的 DOCTYPE 聲明 HTML5 中的 <!DOCTYPE html> 聲明用于告訴瀏覽器當前文檔使用的是 HTML5 的文檔類型。它必須是文檔中的第一行內容&#xff08;在任何 HTML 標簽之前&#xff09;&#xff0c;以確保瀏覽器能夠正確地解析和渲染頁面。DOCTYPE 的作用 …

Linux C 網絡基礎編程

基礎知識在進行網絡編程之前&#xff0c;我們需要簡單回顧一下計算機網絡五層模型的網絡層和傳輸層&#xff0c;這兩層在面向后端編程時用的最多。物理層和鏈路層過于底層&#xff0c;已經完全由內核協議棧實現&#xff0c;不再細述。這里假設讀者已經對計算機網絡有一個大致的…

循環神經網絡--NLP基礎

一、簡單介紹NLP&#xff08;Natural Language Processing&#xff09;&#xff1a;自然語言處理是人工智能和語言領域的一個分支&#xff0c;它涉及計算機和人類語言之間的相互作用。二、NLP基礎概念詞表&#xff08;詞庫&#xff09;&#xff1a;文本數據集出現的所有單詞的集…

【Android】約束布局總結(1)

三三要成為安卓糕手 零&#xff1a;創建布局文件方式 1&#xff1a;創建步驟ctrl alt 空格 設置根元素2&#xff1a;處理老版本約束布局 在一些老的工程中&#xff0c;constrainlayout可能沒有辦法被直接使用&#xff0c;這里需要手動添加依賴implementation androidx.const…

S7-200 SMART 數字量 I/O 組態指南:從參數設置到實戰案例

在工業自動化控制中&#xff0c;PLC 的數字量輸入&#xff08;DI&#xff09;和輸出&#xff08;DO&#xff09;是連接傳感器、執行器與控制系統的 “神經末梢”。西門子 S7-200 SMART 作為一款高性價比的小型 PLC&#xff0c;其數字量 I/O 的靈活組態直接影響系統的穩定性與響…

可調諧激光器原理與設計 【DFB 與 DBR 激光器剖析】

可調諧激光器原理與設計 【DFB 與 DBR 激光器剖析】1. 可調諧激光器的原理與分類簡介2. DFB 與 DBR 激光器結構原理比較2.1 DFB&#xff08;Distributed Feedback Laser&#xff09;激光器2.2 DBR&#xff08;Distributed Bragg Reflector&#xff09;激光器2.3 DFB 激光器與 D…

【前端工程化】前端項目開發過程中如何做好通知管理?

在企業級后臺系統中&#xff0c;通知是保障團隊協作、監控系統狀態和及時響應問題的重要手段。與 C 端產品不同&#xff0c;B 端更關注構建完成、部署狀態、異常報警等關鍵節點的推送機制。 本文主要圍繞通知場景、通知內容、通知渠道、自動化集成等方面展開&#xff0c;適用于…

MySQL 9.4.0創新版發布,AI開始輔助編寫發布說明

2025 年 7 月 22 日&#xff0c;MySQL 9.4.0 正式發布。 作為一個創新版&#xff0c;MySQL 9.4.0 最大的創新應該就是使用 Oracle HeatWave GenAI 作為助手幫助編寫版本發布說明了。難道下一步要開始用 AI 輔助編寫數據庫文檔了&#xff1f; 該版本包含的核心功能更新以及問題修…

基于WebSockets和OpenCV的安卓眼鏡視頻流GPU硬解碼實現

基于WebSockets和OpenCV的安卓眼鏡視頻流GPU硬解碼實現 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家&#xff0c;覺得好請收藏。點擊跳轉到網站。 1. 項目概述 本項目旨在實現一個通過WebSockets接收…

人大金倉 kingbase 連接數太多, 清理數據庫連接數

問題描述 kingbase 連接數太多, 清理數據庫連接數 [rootFCVMDZSZNST25041 ~]# su root [rootFCVMDZSZNST25041 ~]# [rootFCVMDZSZNST25041 ~]# su kingbase [kingbaseFCVMDZSZNST25041 root]$ [kingbaseFCVMDZSZNST25041 root]$ ksql could not change directory to "/r…

SpringMVC相關基礎知識

1. servlet.multipart 大小配置 SpringBoot 文件上傳接口中有 MultipartFile 類型的文件參數,上傳較大文件時報錯: org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateExceptio…

HCIP第一次實驗報告

一.實驗需求及拓撲圖&#xff1a;二.實驗需求分析根據提供的網絡拓撲圖和實驗要求&#xff0c;以下是對實驗需求的詳細分析&#xff1a;R5作為ISP:R5只能進行IP地址配置&#xff0c;其所有接口均配置為公有IP地址。認證方式:R1和R5之間使用PPP的PAP認證&#xff0c;R5為主認證方…