Centralized System Administration for Groups of UNIX Machines
Mário João Gonçalves Antunes
Mestrado em Informática - Ramo de Sistemas e Redes
Departamento de Ciência de Computadores
Faculdade de Ciências da Universidade do Porto
October 2001
Abstract
Managing a computing environment consisting of hundreds of systems
from multiple vendors and hundreds of users dispersed over several
buildings is a complex task. The UNIX networks are heterogeneous,
composed by a variety of machines with different UNIX operating
systems. Each UNIX operating system has its own characteristics of
configuration and management, which means that system administrators'
tasks can be very hard and complex. The repetitive tasks executed on
the machines may increase configuration errors on the configuration
files.
A more efficient solution is to implement centralized administration
tasks and system configuration files. The main idea is to group the
systems logically according to some rules defined by the system
administrator, such as the geographical site or machines activity on
the network. With this solution, each group has a network
configuration that will be distributed by its activated machines. The
network configuration may consist of UNIX users and groups, as well as
NFS and DNS resources. This solution allows a request to be made once
and executed simultaneously on several systems, according to the
central configuration, eliminating the redundancy of the tasks and
data duplication.
The thesis concerns the design and implementation of an administration
system, MetaWebmin, which centralizes the administration of tasks and
configuration of a heterogeneous UNIX network. It supports grouping of
entities so that they can be managed as if they were just one
entity. The systems and network configuration is managed by filling
forms and is centralized in a central data repository implemented on a
relational database in MySQL. The MetaWebmin makes HTTP requests to
the Webmin servers running on the designated systems, which updates
the local configuration files according to the values of the request.
The MetaWebmin is a three-tier system administration. Three layers
compose its architecture: the system administration interface, the
MetaWebmin server together with the central database and the Webmin
servers. MetaWebmin has a module, which verifies data integrity and,
if necessary, updates the local configuration of a system to the
correspondent in the central data repository. To prevent data
inconsistency derived from HTTP requests with errors, MetaWebmin
detects these fails and allows automatic or manual recovery.
MetaWebmin is a modular application, developed in Perl, which
uses standard Internet protocols and it is easy to use and
install.