management

Jon Simola jon at abccomm.com
Thu Jan 12 16:01:52 PST 2006


On 1/12/06, mike at lanline.com <mike at lanline.com> wrote:
>
> Hi all,
>
>         Sorry, I know I've asked a question similar to this in the past,
> but...  I am currently in the process of migrating from BSD/OS to
> FreeBSD.

I went through that exact migration years ago, and am currently moving
from FreeBSD to OpenBSD site-wide.

>  I'm very concerned with the management of my new FreeBSD server
> farm.  There doesn't seem to be much documentation in the way of large
> scale FreeBSD management.

Probably the lack of documentation is due to experience being more of
an issue at that level. I, or anyone, could write about how things are
done, but I cannot write out 8 years of sysadmin experience. I've had
enough of a problem training a Jr like that, there's just too much
"stuff" that involves experience.

Quick example, Jr and the NetworkAdmin moved an IP from one server to
another, and could not get it to work. They debugged it to the point
that they found the switch was still pushing packets to the old MAC
address. I told them the easiest fix was to poision the MAC cache on
the switch by publishing the new IP's MAC on the old server (fixed
problem immediately), and then I proceeded to find out why the Network
guy had the ARP cache on the switch set to 1800 seconds.

What boggles me is that management here wants me to write the mythical
book you're talking about. In a "Choose Your Own Adventure" format, so
that the janitor could fix the NFS mail store crash after a spammer
injected 4 million copies of an adult-themed video into the queues.

> I posted a question recently about upgrades
> (having one server w/ the source and NFS mounting the source dirs to all
> the other machines and building that way), but I feel like some minor
> details are missing.  Like, can I or should I redirect the obj code to a
> directory on the local machine so I don't have to do a make clean as I go
> from server to server (and if so, can I do this through make.conf)?

If the machines are all similar (at least the same architecture) then
you can run a build server for 'make buildworld' and 'make
buildkernel', then NFS mount /usr/obj and /usr/src on each machine in
the farm for the 'make installkernel' and 'make installworld'. I've
done that myself a few times, mostly for keeping older hardware in
service.

> Same thing with ports.

'make package' on your buildserver, and then install the packages.

What I'm doing now is all my machines have a common NFS mounted /usr
and /var/db/pkg so installing a port/package on any one of them means
they all have the package installed.
Were I writing a document on large site deployments, I would highly
advise against doing this for a lot of reasons, mostly because a
single screwup becomes a screwup on every machine. But it it something
that, in *my* experience and in *my* particular setup saves me a lot
of time.

> anything (e.g. can I force the binary to get installed in a certain dir?)

A man page or reading docs will tell you how to change the install
path, but they generally don't cover the wisdom or reasons why
changing the default is good/bad.

> I know I could look in the makefiles and stuff, but I really don't have
> that kind of time (damn sys. admining)

man 7 ports

> Is there some documentation or
> something I don't know about that answers questions like these?

There's a lot in the man pages.

> I mean
> the handbook is great for general config. questions, but I'm more
> interested in server farm management and maintenance.

Experience has been my best teacher. FreeBSD or any other operating
system is just that, an operating system on a single machine. You may
be interested in SAGE ( http://www.sage.org ) and their resources.

Hopefully this helps somewhat. At the least, you got the advice you paid for :)

--
Jon Simola
Systems Administrator
ABC Communications


More information about the freebsd-isp mailing list