LPIC-301(ES)
Contents
- 1 Introduction
- 2 Version Information
- 3 Addenda
- 4 Translations of Objectives
- 5 Objectives
Introduction
Capacity planning is the art and science of not running out of resources in the foreseeable future. It's often done informally, by measuring the resources that a program needs, commonly after having just run out of something.
If you make a table of how much CPU, memory and I/O bandwidth a program needs to do some unit of work, you can estimate how much it will need at some higher load in the future. Alternatively, you can use the measurements for sizing a new machine for the program, or for estimating how big a machine will be needed to consolidate your and other programs.
Informal spreadsheet estimates are often sufficient for simple sizing and future planning, but they do not have any correctness guarantees and they don't tell you:
- at what load the program will be overloaded, nor
- how much the response time of the program will balloon under load.
For that, you use one of the programs which solve the problem using queuing theory. There are commercial products which will do so on Linux, but at least one free queuing network solver exists, Perl::PDQ by Neil Gunther. These generate proper mathematical models, so you can predict the performance of the program under load, and calculate the drop-off in performance as the program becomes overloaded.
Version Information
These objectives are version 1.0.1.
Addenda
Addendum (Apr 1st, 2010)
- clarified C++ to mean C in development
Translations of Objectives
The following translations of the objectives are available on this wiki:
- English
- Spanish
Objectives
Topic 301: Concepts, Architecture and Design
301.1 LDAP Concepts and Architecture
Weight | 3 |
Description | Candidates should be familiar with LDAP and X.500 concepts |
Key Knowledge Areas:
- LDAP and X.500 technical specification
- Attribute definitions
- Directory namespaces
- Distinguished names
- LDAP Data Interchange Format
- Meta-directories
- Changetype operations
The following is a partial list of the used files, terms and utilities:
- LDIF
- Meta-directory
- changetype
- X.500
- /var/lib/ldap/*
301.2 Directory Design
Weight | 2 |
Description | Candidates should be able to design an implement an LDAP directory, while planning an appropriate Directory Information Tree to avoid redundancy. Candidates should have an understanding of the types of data which are appropriate for storage in an LDAP directory |
Key Knowledge Areas:
- Define LDAP directory content
- Organize directory
- Planning appropriate Directory Information Trees
The following is a partial list of the used files, terms and utilities:
- Class of Service
- Directory Information Tree
- Distinguished name
- Container
301.3 Schemas
Weight | 3 |
Description | Candidates should be familiar with schema concepts, and the base schema files included with an OpenLDAP installation |
Key Knowledge Areas:
- LDAP schema concepts
- Create and modify schemas
- Attribute and object class syntax
The following is a partial list of the used files, terms and utilities:
- Distributes schema
- Extended schema
- Object Identifiers
- /etc/ldap/schema/*
- Object class
- Attribute
- include directive
Topic 302: Installation and Development
302.1 Compiling and Installing OpenLDAP
Weight | 3 |
Description | Candidates should be able to compile and install OpenLDAP from source and from packages |
Key Knowledge Areas:
- Compile and configure OpenLDAP from source
- Knowledge of OpenLDAP backend databases
- Manage OpenLDAP daemons
- Troubleshoot errors during installation
The following is a partial list of the used files, terms and utilities:
- make
- gpg
- rpm
- dpkg
- bdb
- slapd
- slurpd
302.2 Developing for LDAP with Perl and C
Weight | 1 |
Description | Candidates should be able to write basic Perl scripts to interact with an LDAP directory |
Key Knowledge Areas:
- Syntax of Perl's Net::LDAP module
- Write Perl scripts to bind, search, and modify directories
The following is a partial list of the used files, terms and utilities:
- Net::LDAP
- using Perl with Net::LDAP
- using C with libldap
Topic 303: Configuration
303.1 placeholder
Weight | 0 |
Description | This objective dropped due to JTA results |
Key Knowledge Areas:
- N/A
The following is a partial list of the used files, terms and utilities:
- N/A
303.2 Access Control Lists in LDAP
Weight | 2 |
Description | Candidates should be able to plan and implement access control lists |
Key Knowledge Areas:
- Plan LDAP access control lists
- Grant and revoke LDAP access permissions
- Access control syntax
The following is a partial list of the used files, terms and utilities:
- ACL
- slapd.conf
- anonymous
- users
- self
- none
- auth
- compare
- search
- read
- write
303.3 LDAP Replication
Weight | 5 |
Description | Candidates should be familiar with the various replication strategies available with OpenLDAP |
Key Knowledge Areas:
- Replication concepts
- Configure OpenLDAP replication
- Execute and manage slurpd
- Analyze replication log files
- Understand replica hubs
- LDAP referrals
- LDAP sync replication
The following is a partial list of the used files, terms and utilities:
- slurpd
- slapd.conf
- master / slave server
- consumer
- replica hub
- one-shot mode
- referral
- syncrepl
- pull-based / push-based synchronization
- refreshOnly and refreshAndPersist
- replog
303.4 Securing the Directory
Weight | 4 |
Description | Candidates should be able to configure encrypted access to the LDAP directory, and restrict access at the firewall level |
Key Knowledge Areas:
- Securing the directory with SSL and TLS
- Firewall considerations
- Unauthenticated access methods
- User / password authentication methods
- Maintanence of SASL user DB
- Client / server certificates
The following is a partial list of the used files, terms and utilities:
- SSL / TLS
- Security Strength Factors (SSF)
- SASL
- proxy authorization
- StartTLS
- slapd.conf
- iptables
303.5 LDAP Server Performance Tuning
Weight | 2 |
Description | Candidates should be capable of measuring the performance of an LDAP server, and tuning configuration directives |
Key Knowledge Areas:
- Measure LDAP performance
- Tune software configuration to increase performance
- Understand indexes
The following is a partial list of the used files, terms and utilities:
- index
- slapd.conf
- DB_CONFIG
303.6 OpenLDAP Daemon Configuration
Weight | 2 |
Description | Candidates should have knowledge of the common slapd.conf configuration directives, and be familiar with the basic slapd command line options |
Key Knowledge Areas:
- slapd.conf configuration directives
- slapd.conf database definitions
- slapd and its command line options
- Analyze slapd log files
The following is a partial list of the used files, terms and utilities:
- slapd.conf
- slapd
- /var/lib/ldap/*
- loglevel
Topic 304: Usage
304.1 Searching the Directory
Weight | 2 |
Description | Candidates should be able to use advanced options for search the LDAP directory |
Key Knowledge Areas:
- Use OpenLDAP search tools with basic options
- Use OpenLDAP search tools with advanced options
- Optimize LDAP search queries
- Knowledge of search filters and their syntax
The following is a partial list of the used files, terms and utilities:
- ldapsearch
- index
- search filter syntax
- slapd.conf
304.2 LDAP Command Line Tools
Weight | 1 |
Description | Candidates should be familiar with the OpenLDAP command line tools |
Key Knowledge Areas:
- Use the ldap* tools to access and modify the directory
- Use the slap* tools to access and modify the directory
The following is a partial list of the used files, terms and utilities:
- ldap.conf
- ldapsearch
- ldapadd
- ldapmodify
- ldapdelete
- ldapmodrdn
- slapindex
- slapadd
- slapcat
304.3 Whitepages
Weight | 1 |
Description | Candidates should be able to build and maintain a whitepages service |
Key Knowledge Areas:
- Plan whitepages services
- Configure whitepages services
- Configure clients to retrieve data from whitepages services
The following is a partial list of the used files, terms and utilities:
- whitepages
- Outlook
Topic 305: Integration and Migration
305.1 LDAP Integration with PAM and NSS
Weight | 2 |
Description | Candidates should be able to configure PAM and NSS to retrieve information from an LDAP directory |
Key Knowledge Areas:
- Configure PAM to use LDAP for authentication
- Configure NSS to retrieve information from LDAP
- Configure PAM modules in various Unix environments
The following is a partial list of the used files, terms and utilities:
- PAM
- NSS
- /etc/pam.d/*
- /etc/nsswitch.conf
305.2 NIS to LDAP Migration
Weight | 1 |
Description | Candidates should be able to plan and implement a NIS migration strategy, including a NIS to LDAP gateway |
Key Knowledge Areas:
- Analyze NIS structure prior to migration to LDAP
- Analyze NIS structure prior to integration with LDAP
- Automate NIS to LDAP migration
- Create a NIS to LDAP gateway
The following is a partial list of the used files, terms and utilities:
- NIS
- NIS to LDAP gateway
- slapd.conf
- /etc/yp/*
305.3 Integrating LDAP with Unix Services
Weight | 1 |
Description | Candidates should be able to integrate LDAP authentication with a number of common Unix services |
Key Knowledge Areas:
- Integrate SSH with LDAP
- Integrate FTP with LDAP
- Integrate HTTP with LDAP
- Integrate FreeRADIUS with LDAP
- Integrate print services with LDAP
The following is a partial list of the used files, terms and utilities:
- sshd.conf
- ftp
- httpd.conf
- radiusd.conf
- cupsd.conf
- ldap.conf
305.4 Integrating LDAP with Samba
Weight | 1 |
Description | Candidates should be able to integrate LDAP with Samba services |
Key Knowledge Areas:
- Migrate from smbpasswd to LDAP
- Understand OpenLDAP Samba schema
- Understand LDAP as a Samba password backend
The following is a partial list of the used files, terms and utilities:
- smb.conf
- smbpasswd
- samba3.schema
- slapd.conf
305.5 Integrating LDAP with Active Directory
Weight | 2 |
Description | Candidates should be able to integrate LDAP with Active Directory Services |
Key Knowledge Areas:
- Kerberos integration with LDAP
- Cross platform authentication
- Single sign-on concepts
- Integration and compatibility limitations between OpenLDAP and Active Directory
The following is a partial list of the used files, terms and utilities:
- Kerberos
- Active Directory
- single sign-on
- DNS
305.6 Integrating LDAP with Email Services
Weight | 1 |
Description | Candidates should be able to integrate LDAP with email services |
Key Knowledge Areas:
- Plan LDAP schema structure for email services
- Create email attributes in LDAP
- Integrate Postfix with LDAP
- Integrate Sendmail with LDAP
The following is a partial list of the used files, terms and utilities:
- Postfix
- Sendmail
- schema
- SASL
- POP
- IMAP
Topic 306: Capacity Planning
306.1 Measure Resource Usage
Weight | 4 |
Description | Candidates should be able to measure hardware resource and network bandwidth usage |
Key Knowledge Areas:
- Measure CPU usage
- Measure memory usage
- Measure disk I/O
- Measure network I/O
- Measure firewalling and routing throughput
- Map client bandwidth usage
The following is a partial list of the used files, terms and utilities:
- iostat
- vmstat
- pstree
- w
- lsof
- top
- uptime
- sar
306.2 Troubleshoot Resource Problems
Weight | 4 |
Description | Candidates should be able to identify and troubleshoot resource problems |
Key Knowledge Areas:
- Match / correlate system symptoms with likely problems
- Identify bottlenecks in a system
The following is a partial list of the used files, terms and utilities:
- swap
- processes blocked on I/O
- blocks in
- blocks out
306.3 Analyze Demand
Weight | 2 |
Description | Candidates should be able to analyze capacity demands |
Key Knowledge Areas:
- Identify capacity demands
- Detail capacity needs of programs
- Determine CPU / memory needs of programs
- Assemble program needs into a complete analysis
The following is a partial list of the used files, terms and utilities:
- PDQ
- CPU usage
- memory usage
- appropriate measurement time
- trend
- model
- what-if
- validate
- performance equation
306.4 Predict Future Resource Needs
Weight | 1 |
Description | Candidates should be able to monitor resource usage to predict future resource needs |
Key Knowledge Areas:
- Predict capacity break point of a configuration
- Observe growth rate of capacity usage
- Graph the trend of capacity usage
The following is a partial list of the used files, terms and utilities:
- diagnose
- predict growth
- average
- resource exhaustion