这里我们讨论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. Linux_解决nohup命令生成的多余的大日志文件

    解决nohup命令生成的多余的大日志文件 经常使用命令 nohup /usr/bin/php /srv/www/update.php & 可以让它在后台安静的进行,但是有一个烦恼就是,它会生成 ...

  2. CAS单点登录中文用户名乱码问题

    CAS单点登录中文用户名乱码问题,有两种情况 1. CAS server乱码 即在向server端提交用户名和密码时,发生了乱码,解决方法是: 打开WEB-INF/web.xml,在其它的Filter ...

  3. Centos 安装了 Wkhtmltopdf 却依旧显示 无法打印pdf

    Odoo里判断wkhtmlpdf是否安装的代码在 openerp/tools/misc.py 文件中: def find_in_path(name): path = os.environ.get('P ...

  4. 重命名PDF打印文件名

    Odoo系统默认打印出来的PDF文件都是以当前文档模型对象对应的模板文件名命名的,对用户来说,这样的命名很不友好. 我们希望能够将打印出来的文件名以单号命名,下面是实现这种目的的方法. 在report ...

  5. django1.9 创建数据表

    1.在setting.py 中注册app: 2.编写models.py 文件创建表结构: (生成的表默认是: app名称_定义的表面  ) 3.执行命令: python manage.py check ...

  6. JS分页方法

    /** maxpage 最大页数 */function gotoPage(maxpage){         var gotoPage = document.getElementById(" ...

  7. $.ajax用法与举例

    下面是一段比较常用到的 $.ajax 方法: $.ajax({ type:'GET', url:'http://www.phpernote.com/jquery.php', data:{usernam ...

  8. 2016HUAS暑假集训训练题 B - Catch That Cow

    B - Catch That Cow Description Farmer John has been informed of the location of a fugitive cow and w ...

  9. mybatis动态SQL语句

    一 if标签 ? 1 2 3 4 5 6 <select id=" getStudentListLikeName " parameterType="StudentE ...

  10. Array-练习-自定义功能

    //html part <script type="text/javascript" src="out.js"></script> &l ...