System reproduction, maintenance and management

System reproduction and maintenance is something that becomes a royal pain real quick the moment you have more than just a few machines to look after.

To lessen the pain I make extensive use of Debian/Ubuntu since the package and dependency management system is so robust and dependable. Anyone still trying to deal with RPM pain and wants more free time in their day might also find these distributions helpful.

The general approach I've started taking to the systems I have to manage is to create a master root level path in the form /srv/%hostname% where all the content under that path is managed in a central subversion repository. When I come to a file on the system that I need to manage or adjust in some way I resist the temptation to edit it directly, I first move it to the subversion repository and then symlink it back into place. This means I can blow away a system entirely and get a fresh system up and running again with much less effort simply by pulling in the appropriate content back into /srv/%hostname% from subversion and re linking some files.

To make things easier I make extensive use of scripts that re-link and reinitialize the system to get it going. Why go to all this effort? Because if you even think you want to take advantage of technologies like Amazon Elastic Computing you're going to need some easy mechanism for getting those systems up and running quickly from a standard snapshot.

To date this has been a fairly easy approach and works well in a development-to-testing environment across various systems. Now, I can't imagine why I never thought to seek open/free tools that specifically deal with this, especially given I've always known about the likes of BladeLogic and OpsWare. Of course there are a number of great projects dealing with this.

From their own sites:-

Fully Automatic Installation is an automated installation tool to install or deploy Debian GNU/Linux and other distributions on a bunch of different hosts or a Cluster. It's more flexible than other tools like kickstart for Red Hat, autoyast and alice for SuSE or Jumpstart for SUN Solaris. FAI can also be used for configuration management of a running system.

Cfengine is an automated suite of programs for configuring and maintaining Unix-like computers. It has been used on computing arrays of between 1 and 20,000 computers since 1993 by a wide range of organizations. Cfengine is supported by active research and was the first autonomic, hands-free management system for Unix-like operating systems. Cfengine is an autonomic maintenance system not merely a change management roll-out tool. Cfengine has a history of security and adaptability.

Puppet is an open-source next-generation server automation tool. It is composed of a declarative language for expressing system configuration, a client and server for distributing it, and a library for realizing the configuration. The primary design goal of Puppet is that it have an expressive enough language backed by a powerful enough library that you can write your own server automation applications in just a few lines of code. With Puppet, you can express the configuration of your entire network in one program capable of realizing the configuration. The fact that Puppet has open source combined with how easily it can be extended means that you can add whatever functionality you think is missing and then contribute it back to the main project if you desire.

GOsa provides a powerful GPL'ed framework for managing accounts and systems in LDAP databases. Using GOsa allows system administrators to easily manage users and groups, fat and thin clients, applications, phones and faxes, mail distribution lists and many other parameters. In conjunction with FAI (Fully Automatic Installation), GOsa allows the highly automated installation of preconfigured systems. GOsa² therefore provides a single, LDAP-based point of administration for large and small environments, thus making the administration of users and systems and all related parameters manageable and easy.

A good article on the topic of system administration automation covering a long list of the available tools out there:-
http://www.techforce.com.br/index.php/news/linux_blog/massive_installati...

N

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.