第23講:Ceph集群RBD塊存儲的離線備份與還原

文章目錄

    • 1.RBD塊存儲的離線備份機制
    • 2.RBD塊存儲的備份導出操作
      • 2.1.為RBD塊存儲設備創建一個快照
      • 2.2.基于快照文件備份到本地系統
      • 2.3.基于塊設備備份到本地系統
    • 3.RBD塊存儲的備份還原導入操作
    • 4.RBD塊存儲的增量備份與增量還原
      • 4.1.增量備份的操作
      • 4.2.增量備份的還原操作

1.RBD塊存儲的離線備份機制

在前面是通過快照的形式備份RBD塊存儲設備的,但是快照只能在集群內部進行使用,當整個集群出現故障時,快照還原將無法使用,另外如果想將數據遷移到另一個Ceph集群,快照也是無法實現的,因此就有了RBD存儲的離線備份。

離線備份就與傳統的備份一樣了,將RBD的數據導出成本地的某個文件,數據丟失時,可以直接還原。

RBD的備份可以基于塊設備備份,也可以基于塊設備的快照進行備份,建議使用基于快照進行導出的備份。

RBD的離線備份是靠RBD塊設備的導入導出來實現的。

RBD塊設備導入導出常應用于數據遷移、數據備份的場景。

2.RBD塊存儲的備份導出操作

RBD備份可以基于快照備份也可以基于塊設備進行備份。

2.1.為RBD塊存儲設備創建一個快照

[root@ceph-node-1 ~]# rbd snap create pool-test/rbd-storage.img@rbd-storage-backup
[root@ceph-node-1 ~]# rbd snap ls pool-test/rbd-storage.img
SNAPID NAME               SIZE   PROTECTED TIMESTAMP                8 rbd-storage-backup 10 GiB           Sat Apr  9 19:47:56 2022

2.2.基于快照文件備份到本地系統

命令參數:rbd export {塊設備名稱|快照名稱} {本地路徑}

[root@ceph-node-1 ~]# rbd export pool-test/rbd-storage.img@rbd-storage-backup /root/snap-rbd-storage-backup.img
Exporting image: 100% complete...done.

2.3.基于塊設備備份到本地系統

[root@ceph-node-1 ~]# rbd export pool-test/rbd-storage.img /root/rbd-storage-bak.img
Exporting image: 100% complete...done.

3.RBD塊存儲的備份還原導入操作

當塊設備的數據丟失時,可以通過備份在本地的備份文件進行還原,只需要將備份文件導入到集群中,即可實現還原。

導入集群時為了不覆蓋現有的塊設備,建議將塊設備重新命名。

命令格式:rbd import {備份文件名稱} {塊設備名稱}

1.基于快照的備份還原
[root@ceph-node-1 ~]# rbd import /root/snap-rbd-storage-backup.img pool-test/rbd-storage-20220409.img
Importing image: 100% complete...done.2.基于塊設備的備份還原
[root@ceph-node-1 ~]# rbd import /root/rbd-storage-bak.img pool-test/rbd-storage-20220409.img#二者還原一樣,只不過導出的文件命名不同而已,兩種備份方法都可以。3.還原導入成功
[root@ceph-node-1 ~]# rbd -p pool-test ls
ceph-trash.img
rbd-storage-20220409.img
rbd-storage.img
vm1-clone.img
vm2-clone.img#此時就可以將導入的塊設備映射成磁盤,尋找丟失的文件即可。

備份的文件不一定非以img命名,以tar.gz命名也可以,只是一個后綴而已。

[root@ceph-node-1 ~]# rbd export  pool-test/rbd-storage.img /root/rbd-storage-img.tar.gz
Exporting image: 100% complete...done.[root@ceph-node-1 ~]# rbd import /root/rbd-storage-img.tar.gz pool-test/rbd-storage-202204091.img
Importing image: 100% complete...done.

4.RBD塊存儲的增量備份與增量還原

在前面,是直接將整個塊設備進行備份和還原的,長期下來,數據量會很大,磁盤的增長速度也會很快,RBD塊存儲的導入導出功能還提供了增量機制,可以通過增量導入導出,只將變化的數據進行備份導出,還原時,需要先還原一個全量的備份,然后根據增量的周期,一個一個的還原到集群中。

4.1.增量備份的操作

1)首先在塊設備中寫入新的文件

[root@ceph-node-1 ~]# touch /media/new_file{1..5}
[root@ceph-node-1 ~]# sync

2)對當前狀態的塊設備做一次快照

[root@ceph-node-1 ~]# rbd snap create pool-test/rbd-storage.img@zl-v1
[root@ceph-node-1 ~]# rbd snap ls pool-test/rbd-storage.img 
SNAPID NAME               SIZE   PROTECTED TIMESTAMP                8 rbd-storage-backup 10 GiB           Sat Apr  9 19:47:56 2022 9 zl-v1              10 GiB           Sat Apr  9 20:14:00 2022

3)對快照進行增量備份

命令格式:rbd export-diff {快照名稱} {備份文件名稱}

[root@ceph-node-1 ~]# rbd export-diff pool-test/rbd-storage.img@zl-v1 /root/rbd-storage-zl-v1.img
Exporting image: 100% complete...done.

4.2.增量備份的還原操作

命令格式:rbd import-diff {備份文件名稱} {塊設備名稱}

1)還原數據到新的塊設備

1.首先還原一個全量備份
[root@ceph-node-1 ~]# rbd import /root/rbd-storage-img.tar.gz pool-test/rbd-storage-new.img
Importing image: 100% complete...done.2.然后再還原增量的備份
[root@ceph-node-1 ~]# rbd import-diff /root/rbd-storage-zl-v1.img pool-test/rbd-storage-new.img
Importing image diff: 100% complete...done.

2)將塊設備映射成裸磁盤并掛載到文件系統觀察數據。

1.禁用不支持的特性
[root@ceph-node-1 ~]# rbd feature disable pool-test/rbd-storage-new.img object-map fast-diff deep-flatten2.映射成磁盤
[root@ceph-node-1 ~]# rbd device map pool-test/rbd-storage-new.img
/dev/rbd23.掛載到文件系統
[root@ceph-node-1 ~]# mount /dev/rbd2 /mnt/new-data4.觀察數據是否完整
[root@ceph-node-1 ~]# ls /mnt/new-data
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9  lost+found  new_file1  new_file2  new_file3  new_file4  new_file5

全量數據和增量數據都在,數據完整。

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

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

相關文章

從零開始學React--環境搭建

React官網 快速入門 – React 中文文檔 1.搭建環境 下載nodejs,雙擊安裝 nodejs下載地址 更新npm npm install -g npm 設置npm源,加快下載速度 npm config set registry https://registry.npmmirror.com 創建一個react應用 npx create-react-app react-ba…

Nginx的配置與調試

目錄 1、安裝Nginx 2、Nginx的配置文件結構 2.1 Nginx的全局配置 2.2 HTTP服務器配置 2.3 HttpGzip模塊配置 2.4 負載均衡配置 2.5 server虛擬主機配置 2.6 location URL匹配配置 2.7 StubStatus模塊配置 1、安裝Nginx 在安裝Nginx之前,需確保系統已經安裝…

202303青少年軟件編程(Python)等級考試試卷(四級)

第 1 題 【單選題】 運行下列程序, 輸出的結果是? ( ) def wenhao(name = zhejiang):print(hello + name)wenhao()A :hello B :hellozhejiang C :helloname D :程序將提示運行錯誤 正確答案:B 試題解析: 定義函數時, 可以指定形參的默認值。 如果在調用函數時給函數…

SpringBoot如何使用日志Logback,及日志等級詳解

Spring Boot默認已經集成了SLF4J(Simple Logging Facade for Java)作為日志的接口,以及Logback作為日志的實現。這意味著在大多數情況下,你無需做額外的配置即可開始記錄日志。 下面是一個簡要的指南,包括如何在Spring…

豆瓣內容抓取:使用R、httr和XML庫的完整教程

概述 在數據分析和統計領域,R語言以其強大的數據處理能力和豐富的包庫資源而聞名。它不僅提供了一個靈活的編程環境,還擁有專門用于數據抓取和處理的工具,如httr和XML庫。這些工具使得從各種網站上抓取數據變得簡單而高效。 豆瓣網站作為一個…

Android環境下Mesa初始化流程重學習之eglCreateContext

Mesa初始化流程重學習之eglCreateContext 引言 沒有啥好說的了,直接上手擼代碼!總得找點事情干不是!我打工我快樂!我奮斗,我快樂! 一. 核心結構體之間的關聯 二. eglCreateContext流程分析 eglCreateContext(...)//s…

紅酒配餐中的酒杯選擇與使用技巧

在紅酒配餐中,酒杯的選擇與使用技巧是影響品鑒體驗的重要因素。合適的酒杯不僅能展現出紅酒的優雅和風味,還能提升用餐的儀式感和愉悅感。云倉酒莊雷盛紅酒以其卓著的品質和豐富的口感,成為了紅酒愛好者們的首要選擇品牌。下面將介紹在紅酒配…

21張讓你代碼能力突飛猛進Python速查表(神經網絡、線性代數、可視化等)(有中文版)

隨著深度學習的蓬勃發展,越來越多的小伙伴們開始使用python作為主打代碼,python有著種類繁多的第三方庫,這里為大家從網絡上收集了一些代碼速查表,希望可以幫你在碼代碼時提速。 基礎 神經網絡 線性代數 Python資料 可以去VX公…

python標準庫argparse,腳本傳參

argparse 是 Python 的標準庫之一,它用于編寫用戶友好的命令行接口。通過 argparse,你可以很容易地為你的 Python 腳本添加命令行參數和選項,并解析它們。下面是一個簡單的介紹和示例 # 導入庫 import argparse# 定義命令行解析器對象 parse…

JavaScript 日期和時間的格式化

JavaScript 日期和時間的格式化 一、日期和時間的格式化 1、原生方法 1.1、使用 toLocaleString 方法 Date 對象有一個 toLocaleString 方法,該方法可以根據本地時間和地區設置格式化日期時間。例如: const date new Date(); console.log(date.toL…

buuctf_RE

[WMCTF2020]easy_re 簡單輸入flag 但是下斷點后,還沒走幾步就報錯退出了。 確實沒有打印的字符串 main函數也看不懂在干嘛 int __cdecl main(int argc, const char **argv, const char **envp) {__int64 v4; // r13char v5; // r12__int64 v6; // rax_QWORD *v7;…

python計算開始時間到結束時間步長一個小時

為了計算從開始時間到結束時間,每隔一小時的時間間隔,你可以使用Python的datetime模塊來處理日期和時間。以下是一個簡單的例子,它生成從開始時間到結束時間每隔一小時的時間列表。 from datetime import datetime, timedelta# 開始時間 sta…

SylixOS 版本與 RealEvo-IDE 版本對應關系說明

SylixOS 版本與 RealEvo-IDE 版本對應關系說明 SylixOS 版本IDE 版本發布日期1.4.13.1.52017/01/171.5.23.5.12017/10/121.7.13.8.32018/06/221.8.33.9.52018/10/081.9.9-103.9.102020/01/021.11.63.10.22020/05/131.11.73.10.x2020/06/121.12.93.11.02020/09/111.12.11&#…

多輸入多輸出 | MATLAB實現BiTCN(雙向時間卷積神經網絡)多輸入多輸出預測

多輸入多輸出 | MATLAB實現BiTCN(雙向時間卷積神經網絡)多輸入多輸出預測 目錄 多輸入多輸出 | MATLAB實現BiTCN(雙向時間卷積神經網絡)多輸入多輸出預測預測效果基本介紹程序設計參考資料 預測效果 基本介紹 Matlab實現BiTCN雙向時間卷積神經網絡多輸入多輸出預測 1.data為數據…

json格式文件備份redis數據庫 工具

背景&#xff1a; 項目組要求使用 json備份redis緩存數據庫內容。 附件里工具是一個包含redis-dump工具的鏡像文件&#xff0c;方便用戶在局域網中使用容器備份redis緩存數據庫。 使用步驟&#xff1a; 解壓tar文件&#xff0c;導入鏡像 docker load < redis_dump_of_my…

【八股系列】HTTP請求特征是什么?

文章目錄 1. HTTP&#xff08;超文本傳輸協議&#xff09;請求具有以下主要特征&#xff1a;1.1 請求行(Request Line):1.2 請求頭(Request Headers):1.3 請求正文(Request Body):1.4 狀態碼(Status Code):1.5 無狀態性(Statelessness):1.6 緩存支持(Cacheability):1.7 方法多樣…

力扣刷題--2535. 數組元素和與數字和的絕對差【簡單】

題目描述 給你一個正整數數組 nums 。 元素和 是 nums 中的所有元素相加求和。 數字和 是 nums 中每一個元素的每一數位&#xff08;重復數位需多次求和&#xff09;相加求和。 返回 元素和 與 數字和 的絕對差。 注意&#xff1a;兩個整數 x 和 y 的絕對差定義為 |x - y| 。…

JWT下token過期的處理策略

策略1 最簡單最直接的方式 用戶再次輸入他們的登錄憑證&#xff0c;如用戶名和密碼&#xff0c;得到一個新的token 策略2 采用單token的方式&#xff1a; 設置 token 過期時間&#xff1b; 前端發起請求&#xff0c;后端驗證 token 是否過期&#xff08;JWT工具類有一個&a…

面試專區|【DevOps-46道DevOps高頻題整理(附答案背誦版)】

簡述什么是 DevOps工作流程 &#xff1f; DevOps工作流程是一種將開發和運維團隊緊密結合起來的方法&#xff0c;旨在實現軟件開發和交付的高效性和可靠性。它強調自動化和持續集成&#xff0c;以便頻繁地進行軟件交付和部署。 DevOps工作流程通常包括以下階段&#xff1a; …

【最優化方法】實驗三 無約束最優化方法的MATLAB實現

實驗的目的和要求&#xff1a;通過本次實驗使學生進一步熟悉掌握使用MATLAB軟件&#xff0c;并能利用該軟件進行無約束最優化方法的計算。 實驗內容&#xff1a; &#xff11;、最速下降法的MATLAB實現 &#xff12;、牛頓法的MATLAB實現 &#xff13;、共軛梯度法的MATLAB…