在CentOS 7上的LVM快照教程

时间:2020-03-05 15:28:53  来源:igfitidea点击:

LVM是用于管理磁盘驱动器和类似批量存储设备的Linux内核的逻辑卷管理器。
这些逻辑卷可以由不同的物理硬盘组成,但将显示为可以安装文件系统的一个分区。

LVM快照可用作卷的完整备份。
如果出现问题,它将允许我们恢复全卷。
CentOS 7释放对快照进行了重大变化,使其更加完美。

使用逻辑卷快照,我们可以冻结任何逻辑卷的当前状态。
它是一种特殊类型的卷,介绍了创建快照时卷中的所有数据。
这意味着我们可以非常轻松地创建备份,并一旦需要回滚到原始逻辑卷状态。
此方法与我们已经知道的虚拟化非常相似,我们可以简单地拍摄整个虚拟机的快照并恢复以防出现问题。

1.创建快照

快照卷可以像我们一样大或者很小,但必须足够大,以保持在快照的生命周期内可能发生在原始卷上的所有更改。

以前检查LV信息

要创建一个新快照,我们需要指示VG和LV对应的LV,我们将创建一个快照

# lvcreate --size 1G --snapshot --name nameofthesnapshot /dev/nameofVG/nameofLV

lvm快照最初不包含任何数据,它只会将更改存储到原始卷,这将节省大量空间。
由于快照随着原点卷的变化而增加,因此要使用LVS命令监控快照卷的百分比,以确保它不会填充。
完全丢失100%完整的快照,因为对原产地的原点的写入不变的部分不会破坏快照,这将无法成功。

如果快照运行空间,则丢弃整个快照,无法使用。
但是,如果我们注意到快照空间运行(使用lvdisplay或者lvs命令检查此操作),则可以类似于任何其他逻辑卷增加其大小。
创建快照后,它将显示在LVDisplay命令的输出中:

2.使用LVM快照

我们现在可以使用LVM快照作为普通分区,我们可以将其安装在文件夹中,对其进行更改,如果我们对更改对原始卷的更改感到满意。

要安装它,我们只需创建一个文件夹并使用如下所示的挂载命令:

# mkdir /mnt/snap1
# mount /dev/test/snap1 /mnt/snap1

现在,我们可以在不改变原始系统的情况下测试所需的任何我们希望的任何我们希望的任何内容。

如果我们使用XFS作为文件系统,则需要将nouuid选项添加到挂载命令

# mount /dev/test/snap1 /mnt/snap1 -o nouuid,ro

安装快照时,拍摄快照时写的元数据允许映射快照池块在卷(或者更高级别快照)中的更改块上。
通过这种方式访问特定块时,LVM知道哪个块访问。
就该卷上的文件系统而言,没有快照。
一旦我们创建快照,LVM会创建一个块池。
此池还包含卷的LVM元数据的完整副本。
当写入诸如更新inode之类的主卷时,被覆盖的块被复制到该新池,并且将新块写入主卷。
这是编写的复制。
因此,当拍摄快照和主卷的当前状态时,在拍摄快照之间的更改越多,该快照池会越多。

3.创建快照的备份

现在,我们可以在磁盘或者我们创建的分区上创建快照的备份。
我们可以选择一个磁盘,一个LUN,无论我们喜欢保存它。
快照仅在原始逻辑卷上的数据变化,或者我们自己写入快照(稍后更多关于写方面)。
因此,如果我们忘记了我们手动写入快照的那一刻,快照中唯一的数据是原始卷数据的块,自Snapshot以来已经在原始卷上更改

我们只需要展开才能保存快照。

# tar -pczf /media/backup/snap1.tar.gz /mnt/snap1

或者你可以使用

# dd if=/mnt/snap1 of=/media/backup/snap1.img

4.合并快照

如果原始仍然存在,则只能使用快照来恢复原始逻辑卷。
因此,快照是一个很棒的功能,但它们不是在传统意义上备份所有原始数据的完整副本。
如果我们希望在快照时完全独立的数据副本,可以以与任何其他设备的方式相同的方式拍摄副本,例如,使用CP或者DD命令。

如果我们对我们对快照进行的更改感到满意,并且希望在原始卷中合并它们。
如果原始卷和快照中的文件系统卸载,则合并将立即启动。

此操作可能需要时间,因为需要从快照将数据从快照复制到原始卷。
一旦合并开始,原始卷的任何读写操作都被透明地重定向到处于合并过程中的快照。
因此,该操作对认为他使用合并卷的用户是透明的。
这意味着一旦合并开始,用户就会与包含在创建快照时的数据的卷(最终从那时起,最终写入快照的数据)。

我们可以使用以下示例中的"lvconvert --merge""命令:

如果安装原始卷,则必须重新启动系统以进行更改以生效。
现在原始的逻辑卷已被恢复/合并到快照的状态。
请记住,如果安装其中一个卷,则需要重新启动

请注意,一旦使用快照来还原/合并,快照就会从系统中消失。

5.删除快照

如果我们不需要其中不需要更改或者没有任何用途,我们也可以删除快照。
如果当前已安装逻辑卷,请在删除它之前卸载卷。
此外,在群集环境中,我们必须在删除它之前停用逻辑卷。
最终写入快照的所有数据都丢失。

要删除快照,请使用以下命令:

lvremove /dev/test/snap1

正如我们可以看到使用LVM快照,这是在总安全方面测试和实验对系统的不同变化的好方法。