Subject: Re: Which snapshot strategy to use? was: How to capture all file system writes
To: None <tech-kern@netbsd.org>
From: gabriel rosenkoetter <gr@eclipsed.net>
List: tech-kern
Date: 10/24/2003 09:19:25
--3V7upXqbjpZ4EhLz
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Oct 24, 2003 at 10:00:47AM +1000, matthew green wrote:
> why?  i've been using raidframe root on my netbsd boxes since not
> long after it appeared.  this isn't journalling or snapshots, but
> the technology to have root be a non-plain filesystem isn't that
> special and it's something we've supported for a while already.

The danger comes when you start needing userland utilities to make
your in-kernel disk foo work. If you're not doing that, then a
kernel upgrade will just work.

But consider how things that touch kmem (top, for instance) and the
in-kernel packet filter bits (like ipf manipulation utilities) take
a header when you jump past an interface change by upgrading your
kernel without installing the newer userland utilities. Doing that
with disk, especially your boot disk, would be scary. Not
unrecoverable, but pretty painful.

Veritas on Solaris is especially painful, because you have to remove
the old Veritas package in order to install the new one. That means
that you have to de-encapsulate the disks, figure out which
/dev/dsk/c?t?d?s? you want to boot from (where you've only been
dealing with /dev/vx/dsk/<diskgroup>/<disk> for the past three years
or so), boot from that, remove the old Veritas packages, install
the new version of Veritas, and then re-encapsulate. And it probably
doesn't help that Veritas is a kernel module (since the vast majority
of their audience wouldn't have a clue how to rebuild a Solaris
kernel, nor have the source to do so anyway).

Veritas provides scripts that they claim can do all of this for
you, but that's a pack of lies, and everyone knows it (including
their tech support).

NetBSD's situation may be a little bit different if all of the
important bits live in the kernel... but as soon as there starts
being some kind of userland-involved volume manager, it's risky
business to have the disks that you absolutely need to boot from
managed by it. For Solaris, letting Sun's DiskSuite manage the boot
disks is safe (because you upgrade all of Solaris at the same time),
but letting Veritas manage it is scary. For NetBSD, letting the
kernel reliably handle everything about the boot disks is safe, but
needing a userland or kernel module utility to touch it to boot is
scary (because the routine process when upgrading to a slightly
newer version, both on the netbsd-N-M source line and on the
netbsd-current source line, is to build and install the new kernel,
and then upgrade userland).

Not saying it doesn't or can't work for you. Just saying it's scary.

--=20
gabriel rosenkoetter
gr@eclipsed.net

--3V7upXqbjpZ4EhLz
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)

iD8DBQE/mSbd9ehacAz5CRoRApGCAJ9pZtKM2ZB0iJh5H1xDkPFDDxoEbgCgr2Yw
FPeqSHHrPpTPoYdYKxOON/k=
=7xlI
-----END PGP SIGNATURE-----

--3V7upXqbjpZ4EhLz--