CentOS 7中利用Snapper快照进行系统备份与恢复

为什么要使用Snapper快照?我们可以想像以下场景: 1. 场景一:系统发生意外宕机,工程师无法快速定位问题,业务受到中断,客户十分不满意。 2. 场景二:项目会议上,就是否升级某软件到最新版本,A和B争执不断,A认为为了保持与其他软件的兼容性不能轻易升级,B认为升级能充分利用软件包的最新功能以及享受到新版本性能的提升 3. 场景三:数据库突然无法访问了,导致业务中断,工程师A和B因为追究责
摘要由CSDN通过智能技术生成

为什么要使用Snapper快照?

我们可以想像以下场景:
1. 场景一:系统发生意外宕机,工程师无法快速定位问题,业务受到中断,客户十分不满意。
2. 场景二:项目会议上,就是否升级某软件到最新版本,A和B争执不断,A认为为了保持与其他软件的兼容性不能轻易升级,B认为升级能充分利用软件包的最新功能以及享受到新版本性能的提升
3. 场景三:服务器突然无法访问了,导致业务中断,工程师A和B因为追究责任争得不可开交,A说是B修改了某项配置导致的,B反驳说我的配置都是正确的,不可能出错。

但是Snapper可以轻松帮你解决以上烦恼:
1. 使用Snapper定期做系统备份,系统发生意外宕机可以快速回溯到之前的正常状态。
2. 可以使用Snapper来安装/升级软件,在安装/升级前后做快照,如果安装/升级失败,就可以快速的恢复系统到正常状态
3. 大型软件项目的部署配置,Snapper可以帮助快速定位哪些配置文件做了改动,帮助定位错误,并快速撤销配置文件的修改。

关于Snapper,Linux User & Developer Magazine中如是说:”感谢Snapper,我们才可以肆无忌惮的折腾系统配置以及安装/更新软件,从旧的备份中恢复成为了过去式,也不用再为会丢失文件而提心吊胆,你只需要利用快照就可以从坏点恢复到好点。

快照工具Snapper

快照是对卷在某一点上进行拷贝,提供了一种恢复文件系统到之前状态的一种方法。Snapper是一个用来创建和维护快照的命令行工具,提供了基本的快照工具:创建、删除快照;对比快照之间的变化,以及撤销快照之间的操作。

目前Snapper可以为以下文件系统类型创建快照:

  • btrfs
  • 在thinly-provisioned LVM之上创建的ext3、ext4、xfs文件系统

Snapper是一个开源的项目,它基于GPLv2.0发布。Snapper是由SUSE发起并维护。
- Snapper官方博客为: http://snapper.io/
- Snapper源码发布在github: https://github.com/openSUSE/snapper
- Snapper GUI(目前仅支持btrfs、ext4、精简LVM):https://github.com/ricardomv/snapper-gui
Snapper-gui尚在开发阶段,功能不甚完善,有关介绍请参考另一篇博文:技术预览:利用Snapper GUI管理系统快照

SUSE快照方案为:
- YaST/Zypper + Snapper + btrfs或thin-provisioning LVM
通过提供了YaST/Zypper界面化操作和Snapper命令行;

CentOS快照方案为:
- Snapper + btrfs或thin-provisioning LVM
提供Snapper命令行操作,用户可以体验一下如何使用开源的Snapper GUI作为上层界面,但功能尚不完善。

为Btrfs文件系统创建快照

创建Btrfs分区

首先,我们以btrfs文件系统为例,来利用Snapper创建快照;
如果想为普通的btrfs文件系统创建快照,需要先创建并挂载btrfs文件系统:

  1. 创建btrfs文件系统

    # mkfs.btrfs /dev/sdb
    
  2. 挂载btrfs文件系统

    # mount /dev/sdb /mnt
    

如果想利用快照保护根分区,需要在安装时选择btrfs作为根分区,因为CentOS 7 根分区默认是xfs文件系统,所以在安装过程选择btrfs作为根分区默认文件系统即可。

创建快照时,快照与原始点都会指向文件系统中的同一个块。因此一开始时快照并不占用额外的磁盘空间。但如果修改了原始文件系统中的数据,则会复制已更改的数据块,同时将旧的数据块作为快照保留。因此,快照就将占用与已修改数据相同的空间。所以久而久之,分配给快照的空间便会不断增长。因此,包含快照的分区需要比常规分区大才行。确切的空间大小主要取决于要保留的快照数量以及数据更改量。一般来说,应考虑使用两倍于常规使用磁盘空间的空间大小。

  1. 选择“I will configure partitioning”,点击“Done”进入下一步:

  2. 点击“Click here to creat them automatically”自动添加,或者点击“+”手动添加:

  3. 修改根分区的文件系统类型为Btrfs:

  4. 完成以上,安装后生成的根分区文件系统如下:

安装snapper

执行以下命令安装snapper:

# yum install snapper

安装完成以后检查一下,确保安装成功

# rpm -qa | grep snapper

创建配置文件 ###

接下来一步步创建快照,Snapper需要为每一个卷创建一个配置文件,配置文件定义了快照的创建和维护规则,执行以下命令为我们的根文件系统创建一个名为btrfs_config的配置文件:

// snapper -c config_name create-config -f btrfs /mount-point
# snapper -c btrfs_config create-config -f btrfs /

创建的配置文件一般是从/etc/snapper/config-templates/default拷贝,并在/etc/snapper/configs/文件夹下生成,我们可以看到新生成的配置文件如下,目前配置文件先采用默认设置,暂不修改其内容:

# ls /etc/snapper/configs/
btrfs_config

创建快照

快照类型

尽管不同的快照本身并无区别,但根据生成快照的不同情形将它们分成以下三类:
- pre
修改前的文件系统快照。每一张前快照都有一个对应的post快照。

  • post
    修改后的文件系统快照。每一张后快照都有一个对应的pre快照。

  • single
    独立的快照。目的之一就是为了自动创建每小时快照。此为创建快照时的默认类型。

创建pre或者post快照

可以单独创建pre和post快照,比如我们先创建一个pre快照, -p的含义是创建快照的同时,打印出快照编号:

# snapper -c btrfs_config create -t pre -p
1

# snapper 
  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7系统,可以使用dd命令进行备份。dd命令是一个强大的工具,可以备份整个硬盘(包括分区表、MBR等),并且可以进行压缩。备份的文件比较大,因为dd命令备份的时候会保存整个硬盘的所有数据,包括未使用的空间。 要备份CentOS 7系统,可以使用以下命令: ```shell dd if=/dev/sda of=/backup/backup.img bs=4M ``` 其,`if=/dev/sda`表示备份的源设备是硬盘sda,`of=/backup/backup.img`表示备份的目标文件是`/backup`目录下的`backup.img`文件。你可以将目标文件存储在其他硬盘上,比如sdb。 在备份的过程,你还可以排除一些不需要备份的目录。比如,排除`/proc`、`/lost+found`、`/sys`等目录,可以使用以下命令: ```shell dd if=/dev/sda of=/backup/backup.img bs=4M exclude=/proc exclude=/lost+found exclude=/sys ``` 另外,确保要备份的文件本身不会被备份,可以将备份文件排除在外,以避免无限循环备份。如果有其他挂载在`/mnt`或`/media`上的分区,也需要将它们排除在外,以免被备份备份完成后,你可以将备份文件存储在安全的地方,以便在需要时进行恢复。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Centos(Linux)系统备份与还原](https://blog.csdn.net/tham_/article/details/50402109)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [CentOS7 整个服务器系统备份恢复的方法](https://blog.csdn.net/HD243608836/article/details/126290636)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值