这里我们讨论Linux操作系统的备份。
在生产环境,客户都会要求做全系统的数据备份,用于系统崩溃后的一种恢复手段。这其中就包含操作系统数据的备份恢复。
由于是生产环境,客户都会要求备份不中断业务,也就是在线备份。

今天我们介绍使用LVM快照实现Linux操作系统在线备份的一种方法。

使用LVM实现操作系统在线备份的简要原理是:LVM是Linux自带的卷管理软件,LVM支持快照,而Linux又支持将LVM卷作为操作系统分区,因此可以使用LVM的快照功能实现操作系统的在线备份。

1. 分区规划

上面的原理说到了,LVM快照备份操作系统,要求操作系统分区安装在LVM卷上,因此需要规划好分区。
我们按照简单的场景来举例:我们有一个300G的硬盘来安装操作系统,只做一个根分区,那么分区如下:

注意:
1)/boot,/swap不能创建在LVM卷上。不过/boot,/swap是不需要备份的,因此这个不影响备份。
2)根分区的大小需要包含快照占用的空间大小。后面在安装操作系统时候会用到。

2. 操作系统安装

操作系统安装需要将要备份的分区(这里是根分区)创建到LVM卷(LV)上面,其他的安装过程与普通安装是一样的。Suse的Autoyast工具就支持此特性,大家可以到网上搜索。

安装操作系统创建LVM卷的时候,注意两点:
1)VG中需要预留存放快照本身的空间,不能全部被占满。
2)快照所在的VG必须与被备份的LV相同,也就是说,快照存放的位置必须与被照卷存放在同一个VG上。否则快照会失败。

3. 操作系统快照备份

安装好了操作系统之后,就可以开始备份操作系统了。备份的方法为:
1)在操作系统运行时刻T1,执行快照。
2)开始对快照执行备份。备份的操作很简单,就是把快照mount起来,然后拷贝。
3)此时时间到了T2时刻,那么,快照会纪录T1~T2时间段内的数据变化,在拷贝快照的时候,快照会获取到最新的数据;若数据无变化,则拷贝快照相当于拷贝原始文件。

4)快照拷贝完了之后,操作系统备份就完成了。下次再需要备份,就重复这个操作。

4. 操作系统恢复

当备份后,恢复操作系统,与普通备份包恢复是没有差别的:将备份的分区解压到对应的分区下即可。

使用快照做操作系统的在线备份,能够比较好的保持文件的一致性,不会遗漏备份时间窗内改变的数据。但是缺点也比较明显,需要使用LVM来安装操作系统,操作起来相对复杂。大家使用前要结合自己的项目权衡。

转载:http://www.tektea.com/archives/2140.html

Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份的更多相关文章

  1. Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份

    http://www.tektea.com/archives/2163.html. 在<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>文章中,我们介绍了使 ...

  2. lvm快照备份数据库(Mysql5.7)

    备份的目的 能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方. 备份的分类 以操作过程中服务的可用性分: 冷备份:cold backup mysql服务关闭,mysq ...

  3. MySQL数据物理备份之lvm快照

    使用lvm快照实现物理备份 优点: 几乎是热备(创建快照前把表上锁,创建完后立即释放) 支持所有存储引擎 备份速度快 无需使用昂贵的商业软件(它是操作系统级别的) 缺点: 可能需要跨部门协调(使用操作 ...

  4. 使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复

    使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复 这种操作百度一搜一大片,今天整理以前做的项目时自己备份了一下数据库,试着将数据进行导出备份和导入恢复了一下:下面是操作过程: 1 ...

  5. mysql导出csv/sql/newTable/txt的方法,mysql的导入txt/sql方法...mysql备份恢复mysqlhotcopy、二进制日志binlog、直接备份文件、备份策略、灾难恢复.....................................................

    mysql备份表结构和数据 方法一. Create table new_table_nam备份到新表:MYSQL不支持: Select * Into new_table_name from old_t ...

  6. MySQL基于LVM快照的备份恢复(临时)

    目录1.数据库全备份2.准备LVM卷3.数据恢复到LVM卷4.基于LVM快照备份数据5.数据灾难恢复6.总结 写在前面:测试环境中已安装有mysql 5.5.36数据库,但数据目录没有存放在LVM卷, ...

  7. Mysql数据库备份—-通过LVM快照实现备份还原

    一.实验环境 一台测试机:A(172.18.30.1) 操作系统:Centos7 操作对象数据库版本:mariadb-10.2 二.实现目的 从A机器(172.18.30.1)简单搭建数据库,创建测试 ...

  8. 使用LVM快照进行数据库备份

    使用mysqldump备份时,如果存储引擎为MyISAM,则只能实现温备份,并需使用选项--lock-all-tables锁定所有表.如果存储引擎为InnoDB,则加上--single-transac ...

  9. LVM快照(snapshot)备份

    转载自:http://wenku.baidu.com/link?url=cbioiMKsfrxlzrJmoUMaztbrTelkE0FQ8F9qUHX7sa9va-BkkL4amvzCCAKg2hBv ...

随机推荐

  1. BZOJ4127: Abs

    Description 给定一棵树,设计数据结构支持以下操作 1 u v d 表示将路径 (u,v) 加d 2 u v 表示询问路径 (u,v) 上点权绝对值的和 Input 第一行两个整数n和m,表 ...

  2. bug:无法给图片加边框

    一,经历 1.错误代码 _avatarView.layer.cornerRadius = GIFT_AVATAR_WIDTH * 0.5; _avatarView.layer.borderColor ...

  3. Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_GiftAnimationView"

    1> error 详情: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_GiftAnimationView&quo ...

  4. Erlang及Rabbitmq安装

    1. 下载erlang源代码及RabbitMQ rpm安装包      $ wget http://www.erlang.org/download/otp_src_R16B02.tar.gz $ wg ...

  5. JavaScript笔记——this的取值

    有关ECMAScript定义如何获取this请移步ECMAScript中关于如何获取this的定义 绝大多数情况下,函数的调用方式决定了this的取值 全局上下文 console.log(this = ...

  6. UE编辑器FTP无法连接

    解决办法:http://wenwen.sogou.com/z/q197743020.htm 无法从ue连接到主机,一直就是这样的状态 1. ftp帐户密码都没有问题: 2. 后台主机也没有问题: 3. ...

  7. [VBA] 打开文件夹

    '显示打开文件夹对话框 With Application.FileDialog(msoFileDialogFolderPicker) .Show Then Exit Sub '未选择文件夹 strFo ...

  8. html5用到的js

    1.Zepto.js 是专门为现代智能手机浏览器退出的 Javascript 框架, 拥有和jQuery相似的语法, 但是和jQuery相比下来, 他有很多优点, 大小方面 , 压缩后的 zepto. ...

  9. centos6 LVS-DR模式---分析

    LVS是什么就不多说了. 先上拓扑图 1台LVS   3台Realserver    一个客户端.  环境全部模拟全在内网环境(selinux和iptables关闭) 先简略说一下安装步骤: LVS上 ...

  10. 温故而知新 OOP

    设计原则1: 找出应用中可能需要发生改变的地方,把它们独立出来,不要和那些不需要变化的代码混在一起换句话说,如果每次新的需求一来,都会使某方面的代码发生变化,此时你就可以确定,这部分代码属于不稳定代码 ...