continuous backup solution for FreeBSD
Jeremy Chadwick
koitsu at FreeBSD.org
Fri Oct 10 15:42:53 UTC 2008
On Fri, Oct 10, 2008 at 11:29:52AM -0400, Mike Meyer wrote:
> On Fri, 10 Oct 2008 07:41:11 -0700
> Jeremy Chadwick <koitsu at FreeBSD.org> wrote:
>
> > On Fri, Oct 10, 2008 at 03:53:38PM +0300, Evren Yurtesen wrote:
> > > Mike Meyer wrote:
> > >> On Fri, 10 Oct 2008 02:34:28 +0300
> > >> yurtesen at ispro.net wrote:
> > >>
> > >>> Quoting "Oliver Fromme" <olli at lurza.secnetix.de>:
> > >>>
> > >>>> These features are readily available right now on FreeBSD.
> > >>>> You don't have to code anything.
> > >>> Well with 2 downsides,
> > >>
> > >> Once you actually try and implement these solutions, you'll see that
> > >> your "downsides" are largely figments of your imagination.
> > >
> > > So if it is my imagination, how can I actually convert UFS to ZFS
> > > easily? Everybody seems to say that this is easy and that is easy.
> >
> > It's not that easy. I really don't know why people are telling you it
> > is.
>
> Maybe because it is? Of course, it *does* require a little prior
> planning, but anyone with more than a few months experience as a
> sysadmin should be able to deal with it without to much hassle.
>
> > Converting some filesystems are easier than others; /home (if you
> > create one) for example is generally easy:
> >
> > 1) ZFS fs is called foo/home, mounted as /mnt
> > 2) fstat, ensure nothing is using /home -- if something is, shut it
> > down or kill it
> > 3) rsync or cpdup /home files to /mnt
> > 4) umount /home
> > 5) zfs set mountpoint=/home foo/home
> > 6) Restart said processes or daemons
> >
> > "See! It's like I said! EASY!" You can do this with /var as well.
>
> Yup. Of course, if you've done it that way, you're not thinking ahead,
> because:
>
> > Now try /usr. Hope you've got /rescue available, because once /usr/lib
> > and /usr/libexec disappear, you're in trouble. Good luck doing this in
> > multi-user, too.
>
> Oops. You F'ed up. If you'd done a little planning, you would have
> realized that / and /usr would be a bit of extra trouble, and planned
> accordingly.
>
> > And finally, the root fs. Whoever says "this is easy" is kidding
> > themselves; it's a pain.
>
> Um, no, it wasn't. Of course, I've been doing this long enough to have
> a system set up to make this kind of thing easy. My system disk is on
> a mirror, and I do system upgrades by breaking the mirror and
> upgrading one disk, making everything work, then putting the mirror
> back together. And moving to zfs on root is a lot like a system
> upgrade:
>
> 1) Break the mirror (mirrors actually, as I mirrored file systems).
> 2) Repartition the unused drive into /boot, swap & data
> 3) Build zfs & /boot according to the instructions on ZFSOnRoot
> wiki, just copying /boot and / at this point.
> 4) Boot the zfs disk in single user mode.
> 5) If 4 fails, boot back to the ufs disk so you're operational while
> you contemplate what went wrong, then repeat step 3. Otherwise, go
> on to step 6.
> 6) Create zfs file systems as appropriate (given that zfs file
> systems are cheap, and have lots of cool features that ufs
> file systems don't have, you probably want to create more than
> you had before, doing thing like putting SQL serves on their
> own file system with appropriate blocking, etc, but you'll want to
> have figured all this out before starting step 1).
> 7) Copy data from the ufs file systems to their new homes,
> not forgetting to take them out of /etc/fstab.
> 8) Reboot on the zfs disk.
> 9) Test until you're happy that everything is working properly,
> and be prepared to reboot on the ufs disk if something is broken.
> 10) Reformat the ufs disk to match the zfs one. Gmirror /boot,
> add the data partition to the zfs pool so it's mirrored, and
> you should have already been using swap.
>
> This is 10 steps to your "easy" 6, but two of the extra steps are
> testing you didn't include, and 1 of the steps is a failure recovery
> step that shouldn't be necessary. So - one more step than your easy
> process.
Of course, the part you seem to be (intentionally?) forgetting: most
people are not using gmirror. There is no 2nd disk. They have one disk
with a series of UFS2 filesystems, and they want to upgrade. That's how
I read Evren's "how do I do this? You say it's easy..." comment, and I
think his viewpoint is very reasonable.
> Yeah, this isn't something you do on a whim. On the other hand, it's
> not something that any competent sysadmin would consider a pain. For a
> good senior admin, it's a lot easier than doing an OS upgrade from
> source, which should be the next step up from trivial.
I guess you have a very different definition of "easy". :-)
The above procedure, in no way shape or form, will be classified as
"easy" by the user (or even junior sysadmin) community, I can assure you
of that.
I'll also throw this in the mix: the fact that we are *expecting* users
to know how to do this is unreasonable. It's even *more* rude to expect
that mid-level or senior SAs have to do it "the hard way". Why? I'll
explain:
I'm an SA of 16+ years. I'm quite familiar with PBR/MBR, general disk
partitioning, sectors vs. blocks, slices, filesystems, and whatever
else. You want me to do it by hand, say, with bsdlabel -e? Fine, I
will -- but I will not be happy about it. I have the knowledge, I
know how to do it, so why must the process continue to be a PITA and
waste my time?
This is exactly why I hate things like the OpenBSD installer: do not
make me do it the hard way. We're living in 2008, not 1989. Evolve.
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP: 4BD6C0CB |
More information about the freebsd-hackers
mailing list