On Wed, Mar 19, 2008 at 05:06:55PM +0100, Jan Pechanec wrote:
> On Wed, 19 Mar 2008, Casper.Dik at Sun.COM wrote:
> 
> >Secondly, SMF has already proven to me to be too fragile because either
> >the underlying database technology is not reliable or the way it uses
> >that technology is prone to failures.  Powercycling a system during 
> >certain parts of boot is almost guaranteed to cause the next boot to
> >fail with a corrupted registry.  The fact that that is even possible
> >concerns me greatly; recovery is easy but requires manual intervention.

I'm real curious about this.  For example, would upgrading to SQLite3
help?  Or is there a fundamental problem with SQLite2 that is not not
changed in 3?  Or can SMF recover more intelligently?  Or is this more
of a UFS reliability issue that ZFS boot will help with?

I recently accidentally pulled the power cord on my laptop while
shutting down.  The battery was out (I leave it out when at home to
extend battery life).  When the system came up a number of files were
corrupted, like /etc/inet/hosts, and fsck didn't catch that -- the
system just reached multi-user as if nothing had happened.  I had to
manually fsck -y the filesystems, and that found a fixed lots of
problems, but not the corruption of /etc/inet/hosts.

How can SMF protect itself against UFS damage?

The way SQLite works it keeps a journal during transactions.  The
journal provides both, locking and a way to rollback transactions that
are in progress when the writer dies (e.g., reboot).  Perhaps this
approach + UFS unreliability just don't mix.  But even if SQLite had a
ZFS-like COW approach to transactions internally it might still not mix
with UFS unreliability.

>       this is quite an important point given the fact that sshd is the 
> only remote (login) service started by default.

Putting sshd config into SMF won't make that worse.  If the SMF
configuration repository is corrupted then sshd won't start, and that's
_today_.

Nico
-- 

Reply via email to