zoukankan      html  css  js  c++  java
  • Linux下备份系统至另一硬盘

    首先会想到dd命令.

    但,,

    1,若是小硬盘还好,上T的大硬盘这样做肯定不明智;

    2,况且dd是在硬件层面的拷贝,前面的MBR也会随之恢复到另一个盘,若源硬盘是100G,目标盘是200G,又会出问题,200G的硬盘由于被覆盖写入了100G硬盘的MBR导致只可用100G,更何况重写MBR相当的麻烦;

    所以最好不要用类似 dd if=/dev/sda of=/dev/sdb 的方式来备份至另一硬盘.

    这里推荐用tar 的方式拷贝.

    首先参照fdisk -l 的显示将目标硬盘用fdisk跟源硬盘一样分区,每个分区的起始柱更结束柱都能看到,当然也可以根据需要自己定义分区大小;

    其中,swap 分区在fdisk 中新建好分区之后(也就是分配好了分区好之后)用t选项指定ID为82即可,若是fat32则为b;

    分完以后更新分区表(或重启,肯定前者更明智):

    # partprobe

    再用mkfs格式化.(源硬盘的分区格式可用#df -T 查看)

    #mkfs -t ext3 /dev/sdb1

    随后就可逐个分区将源硬盘分区备份至目标硬盘分区:

    # mkdir /mnt/sda1 /mnt/sdb1
    # mount /dev/sda1 /mnt/sda1
    # mount /dev/sdb1 /mnt/sdb1
    # cd /mnt/sda1
    # tar -cpv . |  tar -xpC /mnt/sdb1

    当然有人会说这样麻烦,直接dd if=/dev/sda1 of=/dev/sdb1,这样也不是说不可,但是,,,

    1,要是一个比较大的分区无谓的拷贝空数据不是聪明的做法;

    2,tar在拷贝恢复的时候顺便解决了碎片问题,所以这样对系统的拷贝来说个人是十分推荐的.(尽管对于linux分区格式来说不用过多担心磁盘碎片的问题)

    对于备份恢复后加载swap分区的错误:“ read swap header failed:invaild argument”.

    # mkswap /path/to/swap         ## eg: mkswap /dev/sda4
    http://www.cnblogs.com/skynext/
  • 相关阅读:
    电脑常用快捷键
    k8s node 系统参数调整
    docker 制作镜像并上传
    php服务部署安装
    安装 Kuboard v2
    keepalive配置
    elasticsearch的segment详解
    grafana模板
    jenkins启动
    kubernetes 中文文档
  • 原文地址:https://www.cnblogs.com/skynext/p/4023117.html
Copyright © 2011-2022 走看看