[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Distinct transactions


I have been asked to set up a Linux box that can be power-cycled at any
time and it should not fail to reboot.  EXT3 seems like the basis for such
a box, and we have set up a RedHat 6.2 box with the new kernel and we have
ext3 working.  We have set up ext3 to journal both metadata and data
changes (and we are willing to accept the reduced disk throughput).

We are expecting to have logging data flowing onto the hard drive and we
expect to have configuration changes also made to the box.

>From what I can see, I can expect EXT3 to make sure that the logging data
flowing into the box will either be appended to the file or not, but I am
not sure at what level will the filesystem changes be 'chunked' into
transactions.  Is there some direct mapping of system calls to
'transactions' on the file system that we can assume?

Of even more importance is our configuration files.  If these get left in
some partly modified state, all else is pointless.  So, we are trying to
make sure we have some understanding of the 'right' way to make sure that
we keep consistent files for the configuration stuff.

We are proposing:
(1) copy the config file to some new file.
(2) modify the new file and close it.
(3) move the existing config file to a backup file
(4) move the modified file to replace the original file

Are we right in assuming that these actions retain their sequentiality with
journaling?  That is, can we be sure that if (3) occurred in the
filesystem, that (2) must have been completed?

If we can be *sure*, then we can fix any power cycle in the middle of the
update by looking at the state of the two files.  If the existing config
file is in place, we remove any 'new config' files.  If the existing config
file has been renamed, then we move the 'new config' in place and
continue.  We should never see the existing config file moved and no new
config file on the system.

Have we made any mistaken assumptions about the level and sequence of
transactions in the EXT3 stuff?  Any and all feedback and commentary are
greatly appreciated.



Now, we are developing some detailed test plans and I realize that I don't
know enough about the

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]