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.