* Michael Lockhart <[EMAIL PROTECTED]> [2006-11-02 18:33]: > All, Wrap your bloody lines!
> > Here's a question that I wanted to pose to the OpenBSD community about > managing and maintaining a large number of OpenBSD systems in the field. To > provide some background, we currently have 650+ OpenBSD 3.2 systems in the > field, and I've been dealing with a fair share of headaches bringing our > software to a baseline across the board on all these systems. Keep in mind > most of what I'm working on is independent from the OS install itself. > Here's the things that I've got solutions in place for, but would like some > input on projects available, or good feedback from other's who have > maintained a large number of disparate systems: > > 1. Reliable package building system to auto-generate OpenBSD packages that > are compliant as much as possible with the standards enforced by OpenBSD. > I've got scripts to do this right now, but I'm not happy with them. > I use the built packages from openbsd.org > > 2. Command and Control. What projects or capabilities are available for > performing remote command and control over services, packages, and system > health? Currently, all push/pull is done with perl/sh scripts to bring files > over, sanity check, install, update, etc. I've been leaning towards creating > a daemon that runs on each system and has a secure connection back to a > centralized location for determining if updates are available. My proof of > concept works, but thoughts on how to do this right are GREATLY appreciated. > ssh gives me pretty much everything I need. for remote console most of my systems use serial tty's to cisco console servers and the ilk - all of which hide behind a console server box hooked to a private net running conserver from ports. conserver gives me remote console logging and shareing. > > 3. Remote upgrading. Going from 3.2 -> 3.8 or 4.0 is going to be very > difficult, and the approach that I am taking right now is creating a bsd.rd > based kernel/image that will boot fully into memory, and contain the > appropriate scripts to re-initialized the disks, rsync/scp/ftp/get/whatever > the new base image and kernel over, then reboot, and go into the new image, > and perform the rest of the upgrade from there. Has anyone done something > similar to this or know of any projects along these lines? > I do a couple of things for this, depending on what it is. To clone systems outright I use a bsd.rd and a variant of the usual dump | restore ;; installboot, take the master client dump each filesystem. make a shell script that then sets up filesystems, mounts them, grabs the aforementioned dumps, feeds them to restore, and then does an installboot and adjusts /etc/hostname.* and myname. The other approach I often do is a siteXX.tgz file. The standard openbsd installer will look for these and use them. if the tarball contains an executable site_install script it will also run it. My typical approach to a site customized distribution is to put a site_install script inside the siteXX.tgz file as well as any files I want to override from the distribution, and then do pkg_adds in the site_install script. Having said that, I'll often do remote upgrading from X.Y to A.B where the difference between A.B and X.Y isn't a lot. 3.2 to anything modern is huge. that's not an upgrade, it's a reinstall. I would be testing a sample on a modern client and deploying new installs based on that. -Bob > Anyway, just wanted to get some feedback from the community and see what > everyone had to say on this stuff. Thanks in advance everyone. > > Regards, > Mike Lockhart > > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Mike Lockhart [Systems Engineering & Operations] > StayOnline, Inc > http://www.stayonline.net/ > mailto: [EMAIL PROTECTED] > GPG: 8714 6F73 3FC8 E0A4 0663 3AFF 9F5C 888D 0767 1550 > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > -- #!/usr/bin/perl if ((not 0 && not 1) != (! 0 && ! 1)) { print "Larry and Tom must smoke some really primo stuff...\n"; }