前面有两篇文章,《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. 【转】Java内存管理:深入Java内存区域

    转自:http://www.cnblogs.com/gw811/archive/2012/10/18/2730117.html 本文引用自:深入理解Java虚拟机的第2章内容 Java与C++之间有一 ...

  2. 用户 'IIS APPPOOL\DefaultAppPool' 登录失败。

    今天新建了一个ASP.NET(Language=C#)网站,配置好数据库后编写了几行代码测试数据库的是否能正常使用. 当运行程序时,第一个页面都没有打开就出现了错误(因为我首页就访问数据库,填充一些D ...

  3. python之 rabbitmq

    一.发布hello world 首先我们看一个最简单的消息队列系统 #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ ...

  4. BOM,文档宽高及窗口事件小析

    (一)BOM:Browser Object Model(浏览器对象模型)页面上所有的变量都是window的属性 一.方法:1. open(,)打开一个新窗口(页面)一参为页面地址url,二参为打开方式 ...

  5. python学习 第一天

    正式学习python第一天,网上找到了python教程,带练习题的,又装了ubuntu. 这是学习笔记: list[]: 可变,append/1,insert/2,pop/index? tuple() ...

  6. PostGr-SQL database创建表

    postgres=# create database vertigo_sandbox; postgres=# \connect vertigo_sandbox vertigo_sandbox=# CR ...

  7. 好程序与差程序Good Programming, Bad Programming

    好程序与差程序 Good Programming, Bad Programming 发布时间: 2012-11-20 16:32:21| 阅读数:2,735 views 优秀的程序可以使复杂的东西看起 ...

  8. mycat的读写分离设置

    官网:http://www.mycat.org.cn/ 一.jdk环境的安装1.安装jdk1.7,这是mycat推荐的jdk环境 2.之前是用yum安装的jdk1.6,首先查找下 #yum info ...

  9. 【转】 NGUI 监听按钮除OnClick外其他事件的方法,附简易改编的UIButton类

    http://blog.csdn.net/icefantasylcj/article/details/49450555 大家好,我是雨中祈雨.一直以来,CSDN都是我最好的编程助手.这是我在CSDN的 ...

  10. erlang文章博客推荐

    博客排名不分先后. 诸霸,http://blog.yufeng.info/. 淘宝核心系统资深技术专家,真的是专家,了解erlang已不久局限于erlang,而且现在也一直在更新技术博文,和陈晧一样. ...