Re: [vdsm] [Libstoragemgmt-devel] [Engine-devel] RFC: Writeup on VDSM-libstoragemgmt integration

2012-06-25 Thread Tony Asleson
On 06/25/2012 09:14 AM, Deepak C Shetty wrote:
 On 06/25/2012 07:47 AM, Shu Ming wrote:

 I think VDSM-libstoragemgmt will let the storage array itself to make 
 the snapshot and handle the coordination of the various atomic 
 functions. VDSM should be blocked on the following access to the 
 specific luns which are under snapshotting.
 
 I kind of agree. If snapshot is being done at the array level, then the 
 array takes care of quiesing the I/O, taking the snapshot and allowing 
 the I/O, why does VDSM have to worry about anything here, it should all 
 happen transparently for VDSM, isnt it ?

The array can take a snapshot in flight, but the data may be in an
inconsistent state.  Only the end application/user of the storage knows
when a point in time is consistent.  Typically the application(s) are
quiesced, the OS buffers flushed (outstanding tagged IO is allowed to
complete) and then the storage is told to make a point in time copy.
This is the only way to be sure of what you have on disk is coherent.

A transactional database (two-phase commit) and logging file systems
(meta data) are specifically written to handle these inconsistencies,
but many applications are not.

Regards,
Tony

___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] [Libstoragemgmt-devel] [Engine-devel] RFC: Writeup on VDSM-libstoragemgmt integration

2012-06-25 Thread Deepak C Shetty

On 06/25/2012 08:38 PM, Tony Asleson wrote:

On 06/25/2012 09:14 AM, Deepak C Shetty wrote:

On 06/25/2012 07:47 AM, Shu Ming wrote:

I think VDSM-libstoragemgmt will let the storage array itself to make
the snapshot and handle the coordination of the various atomic
functions. VDSM should be blocked on the following access to the
specific luns which are under snapshotting.

I kind of agree. If snapshot is being done at the array level, then the
array takes care of quiesing the I/O, taking the snapshot and allowing
the I/O, why does VDSM have to worry about anything here, it should all
happen transparently for VDSM, isnt it ?

The array can take a snapshot in flight, but the data may be in an
inconsistent state.  Only the end application/user of the storage knows
when a point in time is consistent.  Typically the application(s) are
quiesced, the OS buffers flushed (outstanding tagged IO is allowed to
complete) and then the storage is told to make a point in time copy.
This is the only way to be sure of what you have on disk is coherent.

A transactional database (two-phase commit) and logging file systems
(meta data) are specifically written to handle these inconsistencies,
but many applications are not.



Thanks for clarifying Tony. So that means we need to do whatever from 
VDSM to quiese the I/O

and then VDSM should instruct the array to take the snapshot.

___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel