云计算之系统备份和还原

上一篇讲了dd命令,这一篇使用dd命令做系统备份和还原,在服务运行过程中,硬盘损坏是常有的事,那么,给磁盘做系统备份和还原是非常有必要的,下面整理了制作流程。

一、操作系统备份方法:

  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/* /*

         3. 把备份好的文件存储到网络上

    scp /backup/os.tar 192.168.4.5:.

三、还原系统

1. node02节点模拟硬盘故障,系统消失

    dd if=/dev/zero of=/dev/vda bs=1M count=1

       2. 还原方法:

             1)使用U盘系统还原

             2)使用光盘rescue模式还原

             3)通过PXE服务器还原

       3. 使用PXE方式还原

           1. 在node01上搭建PXE服务器,不需要ks.cfg文件

               1).安装dhcp服务

        ​yum -y  install dhcp
        cd /etc/dhcp
        cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf
        vim dhcpd.conf
            default-lease-time 600;
            max-lease-time 7200;
            next-server 192.168.4.5;
            filename "pxelinux.0";
            log-facility local7;
            subnet 192.168.4.0 netmask 255.255.255.0 {
              range 192.168.4.200 192.168.4.210;
            }

        systemctl disable libvirtd
        Systemctl start dhcpd

                 2).安装启动tftp服务,拷贝系统启动镜像等相关文件 

        yum -y install tftp-server

                 3).安装启动ftp服务,并修改default文件

​        修改/var/lib/tftpboot/pxelinux.cfg/default文件,找到resuce菜单,修改如下:
        append initrd=initrd.img inst.stage2=ftp://192.168.4.254/rhel7 rescue

                 4).node02通过网络启动引导,进入resuce模式

                 5).在resuce模式下,给磁盘分区,分区方案为:fdisk

        /dev/vda1   ---   /boot
        /dev/vda2   ---   swap
        /dev/vda3   ---   /

                6).创建文件系统

        mkfs.xfs /dev/vda1
        mkfs.xfs /dev/vda3
        mkswap /dev/vda2

     7).把硬盘的根分区和/boot分区挂载

        mkdir /a
        mount /dev/vda3 /a
        mkdir /a/boot
        mount /dev/vda1 /a/boot

                 8).把系统的备份文件拷贝到硬盘上

        cd /a
        scp 192.168.4.5:/root/os.tar .

     9).解包

        tar xf os.tar

                 10).进入chroot环境

        chroot /a

                 11).修改grub配置文件

​        vim /boot/grub2/grub.cfg
            root=/dev/vda3

     12).修改fstab文件

        vim /etc/fstab
            /dev/vda3         /      xfs     defaults        0 0
            /dev/vda1         /boot  xfs     defaults        0 0
            /dev/vda2         swap   swap    defaults        0 0

                 13).安装grub到MBR

​        grub2-install /dev/vda

                 14).重启系统

        重启系统后解决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模式下的相应文件。

                  15).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

 

 

 

猜你喜欢

转载自blog.csdn.net/mx_steve/article/details/91129559