備份/恢複 CentOS 7 系統到網絡磁碟

備份 CentOS 7 系統到網絡磁碟

  • 掛載你的網絡磁碟機
mkdir -p /mnt/backup
mount -t cifs //<SMB_SERVER_IP>/backup /mnt/backup -o username=<USERNAME>,password=<PASSWORD>
  • 使用 tar 備份系統
tar --xattrs --xattrs-include='*' --acls --selinux -cvpzf /mnt/backup/centos7_backup.tar.gz --exclude=/mnt --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/tmp --exclude=/root_backup.tar.gz /

從網絡磁碟 恢複到 CentOS 7 系統

掛載你的網絡磁碟機

mkdir -p /mnt/backup
mount -t cifs //<SMB_SERVER_IP>/backup /mnt/backup -o username=<USERNAME>,password=<PASSWORD>

確認 centos7_backup.tar.gz 在 /mnt/backup

ls -lh /mnt/backup/centos7_backup.tar.gz

還原 tar.gz 備份

解壓 tar.gz 到 /

tar --xattrs --xattrs-include='*' --acls --selinux -xvpzf /mnt/backup/centos7_backup.tar.gz -C /

確保 /dev、/proc、/sys、/run 目錄存在

mkdir -p /dev /proc /sys /run

修復 fstab

獲取磁碟的 UUID

blkid

確保 /etc/fstab 使用正確的 UUID

nano /etc/fstab

修復 Bootloader(GRUB)

掛載必要的系統目錄

mount --bind /dev /dev
mount --bind /proc /proc
mount --bind /sys /sys
mount --bind /run /run

切換到 chroot 環境

chroot /

重新安裝 GRUB

grub2-install --target=i386-pc /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg

更新 initramfs

dracut --force --regenerate-all

退出 chroot

exit

SELinux 修復

創建 .autorelabel

touch /.autorelabel

重新啟動並測試

重啟系統

reboot

確認系統是否正常運行

df -h
lsblk

將 VMware Storage Controller 更改為 Paravirtual(適用於 CentOS 7)

步驟說明:
最重要的一步是 確保您擁有有效的備份!
確認備份後,請按照以下步驟進行操作:

1. 在開始之前,先建立虛擬機的快照 (snapshot)或完整備份。
2. 關閉(Power-off)虛擬機。
3. 新增 VMware Paravirtual 控制器 到虛擬機,但 不要立即更改磁碟控制器的分配,只需先添加新的存儲控制器到 VM。
4. 開啟(Power-on)虛擬機。
5. 使用具有 root 權限的帳戶登入虛擬機。
6. 重新生成初始 RAM 磁碟映像(initramfs):

mkinitrd -f -v /boot/initramfs-$(uname -r).img $(uname -r)

7. 關閉(Power-off)虛擬機。
8. 將磁碟重新分配給新的 VMware Paravirtual 存儲控制器,並移除舊的存儲控制器。
9. 開啟(Power-on)虛擬機。
10. 確認系統正常運行,並確保磁碟已正確掛載。
11. 完成後,刪除先前建立的快照或備份。

這樣就成功將 VMware 的存儲控制器更改為 Paravirtual,並確保 CentOS 7 可以正常開機和運行!

資料來源:https://be-virtual.net/changing-vmware-storage-controller-to-paravirtual-for-centos-7/