LPIC-3 Exam 304: Virtualization and High Availability
Linux Training Architect II in Content
This course is designed to prepare you for the LPIC-3 304 Virtualization and High Availability exam. The material on this course will mirror the public objectives provided by LPI (https://www.lpi.org/our-certifications/exam-304-objectives). The course will open with an introduction to virtualization and many of the key concepts. Once we have a base understanding of virtualization, we will move on to specific virtualization platforms and utilities. The second half of the course is focused on High Availability. This section will cover the concepts and theories of high availability, and then move on to practical application. Some of the areas covered will include load balanced and failover clusters, as well as clustered storage and file systems.
Important Information about LPI Exam Discount Vouchers for 2019
Please view the following video for important information regarding LPI exam vouchers for 2019.
About the Author
Learn a little more about the training architect, Matthew Pearson.
About the Course
This course is designed to cover the public objectives for the LPIC-3 exam 304 for High Availability and Virtualization. In this lesson, we will briefly talk about the topics covered in this exam and some of the study tools provided. The interactive diagram is available from downloads section here in the syllabus or via this link here - https://www.lucidchart.com/documents/embeddedchart/80981d3e-93a0-498f-a210-f35de90dbbfe#
About the Exam
This lesson will cover the format, registration, and basic information regarding the LPIC-3 304 exam. We will also discuss tips and recommendations for preparing to sit the exam.
330.1 Virtualization Concepts and Theory
What is virtualization? What is a hypervisor? This lesson will answer some of the fundamental questions of virtualization, as well as explain the architecture and implementation of virtualization.
Pros and Cons of Virtualization
Virtualization offers many benefits, but there are some drawbacks that must be considered. In this lesson, we will discuss the different pros and cons for implementing and using virtualization.
Variations of Virtual Machine Monitors
In computer virtualization, there are several different types of virtual machine monitors (or hypervisors). In this lesson, we will cover the different kinds of hypervisors and how they are implemented.
Migration (P2V and V2V)
The ability to migrate virtual machines is one of the great features of virtualization. This lesson will cover the two main forms of migration: physical-to-virtual (P2V) and virtual-to-virtual (V2V).
Cloud computing is a popular topic both inside and outside the IT industry. In this lesson, we will discuss the different services offered by cloud computing, and the main categories that make up The Cloud.
Architecture (Networking and Storage)
In this lesson, we will introduce the Xen Project Hypervisor. This includes the architecture and all the prerequisites to a successful Xen installation.
Installation and Boot Configuration
Learn how to install the Xen Hypervisor on Linux. This lesson will cover the Xen Hypervisor installation as well as some of the available boot options.
For any virtualization platform, it is important to be aware of the common configuration files and locations. In this lesson, we will walk through these common configuration files so that you can know how to properly configure your Xen installation.
Utilities and Toolstacks
The Xen Project hypervisor offers several utilities and tool stacks for managing guest domains and your Xen environment. In this lesson, we will go over some of the most widely used tool stacks and utilities.
Deploy Virtual Machines - Paravirtualization Guests and Hardware Virtual Machines
Learn how to deploy guest domains (virtual machines) with the Xen hypervisor. In this lesson, we will walk through the deployment of a paravirtualization guest and a hardware virtual machine.
In this lesson we will be discussing the architecture of KVM. This will include the main components that KVM is built on, as well as networking and storage.
Want to learn how to install guest virtual machines using KVM? This lesson will walk through the prerequisites needed to setup KVM and deploy virtual machines, using the QEMU command line utility.
KVM offers many commands and utilities for creating and managing virtual machines. In this lesson, we will walk through the main KVM utilities and their options.
330.4 Other Virtualization Solutions
Traditional virtualization generally consists of some type of hypervisor which allows people to create virtual machines, with each one running its own kernel and operating system. In this lesson, we will cover OpenVZ, which implements isolated containers that share the host operating system and kernel.
LXC is one of the more popular Linux container technologies. Containers take advantage of existing kernel features in order to remove the overhead of simulating hardware and running multiple kernels. In this lesson, we will discuss LXC and use it to install Linux containers.
Docker and VirtualBox
In this lesson, we will cover two wildly popular virtualization technologies, Docker and VirtualBox. Docker is a container solution that focuses on running individual apps as containers, which reduces resource utilization on the host. VirtualBox is a hosted hypervisor that provides an easy-to-use graphical interface for deploying and managing virtual machines.
Packer and Vagrant
With the rise in popularity of virtualization, automating tasks such as creating machine images and provisioning virtual environments has become a priority. In this lesson, we will cover Packer and Vagrant, which both seek to meet this need.
330.5 Libvirt and Related Tools
Libvirt Architecture, Networking, and Storage
Libvirt is a collection of software that provides a unified way to manage virtual machines and resources. In this lesson, we will talk about the architecture of Libvirt and the various components that make it up.
Utilities and Configuration
Libvirt offers a large toolset for managing virtual machines and virtual resources for a number of different hypervisors. In this lesson, we will learn how to install libvirt, and use the command line tools to manage virtual machines.
oVirt is a feature-rich and comprehensive virtualization platform. In this lesson, we will give an overview of the oVirt platform and show the type of management it provides.
330.6 Cloud Management Tools
OpenStack and CloudStack
In this lesson, we will learn about about two cloud management tools: OpenStack and CloudStack. These tools were created to help manage a cloud infrastructure, with support for public clouds, private clouds, or a combination of both (hybrid).
Eucalyptus and OpenNebula
In this lesson, we will discuss two cloud management solutions: Eucalyptus and OpenNebula. Both of these solutions allow for the implementation of public and private clouds, and they come with support for AWS.
High Availability and Cluster Management
334.1 High Availability Concepts and Theory
As the need for highly-available services has increased, various cluster architectures have been developed to support them. In this lesson, we will learn about the different types of cluster implementations, their benefits, and, in some cases, their shortcomings.
Recovery and Cluster Reorganization Mechanisms
Implementing a cluster of nodes and resources has several goals. We want to provide redundancy, spread out the workload, allow for better throughput, and, ultimately, provide a better end-user experience. In order for the cluster to remain functional, recovery mechanisms need to be put in place so that services will continue in the event of a resource failure. In this lesson, we will learn about some of the problems that can arise when implementing a cluster and some of the tools that can be used to help solve them.
Before a specific cluster architecture is implemented, it is important to consider the needs of the service being clustered and the expectations of customers. In this lesson, we will learn about some of the industry-wide metrics and formulas that are used to determine availability, reliability, and uptime.
334.2 Load Balanced Clusters
Understanding of LVS / IPVS
Linux Virtual Server (LVS) is used to present a group of servers as if they were a single high-powered server. To accomplish this, LVS implements IPVS (IP Virtual Server) which forwards requests to the backend servers in a cluster. In this lesson, we will learn how to install and configure LVS in order to create a highly-available cluster.
keepalived and ldirectord
Redundant resources are integral to providing high availability in a cluster. But just as important are putting the tools and mechanisms in place to ensure that these services remain available. In the event of a resource failure, these ensure that services are directed to the functional resources in a cluster. In this lesson, we will learn about keepalived, which is used to keep the load balancer highly-available and ldirectord, which is used to monitor and administer the backend servers in an LVS cluster.
HAProxy is one of the most popular (if not the most popular) open-source load balancer solutions. The goal of HAProxy is to forward data with as few steps as possible, which it does exceptionally well. In this lesson, we will learn about HAProxy, including its configuration, installation, and features.
334.3 Failover Clusters
Pacemaker is a high-availability cluster resource manager that runs on a group of servers to minimize downtime. In this lesson, we will learn about the various components that Pacemaker is built on and some of the main features it provides.
Utilities and Configuration
Pacemaker provides many options for clustering applications and services. In this lesson, we will learn about the many command-line utilities that allow you to configure and monitor the cluster services provided by Pacemaker and Corosync.
Setup and Installation
The main goal of a failover cluster is to ensure that services remain available in the event of a resource failure. In this lesson, we will learn how to prepare cluster nodes to be used in a Pacemaker cluster and how to properly install and configure Pacemaker through the PCS command-line utility.
Not only does Pacemaker help to keep the cluster nodes highly available, it also keeps the cluster resources highly available. In this lesson, we will learn how to add resources to the cluster and how to configure constraints in order to ensure that the resources start in the correct order and run on the specific cluster nodes that we define.
334.4 High Availability in Enterprise Linux Distributions
Red Hat Enterprise Linux High Availability Add-On
The Red Hat Enterprise Linux High Availability Add-On is a clustered system that provides software and utilities for high availability. In this lesson, we will learn about the various features and components that comprise this add-on.
SUSE Linux Enterprise High Availability Extension
The SUSE Linux Enterprise High Availability Extension is a clustering system made up of several open-source clustering technologies. In this lesson, we will learn about the various components and features that comprise this extension.
High Availability Cluster Storage
335.1 DRBD / cLVM
The Distributed Replicated Block Device (DRBD) is a replicated storage solution for Linux. In this lesson, we will learn about the components and mechanisms that provide replicated storage with DRBD.
Installing and configuring DRBD requires low-level storage to be created on both hosts. Once the low-level storage has been created, DRBD must be configured to manage it. In this lesson, we will install DRBD and configure it to manage low-level storage across two cluster nodes.
cLVM with Pacemaker
cLVM allows logical volumes to be made available across members of a cluster. In this lesson, We will install cLVM and configure Pacemaker to manage the service across the nodes of a cluster.
DRBD with Pacemaker
The Distributed Replicated Block Device (DRBD) provides synchronization and replication of block devices between two nodes. In this lesson, we will implement DRBD and configure Pacemaker for cluster management.
335.2 Clustered File Systems
Clustered File Systems
By taking advantage of cluster services, file systems can be made highly available across multiple servers. In this lesson, we will learn about cluster file systems and the services that support them. In particular, we will be discussing GFS2 and OCFS2.
GFS2 File System with Pacemaker
The Global File System 2 (GFS2) is a native file system that interfaces with the kernel’s Virtual File System (VFS) layer. With the use of distributed metadata and multiple journals, GFS2 is able to provide a consistent view of the file system across multiple cluster nodes. In this lesson, we will configure a Pacemaker cluster to provide access to a GFS2 file system across multiple nodes.
Virtualization and High Availability
Where Do I Go from Here?
Now that you have completed the course, you may be asking the question, “what’s next?”. In this lesson, we will discuss registering for the exam and some other recommended courses from Linux Academy.