Linux Centos 物理機 備份 恢復 backup restore

最近有一個項目,客戶要做升級,

因爲centos 要變成滾動更新,所以逼不得已,只能把現在的centos 8.2升級成redhat 8

客戶主機是DELL PowerEdge R440刀片機,有Raid,4.4T

但買的時候沒有購買其他服務,所以備份比較棘手

網上找尋了大多數方案,基本都是停機做鏡像,但誰也不想晚上去客戶那操作

找來找去,找到了redhat官方推薦的Rear(Relax and Recover)

https://relax-and-recover.org/

只需要yum install 相關的pkg,就可以直接進行備份,

設置很詳細,可以備份到掛載硬盤,也可以備份到遠程ssh機器或網絡硬盤

該備份方式是軟硬結合,

會備份硬盤分區結構和其中的所有文件

注意,這個軟件對Intel 的Raid

Intel(R) Rapid Storage Technology

支持的不好,可能Intel raid本身比較特殊,還沒發現其他問題。

注意備份之前最好停掉硬盤寫入相關的東西,例如db,爲了數據完整

安裝

yum install rear grub2-efi-x64-modules

grub2-efi-x64-modules爲UEFI的啓動支持,如果不安裝,備份uefi時候會出錯缺少lib

備份

設置備份存儲位置

編輯 /etc/rear/local.conf

增加以下內容

BACKUP=NETFS
BACKUP_URL=file:///mnt/backup

我這裏用的是掛載的硬盤保存備份,

此設置默認會把系統內所有文件壓縮打包成tar保存

如果不想壓縮,也可以用rsync代替tar,

詳細的設置請在官方文檔查看

rear mkbackup   //備份

備份後會生成iso和系統備份文件在/mnt/backup/{主機名}/

iso可用其他工具做成啓動引導U盤,內置恢復程序

恢復

從iso啓動,進入以下界面

進入第一項後輸入任意字符回車(我沒設置),進入console

進入後手動掛載備份用的硬盤

mount /dev/sdb /mnt/backup  //掛載路徑和設置保持一致,讓rear找到它

執行 rear recover

如果系統發現同樣的硬盤有多個會讓你確認恢復到哪裏

一般會自動進行恢復,但出現錯誤的話,可能就要手動修復了,還好備份本身就是整個文件系統的備份,

手動修復

重新安裝os後(爲了重建分區),用U盤啓動rescue把原系統的文件全部覆蓋過去

注意排除 sys proc dev 這幾個虛擬目錄

覆蓋後在系統的root生成 .autorelabel 文件,

touch .autorelabel

啓動時會重新設置selinux的文件label,

這步很重要,不做會導致進不去系統,類似password錯誤之類的莫名其妙的問題都是這個原因

重啓之前注意手動修改/etc/fstab內的硬盤uuid

格式化重新分區之後uuid會變,更新uuid來避免device進系統後掛載失敗

blkid 可顯示當前硬盤情報和id

/etc/fstab 內的uuid

注意這裏的UUID各對應的root和EFI分區

和blkid裏的/dev/sda2 /dev/sda1一致

修改完畢後重啓系統即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章