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

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
ruandao
帖子: 177
注册时间: 2009-08-29 10:57

【已解决】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
帖子: 403
注册时间: 2008-01-09 21:19
系统: Gentoo

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

#2

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

因为snap是跟踪块的改变,所以即便你之前的LV是空的,但你新建文件以后这一部分的块发生了变化,所以为了保持一致性他会把这些块改变之前的状态复制到snap里。
ruandao
帖子: 177
注册时间: 2009-08-29 10:57

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

#3

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

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