操作系统的备份

一、操作系统备份方法:
1.dd方式,备份整个硬盘
2.第三方软件Clonezilla
3.给系统打包

二、使用打包方式备份系统

  1. 环境:准备2台虚拟机
    Node01 Eth0 192.168.4.5
    Node02 Eth0 192.168.4.100

  2. 在node02上备份整个系统,使用tar命令
    mkdir /backup
    cd /backup
    tar cvf os.tar --exclude=/proc/ --exclude=/tmp/ --exclude=/sys/ --exclude=/backup/ --exclude=/run/ /
  1. 把备份好的文件存储到网络上
    scp /backup/os.tar 192.168.4.5:.

三、还原系统

  1. node02节点出现硬盘故障,系统消失了
    dd if=/dev/zero of=/dev/vda bs=1M count=1

    1. 还原方法:
      1)使用U盘系统还原
      2)使用光盘rescue模式还原
      3)通过PXE服务器还原

    2. 使用PEX方式还原

4.在node01上搭建PXE服务器,不需要ks.cfg文件
1)dhcp服务[root@node02 ~]# yum -y install dhcp

2)tftp服务[root@node02 ~]# yum -y install tftp-server.x86_64
3)[root@node02 ~]# cd /etc/dhcp/
4)[root@node02 dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf

#dhcpd.conf
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.100;
filename "pxelinux.0";
log-facility local7;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.5 192.168.4.10;
}

5)ftp服务(使用物理机的)
修改/var/lib/tftpboot/pxelinux.cfg/default文件,找到resuce菜单,修改如下:
append initrd=initrd.img inst.stage2=ftp://192.168.4.254/rhel7 rescue ///真机的FTP
[root@node02 tftpboot]# yum -y install syslinux
[root@node02 tftpboot]#rpm -ql syslinux | grep pxe
[root@node02 tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./
[root@node02 tftpboot]# lftp 192.168.4.1
lftp 192.168.4.1:~> cd rhel7
lftp 192.168.4.1:/rhel7/isolinux> get vmlinuz
lftp 192.168.4.1:/rhel7/isolinux> get initrd.img
lftp 192.168.4.1:/rhel7/isolinux> get isolinux.cfg
lftp 192.168.4.1:/rhel7/isolinux> get vesamenu.c32
[root@node02 tftpboot]# mkdir pxelinux.cfg
[root@node02 tftpboot]# mv isolinux.cfg pxelinux.cfg/default
5.node02通过网络启动引导,进入resuce模式
第三个 第二个
6.在resuce模式下,给磁盘分区,分区方案为:
/dev/vda1 --- /boot
/dev/vda2 --- swap
/dev/vda3 --- /

7.创建文件系统
mkfs.xfs /dev/vda1
mkfs.xfs /dev/vda3
mkswap /dev/vda2

8.把硬盘的根分区和/boot分区挂载
mkdir /a
mount /dev/vda3 /a
mkdir /a/boot
mount /dev/vda1 /a/boot

9.把系统的备份文件拷贝到硬盘上
cd /a
scp 192.168.4.5:/root/os.tar .

10.解包
tar xf os.tar

11.进入chroot环境
chroot /a

12.修改grub配置文件
vim /boot/grub2/grub.cfg
root=/dev/vda3

13.修改fstab文件
vim /etc/fstab
/dev/vda3 / xfs defaults 0 0
/dev/vda1 /boot xfs defaults 0 0
/dev/vda2 swap swap defaults 0 0

14.安装grub到MBR
grub2-install /dev/vda

15.重启系统
重启系统后解决ssh不能启动的问题
修改ssh相关的文件
chown .ssh_keys ssh_host_ecdsa_key
chown .ssh_keys ssh_host_ed25519_key
chown .ssh_keys ssh_host_rsa_key
启动ssh服务
或者在备份系统之前,用node01的/etc/{passwd,group,shadow,gshadow}文件替换rescue模式下的相应文件。

16.Debug
如果系统的/boot目录没了,如何修复系统?
label linux
menu label ^Boot Red Hat Enterprise Linux 7.4
kernel centos7.4/vmlinuz-3.10.0-693.el7.x86_64
append initrd=centos7.4/initramfs-3.10.0-693.el7.x86_64.img ro root=/dev/vda3
//权限是644

猜你喜欢

转载自blog.51cto.com/13740508/2130663