備份linux,centos7 如何使用ReaR進行系統備份(如何使用NFS方法設置ReaR備份)

 2023-10-18 阅读 22 评论 0

摘要:因為生產業務集群中的服務器比較多,經常出現配置故障,硬件故障,所以就想到系統備份,查了一些相關的資料,國內主流的方法是用tar命令打包整個操作系統,我試了效果并不理想,所以嘗試用rear工具進行備份還原 操作系統是 # cat

因為生產業務集群中的服務器比較多,經常出現配置故障,硬件故障,所以就想到系統備份,查了一些相關的資料,國內主流的方法是用tar命令打包整個操作系統,我試了效果并不理想,所以嘗試用rear工具進行備份還原

操作系統是

# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
官方記錄是 6 7 8都可以使用這個工具備份,我只測試了centos7的

首先備份下來的系統是要保存下來的,建議放到其他服務器,或者是專門的存儲上,所以此案例使用的nfs的存儲方式

----------------------------------------------------前提條件--nfs準備------------------------------------------------------------------

nfs-server:10.0.0.52

nfs-client:10.0.0.51

?

nfs-server:

nfs需要兩個組件

# rpm -qa|grep -E "rpcbind|nfs-utils"
rpcbind-0.2.0-47.el7.x86_64
nfs-utils-1.3.0-0.61.el7.x86_64

如果沒有的話,自行安裝,yum的方式即可

啟動nfs服務需要先啟動 rpcbind?? 再啟動nfs

systemctl enable rpcbind.service
systemctl start rpcbind.service
systemctl start nfs.service
systemctl enable nfs.service

配置服務端

# mkdir /storage# cat /etc/exports
/storage        *(rw,sync,no_root_squash)

nfs配置文件的參數

      ro:表示只讀權限rw:讀寫權限sync:數據同步寫內存硬盤async:將數據先保存在內存緩沖區中,必要時才寫入磁盤;all_squash:不管你訪問共享目錄的用戶是誰,都必須壓縮為nfsnobody用戶的權限;no_all_squash(默認):訪問用戶先與本機用戶匹配,匹配失敗后再映射為匿名用戶或用戶組;root_squash: 如果訪問共享目錄是root的權限用戶,對共享目錄的權限會被壓縮為nfsnobody用戶的權no_root_squash:來訪的root用戶保持root帳號權限;no_squash:訪問共享目錄時,用戶如果是root權限,對共享目錄也具有root權限(最好不要設置,增加服務安全隱患,稍后再提)anonuid=<UID>:指定匿名訪問用戶的本地用戶UID,要和root_squash 以及 all_squash一同使用;anongid=<GID>:指定匿名訪問用戶的本地用戶組GID,要和root_squash 以及 all_squash一同使用;【anonuid/anongid :要和root_squash 以及 all_squash一同使用,用于指定使用NFS的用戶限定后的uid和gid,前提是本機的/etc/passwd中存在這個uid和gid】secure(默認):限制客戶端只能從小于1024的tcp/ip端口連接服務器;insecure:允許客戶端從大于1024的tcp/ip端口連接服務器;wdelay(默認):檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率;no_wdelay:若有寫操作則立即執行,應與sync配合使用;subtree_check(默認) :若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限;no_subtree_check :即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率;】

nfs-client

同樣的兩個組件,安裝即可

# rpm -qa|grep -E "rpcbind|nfs-utils"
rpcbind-0.2.0-47.el7.x86_64
nfs-utils-1.3.0-0.61.el7.x86_64

先啟動rpcbind 在啟動nfs 設置開機自啟

--------------------------------------------------------------------------至此nfs安裝完畢-------------------------------------------------------------------------

在設置ReaR之前,您需要根據您的環境制定備份還原計劃。在本教程中,我們將:

  • 設置NFS服務器以保存備份文件。
  • 將文件備份到NFS服務器并將災難恢復系統存儲到ISO映像。
  • 使用災難恢復系統引導還原服務器并完成恢復。

1.安裝rear

# yum install rear genisoimage syslinux

2.修改配置文件

# cat /etc/rear/local.conf 
# Default is to create Relax-and-Recover rescue media as ISO image
# set OUTPUT to change that
# set BACKUP to activate an automated (backup and) restore of your data
# Possible configuration values can be found in /usr/share/rear/conf/default.conf
#
# This file (local.conf) is intended for manual configuration. For configuration
# through packages and other automated means we recommend creating a new
# file named site.conf next to this file and to leave the local.conf as it is. 
# Our packages will never ship with a site.conf.
OUTPUT=ISO
OUTPUT_URL=nfs://10.0.0.52/storage
BACKUP=NETFS
BACKUP_URL=nfs://10.0.0.52/storage
BACKUP_PROG_EXCLUDE=("${BACKUP_PROG_EXCLUDE[@]}" '/media' '/var/tmp' '/var/crash')
NETFS_KEEP_OLD_BACKUP_COPY=

這里贅述一句,本人英文水平不是特別高,但是通過注釋行可以看到,rear配置文件是有個示例文件的/usr/share/rear/conf/default.conf,具體參數的意思,還有可以選的值都有解釋,本例中按照我寫的是可以實現備份還原的,

更改BACKUP_PROG_EXCLUDE變量時要小心。這個選項是排除備份的目錄,如果你的生產環境數據太大,肯定要單獨備份數據,系統備份盡量的只備份系統自帶的文件

?

方法1

?

BACKUP_PROG_EXCLUDE為ReaR?添加路徑到變量時,請不要省略默認值或包含路徑/tmp

?

要將路徑/excluded_folder_1/和文件添加/excluded_file_2到排除項,請使用以下保留默認值的語法。

BACKUP_PROG_EXCLUDE=("${BACKUP_PROG_EXCLUDE[@]}" '/excluded_folder_1/' '/excluded_file_2')

如果/tmp未從備份中排除內容,則會出現此問題。一旦備份與/tmp內容一起恢復,文件結構/tmp就會導致/sbin/fixfiles腳本無法重新標記正確引導所需的所有文件。/sbin/fixfiles在調查表明,問題是影響從符號鏈接文件的SELinux?/tmp/var/tmp目錄。

默認情況下,ReaR?/tmp從文件中/usr/share/rear/conf/default.conf排除備份的內容和其他目錄,因此如果不刪除默認排除,則可以避免此問題。

...
BACKUP_PROG_EXCLUDE=( '/tmp/*' '/dev/shm/*' $VAR_DIR/output/\* )
...

3.創建災難恢復系統并生成備份文件

# rear -d -v mkbackup

具體的命令選項可以--help查看,自行查看

Rear將檢查當前備份系統并收集必要的信息,如磁盤布局,要排除的文件和引導加載程序等。然后/var/lib/rear/output默認情況下將創建具有災難恢復系統的可引導ISO映像。最后,要備份的文件以及可引導的ISO映像將轉移到NFS服務器。

4.恢復測試。
(1)將可引導ISO映像刻錄到CD或DVD。就是截圖中的rear-t2.iso ,這是rear默認保存的名字,軟碟通可以刻錄
(2)從恢復介質引導測試服務器。
(3)選擇Recover <hostname>。這里hostname是備份服務器的名稱。


(4)以root身份登錄,無需密碼。


(5)將備份恢復到此測試服務器:

# rear -d -v recover

(6)恢復備份后,可以選擇留在災難恢復系統的shell中以檢查測試服務器上的重新創建。如果一切正常,請重新啟動測試服務器并從本地硬盤啟動。進入rear的shell之后,系統默認的路徑是在/mnt/local中,就像救援模式根目錄在/mnt/sysimage中一樣,也就是說/mnt/local就是根目錄

(7)確保SELinux在下次啟動時重新標記文件:

# touch /mnt/local/.autorelabel

否則可能無法登錄系統,因為/etc/passwd文件可能具有不正確的SELinux上下文。

(8)最后重啟就行了,選擇從本地磁盤啟動,已經重建成功了,進去系統之后,我之前的文件都在,編譯安裝的ssh版本也是8.0,并不是系統自帶的6.6


提示:Automatic Recover <hostname>只要手動恢復測試服務器時沒有發生錯誤,您也可以選擇自動執行恢復過程。

?

如果發生災難,您可以按照Recovery test已測試且與備份服務器具有相同硬件的服務器部分中所述繼續執行恢復步驟。

?

轉載于:https://www.cnblogs.com/augusite/p/11534642.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/145093.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息