Linux操作系统备份之三:通过二进制拷贝(dd)方式实现Linux操作系统数据的备份
前面有两篇文章,《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操作系统数据的备份的更多相关文章
- 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 ...
- Linux中删除特殊名称文件的多种方式
今日分享:我们在肉体的疾病方面花了不少钱,精神的病害方面却没有花什么,现在已经到了时候,我们应该有不平凡的学校.--<瓦尔登湖> 前言 我们都知道,在linux删除一个文件可以使用rm命令 ...
- Docker 学习笔记(持久化数据的备份,还原)
假如我们应用程序需要一台 mssql 数据库来持久化数据,我们将 mssql 数据库运行于 Docker 容器中: docker run -d -p 1433:1433 -e "ACCEPT ...
- Linux系统备份还原工具1(DD)
注意:只要时运行备份,建议都使用Ubuntu的Live CD功能启动来操作(即启动盘下的试用Ubuntu而不安装的功能),因为这样可以减少资源占用造成的备份不完整. 说明: 1.使用DD进行硬盘备份可 ...
- Linux常用命令(6/26)——dd命令和split命令
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 以可选块长度复制文件,默认情况下从标准输入设备输出到标准输出设备.复制过程中,还可以对文件进行一些转换. dd命令可以指定block的 ...
- Linux高级运维 第四章 文件的基本管理和XFS文件系统备份恢复
4.1 Linux系统目录结构和相对/绝对路径 4.1.1系统目录结构 在windows系统中,查看文件先进入相应的盘符,然后进入文件目录 在windows中,它是多根 c:\ d:\ e ...
- [转]如何整理Linux磁盘碎片,竟与Windows的方式大不同 返回操作系统首页
Linux 系统永远不需要整理磁盘碎片的神话相信很多人都听说过.由于 Linux 采用了优秀的日志文件系统(ext2.ext3.ext4, btrfs等),在绝大多数情况下确实是不需要进行磁盘碎片整理 ...
- 在Linux系统中如何把文件拷贝到U盘
Linux下把所有的都当成文件处理,如果在linux系统下需要拷贝文件,哪么你需要先把U盘挂载到系统中的某一个位置,然后再使用cp命令完成拷贝. 工具/原料 Linux操作系统一台 U盘一枚 方法 ...
- Netty 零拷贝(一)Linux 零拷贝
Netty 零拷贝(一)Linux 零拷贝 本文探讨 Linux 中主要的几种零拷贝技术以及零拷贝技术适用的场景. 一.几个重要的概念 1.1 用户空间与内核空间 操作系统的核心是内核,独立于普通的应 ...
随机推荐
- ZeroMQ接口函数之 :zmq_ctx_term - 终结一个ZMQ环境上下文
ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_ctx_term zmq_ctx_term(3) ØMQ Manual - ØMQ/4.1.0 Name zmq_ ...
- sql server 权限体系
--给sql server添加一个新用户[账号,密码,数据库名] execute sp_addlogin 'baishi', '123','db'; execute sp_addlogin 'wx ...
- javascript面向对象(三):非构造函数的继承
本文来自阮一峰 这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承". 今天是最后一个部分,介绍不使用构造函数实现"继承" ...
- Java的算数运算符、关系运算符、逻辑运算符、位运算符
JAVA的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符 算数运算符(9):+ - * / % ++ -- 关系运算符(6):== != > >= & ...
- 简明 Git 命令速查表(中文版)
原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...
- Assertion failure in -[UITableView _classicHeightForRowAtIndexPath:], /SourceCache/UIKit_Sim/UIKit-3318/UITableView.m:10772
Assertion failure in -[UITableView _classicHeightForRowAtIndexPath:], /SourceCache/UIKit_Sim/UIKit-3 ...
- centos关闭防火墙
Centos7 关闭防火墙 CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下 1.直接关闭防火墙 systemctl stop firewalld.se ...
- Delphi中字符串补齐方法
函数功能:当Str不满Len长度时,在Str前自动填充PadStr以补足长度,例子如下: Str:原字符串 Len:补多长 PadStr:用什么补齐,比如‘0’ function PadString( ...
- ionic 踩过的坑-基本布局
目录: 标题栏 : ion-header-bar 页脚栏 : ion-footer-bar header/footer : 样式及内容 内容区 : ion-content 滚动框 : ion-scro ...
- NorthWind 数据库整体关系
http://blog.csdn.net/bergn/article/details/1502150 今天看到一张非常有用的图,说明有关Northwind数据库整体关系的图,以前一直在用,但是没有一个 ...