我用lvremove删除了一个快照卷。它说它成功地移除了它。但是我注意到/dev/mapper中仍然有一个"-real“文件。我相信这些"-real“文件与快照有某种联系,因为当我以前创建和删除快照时,这些快照也会出现或消失。
所以,我想知道这些文件是什么,以及删除它们对我是否安全?
更新08/06/2015:使用正确的谷歌术语("lvm快照/dev/mapper文件“),我能够找到描述这些文件的以下页面:https://access.redhat.com/documentation/en-US/Red_帽子_企业_Linux/6/html/逻辑_音量_经理_管理/装置_mapper.html目前正在读取页面,以了解文件是什么以及如何处理它们。
发布于 2015-08-07 20:47:40
在阅读了上述文档,并在我的系统上做了很多尝试来了解发生了什么之后,我想我有答案了。
在创建任何快照之前,“真实”文件是原始LV的设备映射表的副本。"real“文件的映射表与原始LV的映射表完全相同。它是一种线性设备类型,意思是按预期进行读写,具有相同的主要和次要数字以及相同的偏移量和长度。在我的例子中,主要/次要数字指的是实际的硬盘驱动器/dev/sdb1 1。
换句话说:在创建快照之前:
在创建快照之后:
现在,原始LV是“快照原点”类型,指向新的“真实”设备:
原来的LV现在是一个类型的“快照原点”。这意味着读写不再以正常的方式发生。正常情况下从真实设备读取,但先将原始数据复制到COW设备,然后写入“真实”设备。
此外,现在有一个COW设备和一个快照设备/卷。
旧数据被写入奶牛。这只是一个常规的块设备,您可以正常读写。
快照不是常规的块设备。这是一个“快照”设备。从快照读取将不会返回新数据。将读取或从奶牛或真实取决于旧的数据在哪里。
在我的场景中,当我试图删除快照时,它给了我以下错误:另一个设备使用了设备vol0-xxxxx-Real (253:15)。无法恢复xxxx。在关键部分释放激活。
快照卷未被删除。但是,又重复了一遍,报告了成功。快照卷不见了。但是/dev/mapper中仍然存在“真正的”设备。原始卷的映射表返回到“线性”,指向底层硬件,因为它们应该是。
因此,我的评估是,只要原版卷的映射表与快照创建前相同(这意味着它应该与“真实”设备的映射表完全匹配),这就意味着它指向了它应该指向的位置。只要其他设备上的映射表没有引用“真实”设备的主要/次要数字,就可以安全地删除本应由lvremove命令自动删除的“真实”设备(S)。
首先,关于这个错误是如何发生的,我注意到的一件事是:-如果我的原始卷包含分区,并且我创建了快照,则为LV创建“真实”设备,但不为其中的分区创建“真实”设备。在这种情况下,lvremove工作时没有错误。
https://serverfault.com/questions/710863
复制相似问题