linux中lvm的快照功能问题.

既然说LVM快照是通过把文件系统的改变记录到一个快照分区,而不是对这个分区做镜像。且对快照区的任何操作不会影响源分区。

那么问题:
1:我们在快照分区中修改一个已存在的文件时,系统是不是先把这个文件拷贝到快照区,然后进行修改?
2:我们在快照分区中删除一个文件时,只是删除保存在快照区的节点信息?

阅读 5.5k
2 个回答

under LVM2, once the file in the snapshot has been modified, an entry to that effect is made in the exception table, and when the (modified, in-snapshot) file is accessed, the blocks read are the modified snapshot blocks, not those from the original volume ("block ... never gets copied from the original volume")
LVM-HOWTO
感谢MadHatter

以下回答为本人猜测
bVkLPS
注意看图,我觉得最关键的注意点就是快照区与原本的LV共用A~I,也就是说A~I只有一份,而非快照区一份+原LV一份=2份互相独立的区块这种情况.
正常情况下,快照区是用来记录原本LV区域中改动内容的作用存在的,这点看图就能明白.
但有一种特殊情况是鸟哥487页说的用快照区当作测试区,这种情况下用户主动掌控的快照区只有最左面3个空白块,也就是说用户往快照区写的东西只会限定在左侧3块空白处,鸟哥没说要是写入的改动内容大小超过3个空白区块的容量会怎样,我个人估计要是内容超过这个量就会失效

好吧以上内容很难说清楚,鸟哥自己也没讲清,不过我觉得我的理解应该没有漏洞,我都是依据A~I的PE为共用区域这句话推断出来的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题