zhf69
不适用

SnapView 同一个source lun配置多个快照(Snapshot)时,快照回滚(Rollback) 的问题

跳至解决方案

假设Source LUN下,配置SnapView Snapshot:S1,S2,S3

1、S2已经做过更改(写快照操作),S2在active情况下执行回滚。回滚完成后Source LUN的数据应该是和S2一样了,请问,这种情况下,S1和S3这两个快照还可用吗?

2、S2没有做过更改,或者S2在deactive情况下回滚;S3是在S2之后创建的,请问回滚S2后,S3还可用吗?

标签 (2)
0 项奖励
1 解答

已接受的解答
Zhang_Jiawen
4 Beryllium

Re: Re: SnapView 同一个source lun配置多个快照(Snapshot)时,快照回滚(Rollback) 的问题

跳至解决方案

是的。快照数据写入source LUN同时COW一直在进行。在reserve LUN pool空间足够的条件下,快照创建之时开始后台都会有COW来记录source LUN的变化,这样可以保证sourceLUN在发生改变,包括rollback后仍然可以恢复到过去某个时间点。

COW是在后台操作的,对性能的影响无法量化,只能说大量COW会降低性能。

有篇文章可以参考下:SnapView Snapshot的性能考虑

下面就是摘自白皮书的内容了:

如果想要放弃S2的Rollback,可以把source LUN恢复成会话刚开始的模样,只要在rollback之前把snapshot deactivate,数据就成为原来的copy-on-first-write data。红色标识部分是snapshot的写入,下图表示写入snapshot的rollback:

11.PNG.png

deactivate之后,original session data 拷贝到source LUN,source LUN恢复成最开始的COFW数据。

12.PNG.png

在原帖中查看解决方案

0 项奖励
7 回复数

Re: SnapView 同一个source lun配置多个快照(Snapshot)时,快照回滚(Rollback) 的问题

跳至解决方案

Hi zhf69,

What I have understood from above post is you want to roll back a SnapView to its previous state. In this case, you can do the same, as pointed here if you will roll-back S3 to a point-in-time let's say S2. After roll-back you will get S2 data or File State but not S3, cause you already are going to previous state.

You can make a Schedule of SnapView as auto or manual.

0 项奖励
zhf69
不适用

Re: SnapView 同一个source lun配置多个快照(Snapshot)时,快照回滚(Rollback) 的问题

跳至解决方案


我考虑的是这样一种场景:假设恢复一个修改过的快照后,再想从其他快照中读取某个文件。

根据Zhang,Jiawen的回答,我知道EMC的snapview是可以这样做的,

但我困惑的是,如果恢复快照时,将快照数据写入source lun的同时也需要做COW来保证数据的一致性?

如果是这样的话,那么快照恢复的性能怎么样?

0 项奖励

Re: SnapView 同一个source lun配置多个快照(Snapshot)时,快照回滚(Rollback) 的问题

跳至解决方案

When creating SnapView snapshots, the Activate Snapshot option is available in the QR Volume Creation dialog box. Selecting this option specifies that the SnapView snapshot will be activated (mounted) after creation.

In case if you have 3 snapshots of a particular source volume and you recover one of the snapshots (roll-back), the other 2 snapshots cannot be deleted until the source volume is remounted (you can remount it to any available drive letter-in Windows). So the conclusion is that the rest 2 will remain till the time you don't re-mount the Source Volume. Once the source volume is mounted, you can delete the unwanted snapshot. Snapshot doesn't take too much of resources or space. It is the on-the-fly process between the Host & Storage. After a communication between both the systems the I/Os are quieced for a fraction of seconds. We have to have Consistency Group LUNs (they are kind of Private LUNs) which store the logs, which are useful in case if something happens unexpected. 

0 项奖励
Zhang_Jiawen
4 Beryllium

Re: Re: SnapView 同一个source lun配置多个快照(Snapshot)时,快照回滚(Rollback) 的问题

跳至解决方案

是的。快照数据写入source LUN同时COW一直在进行。在reserve LUN pool空间足够的条件下,快照创建之时开始后台都会有COW来记录source LUN的变化,这样可以保证sourceLUN在发生改变,包括rollback后仍然可以恢复到过去某个时间点。

COW是在后台操作的,对性能的影响无法量化,只能说大量COW会降低性能。

有篇文章可以参考下:SnapView Snapshot的性能考虑

下面就是摘自白皮书的内容了:

如果想要放弃S2的Rollback,可以把source LUN恢复成会话刚开始的模样,只要在rollback之前把snapshot deactivate,数据就成为原来的copy-on-first-write data。红色标识部分是snapshot的写入,下图表示写入snapshot的rollback:

11.PNG.png

deactivate之后,original session data 拷贝到source LUN,source LUN恢复成最开始的COFW数据。

12.PNG.png

在原帖中查看解决方案

0 项奖励
Zhang_Jiawen
4 Beryllium

Re: SnapView 同一个source lun配置多个快照(Snapshot)时,快照回滚(Rollback) 的问题

跳至解决方案

两种情况下,S1和S3都是可用的。rollback操作独立于其他任何session以及snapshot,所以,它完全不会破坏其他session或snapshot。S1和S3创建之时就开始记录变更,只要reserved lun pool没有满,即使source LUN回滚成S2的状态,S1和S3仍然可用于回滚。

只不过,对于同一个LUN,在一次rollback没有结束之前不可以开始下一个rollback。为了保持source LUN的一致性,一个source LUN在同一时间只能执行一个rollback。

Zhang_Jiawen
4 Beryllium

Re: SnapView 同一个source lun配置多个快照(Snapshot)时,快照回滚(Rollback) 的问题

跳至解决方案

补充一点:对于问题1,snapshot device对于rollback的session是activate的,在做rollback时,这个snapshot应该要置为offline,使主机I/O无法访问,直到rollback完成为止。rollback完成之后,可以把snapshot重置为online。

0 项奖励
zhf69
不适用

Re: SnapView 同一个source lun配置多个快照(Snapshot)时,快照回滚(Rollback) 的问题

跳至解决方案

多谢耐心回答,但我对这个问题还有一些困惑:

按照《EMC CLARiiON snapview snapshots and snap session knowledgebook》白皮书中 figure.19 rollback with modified snapshot 的原理,恢复修改后的快照S2时,如果将S2的数据直接写到source lun,那么source lun中的数据就有可能已经不再是S1和S3创建时的数据一样了;也就是说,此时快照S1和S3所看到的数据有可能和快照生成时的数据不一致。

除非S2回滚时针对S1和S3也做COW?

0 项奖励