Linux - How to Take ‘Snapshot of Logical Volume and Restore’ in LVM

简介: Linux - How to Take ‘Snapshot of Logical Volume and Restore’ in LVM

在 LVM中 录制逻辑卷快照并恢复


LVM快照是以空间换时间时间的方式制作的lvm卷副本。它只在lvm中工作,并只在源逻辑卷发生改变时占用快照卷的空间。如果源卷的变化达到1GB这么大,快照卷同样也会产生这样大的改变。


因而,对于空间有效利用的最佳途径,就是总是进行小的修改。如果快照将存储空间消耗殆尽,我们可以使用lvextend来扩容。而如果我们需要缩减快照所占用卷的大小,可以使用lvreduce。


如果我们在创建快照后意外地删除了无论什么文件,我们没有必要担心,因为快照里包含了我们所删除的文件的原始文件。创建快照时,很有可能文件已经存在了。不要改变快照卷,保持创建时的样子,因为它用于快速恢复。


快照不可以用于备份选项。备份是某些数据的基础副本,因此我们不能使用快照作为备份的一个选择。


创建LVM快照


首先,使用‘vgs’命令检查卷组中的空闲空间以创建新的快照。

# vgs
# lvs

20170120231341154.png

检查LVM磁盘空间


正如你所见,在vgs命令输出中,我们可以看到有8GB的剩余空闲空间。所以,让我们为我的名为tecmint_datas的卷创建快照。处于演示的目的,我将会使用以下命令来创建1GB的快照卷。

# lvcreate -L 1GB -s -n tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas    

或者

# lvcreate --size 1G --snapshot --name tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas


上面的两个命令都是干得同一件事:

  • -s – 创建快照
  • -n – 为快照命名


20170120231512359.png


此处,是对上面高亮要点的说明。

  1. 我在此创建的快照的大小。
  2. 创建快照。
  3. 创建快照名。
  4. 新的快照名。
  1. 要创建快照的卷。

如果你想要移除快照,可以使用‘lvremove’命令。

# lvremove /dev/vg_tecmint_extra/tecmint_datas_snap


20170120231614845.png

现在,使用以下命令列出新创建的快照。

# lvs


20170120231651094.png

上面的你看到了吧,成功创建了一个快照。上面我用箭头标出了快照创建的源,它就是tecmint_datas。是的,因为我已经为tecmint_datas l-volume创建了一个快照。

20170120231816816.png

让我们添加一些新文件到tecmint_datas里头。现在卷里大概有650MB左右的数据,而我我们的快照有1GB大。因此,有足够的空间在快照卷里备份我们的修改。这里我们可以使用下面的命令来查看到,我们的快照当前的状态。

# lvs

20170120231912688.png


你看到了,现在已经用掉了51%的快照卷,你要对你的文件作更多的修改都没有问题。使用下面的命令来查看更多详细信息。

# lvdisplay vg_tecmint_extra/tecmint_data_snap


20170120232006397.png


再来对上面图片中高亮的要点作个清楚的说明。


快照逻辑卷名称。

当前使用的卷组名。

读写模式下的快照卷,我们甚至可以挂载并使用该卷。

快照创建时间。这个很重要,因为快照将跟踪此时间之后的每个改变。

该快照属于tecmint_datas逻辑卷。

逻辑卷在线并可用。

我们录制快照的源卷大小。

写时复制表大小,Cow = copy on Write,这是说对tecmint_data卷所作的任何改变都会写入此快照。

当前使用的快照大小,我们的tecmintdata有10GB,而我们的快照大小是1GB,这就意味着我们的数据大概有650MB。所以,如果tecmintdatas中的文件增长到2GB,现在的51%中的内容将增加到超过所分配的快照的大小,当然,我们在创建快照时会出现问题。这就意味着我们需要扩展逻辑卷大小(快照逻辑卷)

给出快照组块的大小。


现在,让我们复制超过1GB的文件到tecmint_datas。让我们看看会发生什么。如果你那么做了,你将会见到‘Input/output error’这样的错误信息,它告诉你快照超出空间大小了。

20170120232140283.png

如果该逻辑卷满了,它就会自动丢失新的数据,我们就不能再使用了,就算我们去扩展快照卷的大小也不行。最好的方法就是在创建快照时,创建一个和源一样大小的快照卷。tecmint_datas的大小是10GB,如果我们创建一个10GB大小的快照,它就永远都不会像上面那样超载,因为它有足够的空间来录制你的逻辑卷的快照。


在LVM中扩展快照


如果我们需要在超过容量前扩展快照卷的大小,我们可以使用以下命令来完成此项任务。

# lvextend -L +1G /dev/vg_tecmint_extra/tecmint_data_snap


现在,那里有总计2GB大小的快照空间。

20170120232556030.png


接下来,使用以下命令来验证新的大小和写时复制表。

# lvdisplay /dev/vg_tecmint_extra/tecmint_data_snap


要知道快照卷的大小使用%。

# lvs

20170120232641395.png


然而,如果你的快照大小和源卷一样,我们就没有必要担心这些问题了。


恢复快照或合并

要恢复快照,我们首先需要卸载文件系统。

# unmount /mnt/tecmint_datas/



20170120232723411.png


只想检查挂载点是否卸载成功,可以使用下面的命令。

# df -h

20170120232748907.png

这里,我们的挂载已经被卸载,所以我们可以继续恢复快照。要恢复快照,可以使用lvconvert命令。

# lvconvert --merge /dev/vg_tecmint_extra/tecmint_data_snap

20170120232820443.png

在合并完成后,快照卷将被自动移除。现在我们可以使用df命令来查看分区大小。

# df -Th


20170120232851143.png

在快照卷自动移除后,你可以用下面的命令查看逻辑卷大小。

# lvs


20170120232924662.png


重要:要自动扩展快照,我们可以通过修改配置文件来进行。对于手动扩展,我们可以使用lvextend。

使用你喜欢的编辑器打开lvm配置文件。

# vim /etc/lvm/lvm.conf


搜索单词autoextend。默认情况下,该值和下图中的类似。


20170120233028631.png


LVM配置


修改此处的100为75,这样自动扩展的起始点就是75,而自动扩展百分比为20,它将自动扩容百分之20。


如果快照卷达到75%,它会自动为快照卷扩容20%。这样,我们可以自动扩容了。使用wq!来保存并退出。


这将把快照从超载导致下线事故中拯救出来,这也会帮助你节省更多时间。LVM是我们扩容以及获得其它众多特性如精简资源调配、拆卸、虚拟卷和使用精简池的唯一方法,让我们在下一个话题中来讨论吧。

相关文章
|
8月前
|
存储 Shell Linux
【Shell 命令集合 备份压缩 】Linux 恢复由dump命令创建的备份文件 restore命令 使用指南
【Shell 命令集合 备份压缩 】Linux 恢复由dump命令创建的备份文件 restore命令 使用指南
89 0
|
4月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
5月前
|
存储 监控 Linux
|
5月前
|
存储 Linux
在Linux中,LVM是什么?
在Linux中,LVM是什么?
|
5月前
|
存储 监控 Linux
在Linux中,如何使用LVM管理逻辑卷?
在Linux中,如何使用LVM管理逻辑卷?
|
5月前
|
存储 数据挖掘 Linux
在Linux中,LVM(逻辑卷管理)的主要优势是什么?如何扩展LVM卷?
在Linux中,LVM(逻辑卷管理)的主要优势是什么?如何扩展LVM卷?
|
5月前
|
Linux
【Linux逻辑卷全解】带你玩转linux LVM 逻辑卷
【Linux逻辑卷全解】带你玩转linux LVM 逻辑卷
|
8月前
|
运维 Linux 虚拟化
linux|磁盘管理工作|lvm逻辑管理卷的创建和使用总结(包括扩容,根目录扩容演示)
linux|磁盘管理工作|lvm逻辑管理卷的创建和使用总结(包括扩容,根目录扩容演示)
620 0
|
7月前
|
存储 Linux 存储虚拟化
46. 【Linux教程】逻辑卷与 LVM 介绍
46. 【Linux教程】逻辑卷与 LVM 介绍
55 0
|
8月前
|
存储 Linux 数据库
Linux中LVM逻辑盘卷管理
LVM (Logical Volume Manager) 是Linux系统中的一种存储管理工具,它将物理硬盘组织成物理卷(PV),然后将物理卷组合成卷组(VG),最后从卷组中创建逻辑卷(LV)。逻辑卷可以按需调整大小,跨越多个物理卷,提供更高的灵活性和可扩展性。LVM的主要优点包括: