【已解决】lvm 快照的疑问?lvm的快照不是只处理元数据吗?

为当前最终发行版之前的所有版本提供支持
回复
ruandao
帖子: 177
注册时间: 2009-08-29 10:57
送出感谢: 16 次
接收感谢: 3 次

【已解决】lvm 快照的疑问?lvm的快照不是只处理元数据吗?

#1

帖子 ruandao » 2013-02-04 2:56

我对一个空的lv(假设名lv1)做了一个快照,然后拷贝一些数据进lv1
接着我lvdisplay下,发现lv1的快照的信息发生了变化 Allocated to snapshot 79.71%
问题是,我原先lv1里面没有内容,然后做快照的时候(快照是拷贝文件的指针对吧?),应该也是空的,然后当我在lv1上新建些数据的时候,原先的文件内容(不存在的)没有改变,那么应该不需要拷贝数据到快照空间吧 为什么会受到影响??

lv1 状况:
lvstatus.png
我把lv1 挂载在go目录里
go目录是空的
然后我用watch -n 0.5 "lvdisplay |grep snap" 来监视snap卷的变化情况
lvsnap-watch.png
snap2.png
接着我开始往go目录拷贝数据
go-data.png
然后snap卷的状况一直在变化,但是我并没有修改lv1里面原有的文件啊~~
snap3.png
当我拷贝到go目录的数据超过分配给snap的大小时,snap 好像崩溃了。。。
snap-over.png
原先对快照的想法是,如果有文件会被改变,那么先拷贝那个文件,然后再改变他 (这样子的话,只有留足整个区域的文件的总大小的空间作为快照空间即可)
但是按上面看的话,变成,如果有磁盘内容会被改变,那么拷贝那个磁盘内容,然后改变 (这样子的话,要有一样大的磁盘空间,才可以)
上次由 ruandao 在 2013-02-06 2:47,总共编辑 1 次。
还活着
头像
lanjian9151
帖子: 397
注册时间: 2008-01-09 21:19
系统: Gentoo
送出感谢: 0
接收感谢: 10 次
联系:

Re: lvm 快照的疑问?lvm的快照不是只处理元数据吗?

#2

帖子 lanjian9151 » 2013-02-04 18:00

因为snap是跟踪块的改变,所以即便你之前的LV是空的,但你新建文件以后这一部分的块发生了变化,所以为了保持一致性他会把这些块改变之前的状态复制到snap里。
这些用户感谢了作者 lanjian9151 于这个帖子:
ruandao (2013-02-06 2:47)
评价: 3.7%
ruandao
帖子: 177
注册时间: 2009-08-29 10:57
送出感谢: 16 次
接收感谢: 3 次

Re: lvm 快照的疑问?lvm的快照不是只处理元数据吗?

#3

帖子 ruandao » 2013-02-06 2:47

lanjian9151 写了:因为snap是跟踪块的改变,所以即便你之前的LV是空的,但你新建文件以后这一部分的块发生了变化,所以为了保持一致性他会把这些块改变之前的状态复制到snap里。
o
还活着
回复

回到 “老旧版本支持”