All of lore.kernel.org
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@MIT.EDU>
To: Valdis.Kletnieks@vt.edu
Cc: Kyle Moffett <mrmacman_g4@mac.com>,
	Andi Kleen <andi@firstfloor.org>,
	LKML Kernel <linux-kernel@vger.kernel.org>
Subject: Re: The ext3 way of journalling
Date: Wed, 9 Jan 2008 07:49:13 -0500	[thread overview]
Message-ID: <20080109124913.GO21097@mit.edu> (raw)
In-Reply-To: <22619.1199865353@turing-police.cc.vt.edu>

On Wed, Jan 09, 2008 at 02:55:53AM -0500, Valdis.Kletnieks@vt.edu wrote:
> 
> Does this create a snapshot of the *disk* at that moment, or does it
> capture "disk plus still-to-be-written blocks in the cache"?
> (Phrased differently, does it Do The Right Thing regarding "blocks
> queued before lvcreate" and "blocks queued for write after
> lvcreate")?
> 
> If the snapshot doesn't capture the blocks queued but still
> unwritten by kjournald and similar, then you're still hitting the
> same old problems that you always get when you fsck an "active
> disk".

Actually, it does better than that.  For ext3 and xfs, it will take a
snapshot of the filesystem in a quiscent state; that is, it will force
the journal transaction to close, suspend all filesystem activity,
take a snapshot of the disk as if it had been unmounted, and then
allow filesystem activity to continue.

So if you look at an ext3 filesystem taken in this way, you will see
that the NEEDS_RECOVERY flag is not set, since the ext3 journal is
empty on the snapshot.  So snapshots are also a great way of doing
stable backups.  For the purposes of stable backups, you'll also want
to quiesce your application files, particularly databases.  

For example, in the case of mysql, send the server the sql commands
"flush tables with read lock; flush logs", take the snapshot, and
then after the snapshot send the server the sql command "unlock tables".
For more information, see: 

    http://forums.mysql.com/read.php?26,185026,185302#msg-185302

If you do this, you will get a snapshot of your disk where *both* the
database and the filesystem is at a stable state, perfect for doing a
backup.

						- Ted

  reply	other threads:[~2008-01-09 12:50 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-08 16:07 The ext3 way of journalling Tuomo Valkonen
2008-01-08 16:35 ` Jan Engelhardt
2008-01-08 16:52   ` Tuomo Valkonen
2008-01-08 17:18     ` Jan Engelhardt
2008-01-08 17:48       ` Tuomo Valkonen
2008-01-08 18:20         ` Jan Engelhardt
2008-01-08 18:32     ` Diego Calleja
2008-01-08 18:42       ` Tuomo Valkonen
2008-01-08 16:39 ` John Stoffel
2008-01-08 16:59   ` Tuomo Valkonen
2008-01-08 21:49     ` John Stoffel
2008-01-09 13:39     ` Mathieu SEGAUD
2008-01-09 14:16       ` Tuomo Valkonen
2008-01-10 13:16         ` Theodore Tso
2008-01-10 13:41           ` Tuomo Valkonen
2008-01-12 15:06             ` Theodore Tso
2008-01-12 19:24               ` Andrey Vul
2008-01-13 22:13               ` Tuomo Valkonen
2008-01-13 22:23                 ` Tuomo Valkonen
2008-01-13 23:11                   ` Theodore Tso
2008-01-14  7:15                     ` Tuomo Valkonen
2008-01-14  9:42                       ` Bernd Petrovitsch
2008-01-14  9:48                         ` Tuomo Valkonen
2008-01-14  9:57                           ` Bernd Petrovitsch
2008-01-14 10:44                             ` Christer Weinigel
2008-01-14 11:11                             ` Tuomo Valkonen
2008-01-14 11:18                               ` Bernd Petrovitsch
2008-01-14 11:27                                 ` Tuomo Valkonen
2008-01-14 10:06                           ` Krzysztof Halasa
2008-01-14 11:03                             ` Tuomo Valkonen
2008-01-14 12:46                               ` Krzysztof Halasa
2008-01-14 16:18                                 ` Lennart Sorensen
2008-01-14 23:13                                   ` Alejandro Riveira Fernández
2008-01-15 16:31                                     ` Lennart Sorensen
2008-01-15  1:09                                   ` Krzysztof Halasa
2008-01-15 16:32                                     ` Lennart Sorensen
2008-01-14 16:10                       ` me
2008-01-14 16:17                         ` Tuomo Valkonen
2008-01-14 22:39                       ` John Hubbard
2008-01-14  0:36                   ` Bernd Eckenfels
2008-01-08 16:48 ` Andre Noll
2008-01-08 17:52   ` Tuomo Valkonen
2008-01-08 18:07     ` Masoud Sharbiani "مسعود شربیانی"
2008-01-08 18:16       ` Tuomo Valkonen
2008-01-08 18:22         ` Alan Cox
2008-01-08 18:11     ` Jan Engelhardt
2008-01-08 18:20       ` Tuomo Valkonen
2008-01-08 18:29     ` Andre Noll
2008-01-08 18:40       ` Tuomo Valkonen
2008-01-08 18:47         ` Alan Cox
2008-01-08 23:06     ` Matthias Schniedermeyer
2008-01-09  7:56       ` Tuomo Valkonen
2008-01-09 10:21         ` Matthias Schniedermeyer
2008-01-09 10:28           ` Matthias Schniedermeyer
2008-01-09 12:30             ` Theodore Tso
2008-01-10 11:30       ` Helge Hafting
2008-01-10 14:02         ` Lennart Sorensen
2008-01-10 14:41         ` Matthias Schniedermeyer
2008-01-09  2:05     ` Bernd Petrovitsch
2008-01-08 16:53 ` Andi Kleen
2008-01-08 17:01   ` Tuomo Valkonen
2008-01-08 18:15     ` Theodore Tso
2008-01-08 20:51       ` Andi Kleen
2008-01-08 21:03         ` Ondrej Zary
2008-01-08 21:57         ` Theodore Tso
2008-01-09  3:21         ` Kyle Moffett
2008-01-09  7:55           ` Valdis.Kletnieks
2008-01-09 12:49             ` Theodore Tso [this message]
2008-01-09  8:00           ` BuraphaLinux Server
2008-01-09  8:21             ` Valdis.Kletnieks
2008-01-09  9:54       ` Martin Schwidefsky
2008-01-09 12:25         ` Theodore Tso
2008-01-09 12:44           ` Michal Schmidt
2008-01-09 13:53           ` Martin Schwidefsky
2008-01-09 19:47             ` Martin Schwidefsky
2008-01-08 21:32 ` Pavel Machek
2008-02-08  4:16 ` Rogelio Serrano
     [not found] <9JpbI-5yi-9@gated-at.bofh.it>
     [not found] ` <9JpEP-6df-25@gated-at.bofh.it>
     [not found]   ` <9JpYc-6Eb-13@gated-at.bofh.it>
     [not found]     ` <9Jqhr-7l9-13@gated-at.bofh.it>
     [not found]       ` <9JqKt-7Z5-9@gated-at.bofh.it>
2008-01-08 22:24         ` Bodo Eggert
     [not found] ` <9Jqri-7ym-17@gated-at.bofh.it>
     [not found]   ` <9JqUn-8bF-15@gated-at.bofh.it>
     [not found]     ` <9JvKj-85h-41@gated-at.bofh.it>
2008-01-11 16:22       ` Bodo Eggert
2008-01-11 18:39         ` Lennart Sorensen
2008-01-12  1:41           ` Bodo Eggert
2008-01-12  7:10             ` TimC
2008-01-12 10:08               ` Matthias Schniedermeyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080109124913.GO21097@mit.edu \
    --to=tytso@mit.edu \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=andi@firstfloor.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mrmacman_g4@mac.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.