前面有两篇文章,《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. About_类与对象02

    FCKeditor文本编辑程序(共享软件)为用户提供在线的文档编辑服务,其具有与微软office软件一样的功能,与之不同的是FCKeditor不需要用户安装任何形式的客户端,FCKeditor程序非常 ...

  2. 用Struts2拦截器实现文件下载前的验证

    思想:用户登录后,将登录信息存储在session中,每次需要验证时,取出来验证 缺陷:没有实现多用户登录时的情况 实行步骤: 登录信息的存储: ActionContext actionContext ...

  3. 如何完全卸载oracle11g?

    步骤一: 停止Oracle的所有服务. 步骤二: 运行%oracle_home%\app\Administrator\product\11.2.0\dbhome_1\deinstall \deinst ...

  4. 【iCore3 双核心板】【发布基于 iCore3的显示模块(包含7寸屏,4.3寸屏,vga模块等】

    ====================注意 ==================== 1.本代码仅仅对iCore3客户(使用者)开放: 2.iCore3使用者凭购买id或者订单号给 gingko[A ...

  5. PHP 使用 debug_print_backtrace() 或 debug_backtrace() 打印栈轨迹

    <?php /* 使用debug_print_backtrace() 或 debug_backtrace() 打印栈轨迹 */ function fun1() { print "Hel ...

  6. java jdbc

    1.java 的jdbc类包括,DriverManager,Connection Connection con = DriverManager.getConnection("jdbc:odb ...

  7. Sublime Text 使用笔记

    常用快捷键 command+shift+d   # 复制当前行到下一行 .

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

    http://lib.csdn.net/article/unity3d/38463 作者:IceFantasyLcj 大家好,我是雨中祈雨.一直以来,CSDN都是我最好的编程助手.这是我在CSDN的第 ...

  9. vert.x学习(六),动态模板与静态文件的结合

    这篇学习在动态模板里面引入css,把动态模板与静态文件结合起来使用. 编写DynamicReference.java package com.javafm.vertx.helloworld; impo ...

  10. 给inpu加背景图,input内容又不能盖着背景图

    问题: 根据需要,给input添加背景图片,又需要点击input及input的这个背景触发事件,但是给input输入内容多时,会覆盖此背景(如下图), 图中,java人员使用插件省市区三级联动,需要i ...