> EBS volume atomicity is good. We've had tons of experience since EBS came
> out almost 4 years ago,  to back all kinds of things, including large DBs.
> One important thing to have in mind though, is that EBS snapshots are done
> at the block level, not at the filesystem level. So depending on the
> filesystem you have on top of the drives you might need to tell the
> filesystem to "make sure this is consistent or recoverable now". For
> example, if you use the log-based XFS, you might need to do xfs_freeze,
> snapshot disc/s, xfs_unfreeze. To make sure that the restored filesystem
> data (and not only the low level disk blocks) is recoverable when you
> restore them.

No. That is only require if you're doing multi-volume EBS snapshots
(e.g. XFS on LVM). The entire point of an atomic snapshot is that
atomicity gives a consistent snapshot; a modern file system which is
already crash-consistent will be consistent in an atomic snapshot
without additional action taken.

That said, of course exercising those code paths regularly, rather
than just on crashes, may mean that you have an elevated chance of
triggering a bug that you would normally see very rarely. In that way,
xfs_freeze might actually help probabilistically; however strictly
speaking, discounting bugs, a crash-consistent fs will be "consistent
snapshot consistent" as well (it is logically implied).

But this all assumes the entire stack is correct, and that e.g. an
fsync() propagates correctly (i.e., not eaten by some LVM or mount
option to the fs) in order to bring that consistency up to the
application level.

-- 
/ Peter Schuller

Reply via email to