前面有两篇文章,《Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份》和《Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份》,分别介绍了两种在线备份操作系统的方法。
前面两种,都是为了不中断业务而使用的较为精巧的备份。

今天我们介绍另外一种粗旷,但是相对简单的备份方法:通过dd命令二进制拷贝方式备份操作系统数据。dd拷贝的方式不能在线实施,因为dd是二进制
的块拷贝,若拷贝过程中有写文件操作,会导致文件系统不一致(如某个节点创建到一半被dd拷贝走了),因此,这种方式必须进入内存操作系的单用户模式下操
作,实施过程中不能挂接任何文件系统。所以说是比较粗旷的方法。

环境要求

需要准备好裁减的内存操作系统。
准备用一台PC,作为DHCP服务器,同时也作为备份文件存放的服务器(SSH Server)。
PC与Server之间建立SSH信任关系。

备份流程
1)在PC机上启动DHCP Server和TFTP Server。
2)将Server设置为从网络启动,并重新引导。
3)Server启动后DHCP Client请求到PC机上的DHCP Server后,分配到了临时IP地址,然后通过TFTP加在内存操作系统。
4)我们的备份脚本也打包在内存操作性系统中,随内存操作性系统启动。然后启动备份。
5)脚本分成两部分:调度和备份。调度脚本根据当前的CPU核数量,启动同样数量的备份脚本。调度脚本计算好块大小,给每个备份脚本制定拷贝的块范围,直到整个操作系统盘(sda)拷贝完成位置。
6)调度脚本在启动备份脚本之前,还会先mount一份内存文件系统(ramfs),用于临时存放拷贝的包。内存文件系统的大小要根据服务器自身的内存大小和每次块拷贝的大小来确定。
7)备份脚本拷贝完成之后打包并通过scp传输到PC机器上,然后退出。调度脚本又启动一个备份脚本,一直到整个sda拷贝完成为止。
8)最后重启操作系统完成备份。

恢复流程
恢复是一个逆向的过程,将压缩包逐个解压然后dd回去。

Linux操作系统备份之三:通过二进制拷贝(dd)方式实现Linux操作系统数据的备份的更多相关文章

  1. Using Android Phone to recover SD card formatted with DD command under linux

    Using Android Phone to recover SD card formatted with DD command under linux 1. Formatted a sd card ...

  2. Linux中删除特殊名称文件的多种方式

    今日分享:我们在肉体的疾病方面花了不少钱,精神的病害方面却没有花什么,现在已经到了时候,我们应该有不平凡的学校.--<瓦尔登湖> 前言 我们都知道,在linux删除一个文件可以使用rm命令 ...

  3. Docker 学习笔记(持久化数据的备份,还原)

    假如我们应用程序需要一台 mssql 数据库来持久化数据,我们将 mssql 数据库运行于 Docker 容器中: docker run -d -p 1433:1433 -e "ACCEPT ...

  4. Linux系统备份还原工具1(DD)

    注意:只要时运行备份,建议都使用Ubuntu的Live CD功能启动来操作(即启动盘下的试用Ubuntu而不安装的功能),因为这样可以减少资源占用造成的备份不完整. 说明: 1.使用DD进行硬盘备份可 ...

  5. Linux常用命令(6/26)——dd命令和split命令

    dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 以可选块长度复制文件,默认情况下从标准输入设备输出到标准输出设备.复制过程中,还可以对文件进行一些转换. dd命令可以指定block的 ...

  6. Linux高级运维 第四章 文件的基本管理和XFS文件系统备份恢复

    4.1 Linux系统目录结构和相对/绝对路径 4.1.1系统目录结构 在windows系统中,查看文件先进入相应的盘符,然后进入文件目录 在windows中,它是多根  c:\    d:\   e ...

  7. [转]如何整理Linux磁盘碎片,竟与Windows的方式大不同 返回操作系统首页

    Linux 系统永远不需要整理磁盘碎片的神话相信很多人都听说过.由于 Linux 采用了优秀的日志文件系统(ext2.ext3.ext4, btrfs等),在绝大多数情况下确实是不需要进行磁盘碎片整理 ...

  8. 在Linux系统中如何把文件拷贝到U盘

    Linux下把所有的都当成文件处理,如果在linux系统下需要拷贝文件,哪么你需要先把U盘挂载到系统中的某一个位置,然后再使用cp命令完成拷贝.   工具/原料 Linux操作系统一台 U盘一枚 方法 ...

  9. Netty 零拷贝(一)Linux 零拷贝

    Netty 零拷贝(一)Linux 零拷贝 本文探讨 Linux 中主要的几种零拷贝技术以及零拷贝技术适用的场景. 一.几个重要的概念 1.1 用户空间与内核空间 操作系统的核心是内核,独立于普通的应 ...

随机推荐

  1. hdu4135 容斥定理

    Co-prime Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  2. Leetcode First Missing Positive

    Given an unsorted integer array, find the first missing positive integer. For example,Given [1,2,0]  ...

  3. Flask 教程

    官方文档 推荐教程 环境 pip install virtualenv cd proj_fold virtualenv venv . venv/bin/activate for *unix or ve ...

  4. c#使用多线程的几种方式示例详解

    本文转载自:http://www.jb51.net/article/46234.htm 本文章主要介绍了c#使用多线程的几种方式,通过示例学习c#的多线程使用方式,大家参考使用吧 (1)不需要传递参数 ...

  5. Docking Windows Phone controls to the bottom of a StackPanel

    <Grid> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinit ...

  6. Odoo中本日、本月、上月过滤器实现方法

    <filter string="今日订单" name="today" invisible="0" domain="[('da ...

  7. BSBuDeJie_02

    一 左边的类别数据 1 模型 和 字典中的数据对应 /* id */ @property (nonatomic, assign) NSInteger *id; /* 总数 */ @property ( ...

  8. Dom4jUtils.java

    package com.vcredit.framework.utils; import org.apache.commons.lang3.StringUtils;import org.dom4j.Do ...

  9. delphi URL 编码的转换

    先介绍一下,Delphi中处理Google的URL编码解码,其中就会明白URL编码转换的方法的 从delphi的角度看Google(谷歌)URL编码解码方式 在网上搜索了一下,似乎没有什么关于goog ...

  10. C %p

    格式控制符“%p”中的p是pointer(指针)的缩写.指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数.printf函数族中对于%p一般以十 ...