|
|
![]() |
|
|
Tech Insight: Managing Configuration Files in a Linux or Unix Partition by James Neal Linux and open systems are becoming larger players in the data center world, even in the AS/400 and iSeries environment. As a result, administrators are faced with a new challenge in managing their Linux partitions without some of the tools and techniques that have worked for them in the OS/400 environment. One of the major challenges in working in a Linux environment is configuration management, the practice of handling files and storing changes to files, including system and application configuration files.
Configuration Management Defined In a Linux environment, there is no automatic method for capturing changes to files. When you change a file and save that file, the previous version is overwritten, as it would be in a typical desktop system, such as Windows. Usually this does not cause major problems. In some cases, however, capturing the changes being made to files, and providing the capability to recover previous versions of a file, is vital to effective, predictable, and reproducible operations. Configuration management is the practice of managing this problem. In configuration management, you store an original, or baseline, version of a file in a central repository. Then, with each change, you save to the repository again. The configuration management tool stores only the changes, reducing the amount of required disk space. Each time you save to the repository, a name, or tag, is applied that allows you to specify that change. In some cases, change log books are kept for server changes, and periodic audits are required. When retrieving a previous version, you can specify the tag or the time from the file. If you wanted to retrieve the version of the file that existed, say, last Friday at 2:30 p.m., you could specify that time. A typical configuration management tool could go to the last baseline, apply the incremental changes, and construct the file as it existed last Friday at 2:30 p.m. This process is typically used by programmers, who periodically store versions of code in a central repository. If a problem occurs with the programmer's copy of a file, he can retrieve the most current version from the repository. This process is starting to be applied in the systems administration arena, as well. Configuration management also allows other users to access the files stored in a repository. For instance, when a programmer needs a specific piece of code, he can retrieve it from the repository and use it with the code he is developing. Programmers can also assemble pieces of code that work individually, to perform integration testing or to do testing on other platforms. Finally, configuration management systems identify the differences between two versions of a single file. This capability, typically called "diff," is useful in isolating changes that cause problems in files. Applying Configuration Management to Linux Partitions In the world of Linux administration, this concept can add great value in managing configuration files. Unlike the OS/400 environment, the Linux environment stores configuration information in files. It does not store previous versions of any file (including configuration files) as changes are made. As a result, administrators cannot quickly roll back configuration files to previous versions or make previous versions of configuration files available to other servers. A configuration file management tool, such as GMx Solutions' recently announced CM_SAFE product, allows you to store each new version of a configuration file in a centralized configuration repository. With each new version saved to the repository, changes are noted and stored for auditing and for later retrieval, as necessary. If a configuration problem occurs, an administrator can isolate the time at which the problem occurred and use the diff functionality to find the changes that occurred at around that time. After the administrator finds the problem, he can retrieve the last working version from the repository. In many cases, functions are spread across multiple servers. For instance, to increase bandwidth and reduce risk, companies typically employ multiple Web servers. A configuration problem created in a single Web server’s configuration file, and applied to all Web servers, would create the same problems on each Web server. By storing the configuration files in a central repository, an administrator retrieves a working configuration from that repository and applies it to any server that needs to be restored to a known working state. This prevents the type of repetition that can often result in errors, and facilitates a quicker recovery across the entire enterprise. Also, a central repository containing configuration files allows administrators to test configuration changes in a test environment before introducing them to a production environment. This practice reduces risk by allowing unforeseen problems to occur before they affect production servers and reduce productivity or revenue. Finally, because security is vital to any organization, the configuration manager creates an audit trail of changes and records the identity of the person who made the changes. This feature can be used to alert administrators when changes are made to certain key configuration files, preventing intrusion before it can create problems. James Neal is the chief architect of GMx Solutions' CM_SAFE configuration file manager, which provides configuration management functionality and reporting for open systems configuration files on iSeries Linux partitions and most other open system servers. James can be reached at james.neal@gmxsolutions.com.
|
Editor
Contact the Editors |
|
Last Updated: 10/8/02 Copyright © 1996-2008 Guild Companies, Inc. All Rights Reserved. |