lvm snapshot(lvm 快照)
lvm快照有多种实现方法,其中一种是COW(Copy-On-Write),不用停止服务或将逻辑卷设为只读就可以进行备份,当一个 snapshot创建的时候只是拷贝原始卷里的元数据,而不是物理上的数据,所以snapshot的创建特别快。原始卷写入数据snapshot记录哪些数据发生变化,并备份旧数据,当恢复的时候就可以把旧数据恢复到对应位置。
介绍下LVM管理的相关命令
- pvcreate ,pvmove ,pvremove ,pvscan ,pvdisplay
- vgcreate ,vgremove ,vgscan ,vgdisplay ,vgreduce ,vgextend
- lvcreate ,lvmove ,lvremove ,lvscan ,lvdisplay ,lvreduce ,lvextend ,lvresize ,lvchk
LVM备份恢复示例:
现有一个Disk /dev/sdb: 17.2 GB,先将它划分为两个分区,一个作为源分区做成lvm,一个作为备份数据保存点
[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xcaf172f9
Device Boot Start End Blocks Id System
/dev/sdb1 2048 16779263 8388608 83 Linux
/dev/sdb2 16779264 33554431 8387584 83 Linux
1、创建lvm
[root@localhost ~]# pvcreate /dev/sdb1 整个磁盘17G
[root@localhost ~]# vgcreate vgtest /dev/sdb1
[root@localhost ~]# lvcreate -L 7G -n srcdata vgtest
[root@localhost ~]# vgextend vgtest /dev/sdb2 把另一个分区也划入vgtest卷组
[root@localhost ~]# mkfs -t ext3 /dev/vgtest/srcdata
[root@localhost ~]# mount /dev/vgtest/srcdata /mymnt/mnt
2、模拟初始数据
[root@localhost ~]# tar zcf /mymnt/mnt/backup.gz /etc/*
[root@localhost ~]# echo 'hello world'> test.txt
当前lvm下已经有两个文件了,模拟磁盘备份前状态
3、创建快照
使用一个10G的大小对7G的lv创建快照有如下提示
[root@localhost ~]# lvcreate -L +10G -n snapsrc -s /dev/vgtest/srcdata (-s表示创建快照)
Reducing COW size 10.00 GiB down to maximum usable size 7.03 GiB.
Logical volume "snapsrc" created
查看,发现快照卷已经创建出来了,大小是7G
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vgtest/snapsrc
LV Name snapsrc
VG Name vgtest
LV UUID ZIx3hb-80iW-R2Nf-XET6-9wfA-MG8K-6A3bRe
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2016-04-20 10:37:14 +0800
LV snapshot status active destination for srcdata
LV Status available
# open 0
LV Size 7.00 GiB
Current LE 1792
COW-table size 7.03 GiB
COW-table LE 1800
Allocated to snapshot 0.00% 这个是快照lv特有的,显示用了多少空间
Snapshot chunk size 4.00 KiB
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3
随着原始卷写入数据,快照卷的使用率也会增加。测试下往原始卷写入30M数据,使用率变成0.42%
[root@localhost ~]# cd /mymnt/mnt/
[root@localhost mnt]# dd if=/dev/zero of=./addfile bs=1M count=30
30+0 records in
30+0 records out
31457280 bytes (31 MB) copied, 0.0974659 s, 323 MB/s
[root@localhost mnt]# lvdisplay | grep %
Allocated to snapshot 0.42%
再新增一个文件[root@localhost mnt]# ls -lr /etc/* >b.txt,此时在执行快照之后原始卷新增了两个文件。此时如果想恢复之前的状态,要先卸载原始卷,再使用--merge(合并)恢复。
[root@localhost mymnt]# umount mnt
[root@localhost mymnt]# lvconvert --merge /dev/vgtest/snmpsrc
Merging of volume snmpsrc started.
srcdata: Merged: 100.0%
Merge of snapshot into logical volume srcdata has finished.
Logical volume "snmpsrc" successfully removed
[root@localhost mymnt]# mount /dev/vgtest/srcdata mnt
至此原始卷就恢复到备份前的状态了。
1、快照还有一种恢复方法就是,创建快照后直接挂载,把其中数据复制备份
[root@localhost mnt]# lvcreate -L +7G -n backuplv -s /dev/vgtest/srcdata
[root@localhost mnt]# mount /dev/vgtest/backuplv /mymnt/dstmnt/
[root@localhost mymnt]# tar -zcf dstmnt/dstmnt.tar.gz /mymnt/dstmnt/* 挂载后使用tar打包备份
备份好之后卸载快照卷,并lvremove 移除快照卷,以节省空间。
2、另外使用dump也可以实现备份恢复数据
[root@localhost ~]# dump -0u /tmp/data.bak.dump /snap
[root@localhost ~]# mkdir /data
[root@localhost ~]# cd /data/
[root@localhost ata]# restore -rf /tmp/data.bak.dump
3、 也可以使用dd将快照卷备份,然后直接替换还原
dd if=/dev/vgtest/srcdata of=/backupsrcdata.dd 备份
dd if=/backupbackupsrcdata.dd of=/dev/vgtest/srcdata 还原
转载于:https://www.cnblogs.com/otherside/p/5415998.html
lvm snapshot(lvm 快照)相关推荐
- linux lvm snapshot lvm 快照 逻辑卷 快照
lvm快照有多种实现方法,其中一种是COW(Copy-On-Write),不用停止服务或将逻辑卷设为只读就可以进行备份,当一个 snapshot创建的时候只是拷贝原始卷里的元数据,而不是物理上的数据, ...
- Mysql之一:mysqldump和LVM逻辑卷快照
##################################### 常见的数据备份类型和备份工具 mysqldump备份工具 使用LVM逻辑卷快照备份 #################### ...
- Linux系统中如何利用LVM生成系统快照,以及PE值大小的设定
LVM逻辑卷生成系统快照: 不清楚LVM逻辑卷的可以看链接:https://mp.csdn.net/postedit/83995080 快照的目的一个是备份信息文件,另外是挽救我们的失误操作导致系统崩 ...
- LVM逻辑卷的缩减与删除,LVM逻辑卷快照,btrfs文件系统,网络管理
逻辑卷缩减 缩减的时候要注意缩减的空间不要超过文件系统的空间,不然缩减的时候会损坏文件系统. 第一步要先取消挂载(必须) 第二部检查文件完整性(必须) e2fsck -f /dev/vg0/lv0 第 ...
- 什么是逻辑卷管理器lvm?lvm设备的管理
lvm逻辑卷管理 基础概念 lvm设备的建立 xfs文件系统下的lvm扩容(不支持缩容) 1. 当vg中的容量充足,lv的不够了 2. 当vg中的容量不足时,添加pv EXT4文件系统下的lvm扩容和 ...
- linux 标准分区 lvm,Linux lvm 分区知识笔记
盘面上可以细分出扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为512bytes那么大. 通常所说的"硬盘分区"就是指修改磁盘分区表,它定义了"第n ...
- gpt分区 Linux lvm,使用LVM方式安装Ubuntu 16.04
注: 这里只讲解在Ubuntu 16.04下如何配置LVM的方法过程,其他不再陈述.这个方法是通用的,只要操作系统支持LVM即可. 配置好虚拟机后,开始安装,先进入Ubuntu使用界面,对磁盘进行如下 ...
- GNU/Linux下LVM配置管理以及快照卷、物理卷、卷组、逻辑卷的创建和删除
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.最大的优点是在不损伤数据的前提下调整存储空间的大小. 本篇主要讲述L ...
- linux逻辑卷管理快照,逻辑卷管理器(LVM)以及快照(特殊逻辑卷)的用法
1.LVM基本介绍 2.PV.VG.LV关系详解(PV/VG/LV的创建.扩展逻辑卷大小.减小(减小操作很少用,仅作学习)) 3.快照的概念以及基本用法(特殊的逻辑卷) 4.总结LVM基本介绍 LVM ...
- linux系统创建lvm卷,LVM逻辑卷创建管理
一.简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵 ...
最新文章
- python框架django面试问别人什么问你_django面试会问什么
- 禁用当前的账户win7_拯救你的win7系统,电脑优化到位,打游戏才会流畅
- Kotlin协程重新认知 CoroutineContext
- C#】通过遍历IFrame访问页面元素
- 算法面试,如何在100 亿URL中判断某个URL是否存在
- 解决sonar scanner扫描报错Please provide compiled classes of your project with sonar.java.binaries property
- Java实现RPC框架
- 使用with关键字让你的Python代码更加Pythonic
- 蓝桥杯 BASIC-2 基础练习 01字串
- 181108每日一句
- MMA算法的推导及3D简支梁拓扑优化代码详解
- validation参数检验 - 注解介绍
- unity3D用鼠标和射线控制物体移动(二)
- 如何制作朋友圈搞笑证件图片(附源码实例)
- SpringMVC配置文件中的各个组件
- SSM+Layui实现上传图片
- DSPE-PEG-GE11,磷脂-聚乙二醇-肿瘤细胞表皮生长因子肽GE11
- 微信公众平台开发(11)--用户管理,获取关注用户的信息
- C#开发BIMFACE系列20 服务端API之获取模型数据5:批量获取构件属性
- 硬件设计 之摄像头分类(IR摄像头、mono摄像头、RGB摄像头、RGB-D摄像头、鱼眼摄像头)