DUCT - Distributed Unix Cluster Toolkit
DUCT is a suite of tools which help Unix system administrators easily
configure and maintain large clusters of workstations in client-server
environments. It was designed with common configuration needs in mind, but
also intended to be flexible and extendable enough that it can be used
for any type of configuration data that might arise.
- Download DUCT
- DUCT Features
- Future Plans
Download DUCT
The current version of DUCT is duct-0.1 alpha.
DUCT source code is available from:
ftp://ftp.feep.net/pub/software/DUCT/duct-0.1.tar.gz
To compile DUCT, you will need the Berkeley DB library,
libdb-2.4.14. Binary distributions of libdb are
available for many platforms from the
Encap Archive, or you
can retrieve the source code from
http://www.sleepycat.com/db/.
DUCT Features
Here are the current features of DUCT:
- Server maintains databases of configuration information; each
database record applies to some set of client machines.
- Modular plugins (also called "methods") are used to distribute a
given type of configuration data to the appropriate set of client
machines.
- Primarily designed for /etc/passwd, /etc/services,
and other traditional Unix databases.
- New plugins can be defined for handling any arbitrary type of
configuration data (using methods database).
- Different plugins can be used to format the same data differently
for different hosts (e.g., Solaris' /etc/shadow vs. AIX's
/etc/security/passwd).
- Can flexibly organize client machines into groups of similar
configuration (using hostgroups database).
- Contains many tools for editting databases from the commandline
(dbchange, dbadd, newdb,
dbdel, txt2db).
- Has data-distribution program (dbdist) to distribute all
databases to all client machines; can be run out of cron.
- Contains tool (distcmd) to execute a remote command on some
set of remote hosts.
- Uses a standard database library (Berkeley libdb-2.4.14).
Future Plans
These features will be implemented in future versions of DUCT:
- Scripts to easily initialize the configuration databases from Unix text
databases or NIS maps.
- Better documentation. :)
- More flexible relational database hooks.
- System and Service Monitoring Tools
- Verifies that the system is up.
- Monitors processes, TCP services, diskspace, virtual memory, etc.
- Can be extended to monitor arbitrary system characteristics via
modular plugins.
- Can be configured to perform certain actions (such as paging the admin)
when certain stimuli occur (e.g., the machine runs out of swap between
9AM and 5PM).
Mark D. Roth <roth@feep.net>