Red Hat Certified Specialist in Linux Diagnostics and Troubleshooting Exam Prep (RH342 )
Course Development Director in Content
This course is to prepare you for the Red Hat Certified Specialist in Linux Diagnostics and Troubleshooting exam (EX342). You will learn to troubleshoot, diagnose, and resolve (or provide evidence of) issues that cause degradation and loss of performance. In addition to preperation for the exam, this course is suited to those that wish to develop their skills in RHEL troubeshooting.
About the Author
In this video, you'll get to know your instructor for this course, Michael Christian.
About this Course
Welcome to the RH342 Red Hat Enterprise Linux Diagnostics and Troubleshooting course! In this short video, we look at the prerequisites for the course, as well as the materials available for exam preparation.
In this lesson, we examine how to purchase and schedule the RH342 exam, and review some basic tips on sitting for an exam.
Understand and employ general methods for troubleshooting
Get into a troubleshooting mindset
Getting yourself into the right frame of mind for troubleshooting is a critical skill to learn in terms of maximizing the mean time to resolution of exam objectives. Be calm, be methodical, and be confident!
Collect system information to aid in troubleshooting
It's important to be able to collect information quickly and accurately when troubleshooting. In this lesson, we will review the traditional methods of obtaining environmental information, as well as using Performance Co-Pilot (PCP).
Consult documentation resources to aid in troubleshooting
Being able to find documentation quickly contributes to a timely resolution. In this lesson, we look at how to find and search documentation for both installed and uninstalled packages.
Monitor systems for vital characteristics
In this lesson, we use Performance Co-Pilot's pmlogger service to enable historical metric and performance data for monitoring.
Configure systems to send log messages to a centralized host
In this lesson, we configure rsyslog to send logs to a remote host using TCP while looking at options around discreet hostname-based log files.
Diagnose and troubleshoot system start up issues
Identify and resolve service failures affecting boot
In this lesson, we look at identifying and resolving cyclical unit dependencies on startup. Being able to resolve these issues at runtime, as well as system start, is a necessary skill for the exam.
Regain root control of a system
To be able to troubleshoot a system, we need root-level access. In this lesson, we examine how to give ourselves root access to a system.
Troubleshoot boot issues
Troubleshooting boot issues is necessary to bring a system up for further examination. In this lesson, we look at what may cause boot issues in both a BIOS system, as well as UEFI, and what we can do to resolve them.
Identify hardware and hardware problems
In this lesson we look at hardware identification with tools such as lscpu, dmidecode, lsblk, and others. We also examine how we can log hardware issues using the mcelog log.
Manage kernel modules and their parameters
In this lesson, we look at kernel modules: where they come from, and how to manage them. We view loaded modules using lsmod and load and unload modules using modprobe. Additionally, we examine module info using modinfo and look at parameters and their usage. We also look at using sysctl to change running parameters.
Diagnose and troubleshoot file system issues
Recover corrupted file systems
In this lesson, we recover corrupted file systems by purposefully breaking them. Being able to use filesystem repair utilities such as xfs_repair and e2fsck are critical in recovering filesystems back to a mountable state.
Recover mis-configured or broken LVM configurations
In this lesson, we recover a broken LVM configuration by purposefully breaking it. Being able to view and use the LVM archive using vgcfgrestore is necessary for restoring LVM configurations to a known state prior to making an errant change.
Recover data from encrypted file systems
In this lesson, we make extensive use of the cryptsetup command to create an encrypted filesystem using LUKS. Then we examine how we can use a backup of the LUKS header to recover a replaced passphrase or keyfile.
Identify and fix iSCSI issues
In this lesson, we look at the potential points of failure with iSCSI, and how to check for common configuration issues using targetcli and iscsadm. We set up an iSCSI target and initiator, break connectivity, and then fix it.
Resolve package management issues
Resolve package management dependency issues
In this lesson, we look at resolving dependency issues such as missing libraries using yum provides, as well as version locking packages to prevent updates.
Recover a corrupted RPM database
A corrupt RPM database can cause all manner of issues when attempting to update or install a package. In this lesson, we purposefully corrupt the RPM database, and then use it to instantiate a new RPM database.
Identify and restore changed files
Being able to validate a file provided by an RPM package is critical in determining why a package or file isn't behaving normally. In this lesson, we use both rpm and yum verify to asses if a file has been modified post-installation.
Troubleshoot and fix network connectivity issues
Use standard tools to verify network connectivity
In this lesson, we troubleshoot connectivity between hosts using tools such as ss, nc, and telnet. With these tools, we can determine services listening on ports, as well as connectivity to those specific ports.
Identify and fix network connectivity issues
In this lesson we look at the connection between /etc/udev/rules.d/70-persistent-net.rules and the interface configuration scripts in /etc/sysconfig/network-scripts/. We also examine the current interface and routing configuration using ip and nmcli, and finally firewalld using firewall-cmd. We do this to identify and fix network connectivity issues.
Inspect network traffic to aid troubleshooting
In this lesson, we use both tcpdump and tshark to create and read a packet capture. Additionally, we take a brief look at capture filters and parsing the ASCII content of a web request.
Diagnose application issues
Identify library dependencies for third-party software
In this lesson we use ldd, ldconfig, and yum provides to identify and install missing library dependencies for installing applications.
Identify if an application suffers from memory leaks
Detecting memory leaks in applications is an important skill to have in your admin toolbox. In this lesson, we use valgrind to determine if an application has a memory leak.
Use standard tools to debug an application
Despite not having access to the source code, all applications running on Linux must make certain system and library calls to function. By using strace and ltrace, we can often determine why an application is having problems. In this lesson, we use strace to debug an application, as well as atttach to running processes.
Identify and fix issues related to SELinux
SELinux issues tend to stem from incorrect file labelling, incorrect boolean settings, or incorrect port settings. In this lesson, we look at how to gather information around labels, booleans, and ports, as well as the event data we can use to resolve the problem.
Identify and fix authentication issues
Identify and fix pluggable authentication module (PAM) issues
In this lesson, we examine the contents of a service's PAM config file in /etc/pam.d. We discuss identifying PAM issues, PAM module documentation, as well as replacing a modified PAM config file.
Identify and fix LDAP and Kerberos identity management issues
In this lesson, we review LDAP and Kerberos client configuration issues, as well as potential causes for misconfiguration. Additionally, we look at how to very LDAP and Kerberos using ldapsearch, getent, kinit, and klist.
Gather information to aid third party investigation of issues
Create kernel crashdumps
In this lesson, we discuss kernel dumps, where they're located, and how to trigger them.
Compile and execute SystemTap modules
In this lesson, we install the packages necessary for running and compiling SystemTap scripts. SystemTap provides a framework for getting information from the kernel.
As a supplemental review, we look at the basics of an sosreport: how to create one, where they're located, and how to use them.
RH342 Red Hat Enterprise Linux Diagnostics and Troubleshooting
Conclusion and Review
Congratulations on completing the course! In this short video, I cover the study tools provided to assist in preparing for the Red Hat exam.
Now that you've finished the RH342 course, what's next? Let's take a look at some other course recommendations.