Managing Linux servers requires a degree of expertise. We need to do a better job of enabling mid-level system administrators with a background on other systems to manage Linux.
Existing management tools address a variety of needs. Red Hat Satellite Server is excellent for provisioning hardware, managing subscriptions, and handling patches and updates. Configuration management tools such as Puppet are great for putting systems into a known state, especially when you have many identical or near identical systems. The challenge is dealing with systems that need substantial customization and with fine grain control of individual systems.
We understand that systems administrators are looking for an easier way to configure the servers they manage. For example, consider how you would configure a system with sixteen local drives, four network interface cards (NICs), domain authentication, and a variety of software installed. You might:
- Configure the drives using RAID and logical volume management
- Configure the networks to support multiple VLANs and various bonding configurations
- Add the system to a domain for authentication
- Manage system services
- Get details on the exact hardware configuration of the system
Moreover, you might have to do this for multiple machines with different hardware configurations. It would be nice to have fine grain control of each server without having to ssh in to each individual machine and run local tools.
An approach that we have found works well is to provide a standardized remote API for system management functions, an enhanced scripting and command line environment, and a set of tools and functions designed for system administrators. Now, with the beta of Red Hat Enterprise Linux 7, you have these. Red Hat Enterprise Linux 7 beta includes OpenLMI, the Open Linux Management Infrastructure.
OpenLMI consists of several pieces:
- An API and communications infrastructure for system management built on open industry standards.
- A set of agents that implement this API and that use the existing Linux tools and utilities to modify the server. In other words, build on existing capabilities – don't start from scratch!
- LMIShell - a client application that provides a powerful and flexible scripting and command line environment. Built on Python, LMIShell provides the power of the Python ecosystem plus simple commands that can be called from the CLI or BASH scripts.
- Building on LMIShell is a set of scripts and commands that perform system administration tasks the way system administrators normally work. This allows immediate use of OpenLMI without having to master the entire system.
- Software development tools for building new agents, new scripts, and new commands. The same tools that we use to build OpenLMI are available to everyone.
OpenLMI builds on existing Linux strengths, is designed for the way system administrators actually work, and is intended to be extended and customized. You can try OpenLMI in the Red Hat Enterprise Linux 7 beta or in Fedora 20, and can learn more about OpenLMI from its web site, www.openlmi.org, or at techponder.wordpress.com.