LPIC-3 Virtualization and Containerization (305-300)
The LPIC-3 certification marks the pinnacle of the Linux Professional Institute’s (LPI) multi-tiered professional certification program. Aimed at enterprise-level Linux professionals, LPIC-3 stands as the highest distribution-neutral Linux certification in the industry. The LPIC-3 Virtualization and Containerization certification focuses on the administration of Linux systems across an organization, emphasizing virtualization and containerization technologies.
Exam Prerequisites
To obtain the LPIC-3 certification, candidates must hold a valid LPIC-2 certification.
Exam Details
The LPIC-3 Virtualization and Containerization (305-300) exam, currently at version 3.0, requires candidates to pass the 305 exam, which consists of 60 multiple-choice and fill-in-the-blank questions to be completed in 90 minutes. The certification is valid for five years and is offered in English and Japanese at VUE test centers, as well as online via OnVUE.
Course Outline
The LPIC-3 Virtualization and Containerization Exam 305 includes a set of objectives, each with an assigned weight. These weights represent the significance of each objective within the exam. Higher-weighted objectives will feature more prominently, resulting in more related questions.
Topic 351: Full Virtualization
351.1 Virtualization Concepts and Theory (weight: 6)
Candidates should understand the foundational concepts, theories, and terminology associated with virtualization, including terms related to Xen, QEMU, and libvirt.
Key Knowledge Areas:
- Grasp the terminology of virtualization.
- Recognize the advantages and disadvantages of virtualization.
- Understand the different types of Hypervisors and Virtual Machine Monitors.
- Comprehend key aspects of transitioning physical machines to virtual environments.
- Understand key factors in moving virtual machines between host systems.
- Know the features and impacts of virtualization for virtual machines, such as snapshotting, pausing, cloning, and resource limitations.
- Awareness of tools like oVirt, Proxmox, systemd-machined, and VirtualBox.
- Familiarity with Open vSwitch.
The following is a partial list of relevant files, terms, and utilities:
- Hypervisor
- Hardware Virtual Machine (HVM)
- Paravirtualization (PV)
- Emulation and Simulation
- CPU flags
- /proc/cpuinfo
- Migration (P2V, V2V)
351.2 Xen (weight: 3)
Candidates should be capable of installing, configuring, maintaining, migrating, and troubleshooting Xen installations, with a focus on Xen version 4.x.
Key Knowledge Areas:
- Understand the architecture of Xen, including networking and storage components.
- Perform basic configuration of Xen nodes and domains.
- Manage Xen nodes and domains at a basic level.
- Troubleshoot common issues in Xen installations.
- Awareness of XAPI (Xen API).
- Awareness of XenStore.
- Awareness of Xen Boot Parameters.
- Awareness of the
xm
utility.
The following is a partial list of relevant files, terms, and utilities:
- Domain0 (Dom0), DomainU (DomU)
- PV-DomU, HVM-DomU
- /etc/xen/
xl
xl.cfg
xl.conf
xentop
351.3 QEMU (weight: 4)
Candidates should be proficient in installing, configuring, maintaining, migrating, and troubleshooting QEMU installations.
Key Knowledge Areas:
- Understand the architecture of QEMU, including KVM, networking, and storage.
- Launch QEMU instances using command-line commands.
- Manage snapshots through the QEMU monitor.
- Install the QEMU Guest Agent and VirtIO drivers.
- Troubleshoot issues in QEMU installations, focusing on networking and storage.
- Awareness of key QEMU configuration parameters.
The following is a partial list of relevant files, terms, and utilities:
- Kernel modules:
kvm
,kvm-intel
, andkvm-amd
/dev/kvm
- QEMU monitor
qemu
qemu-system-x86_64
ip
brctl
tunctl
351.4 Libvirt Virtual Machine Management (weight: 9)
Candidates should be able to manage virtualization hosts and virtual machines (“libvirt domains”) using libvirt and associated tools.
Key Knowledge Areas:
- Understand the architecture of libvirt.
- Manage libvirt connections and hosts.
- Create and manage QEMU and Xen domains, including handling snapshots.
- Monitor and analyze resource usage of domains.
- Create and administer storage pools and volumes.
- Set up and manage virtual networks.
- Migrate domains between different hosts.
- Understand the interaction between libvirt and virtualization platforms like Xen and QEMU.
- Understand libvirt’s integration with network services such as
dnsmasq
andradvd
. - Comprehend libvirt XML configuration files.
- Awareness of
virtlogd
andvirtlockd
.
The following is a partial list of relevant files, terms, and utilities:
libvirtd
/etc/libvirt/
virsh
(including relevant subcommand)
351.5 Virtual Machine Disk Image Management (weight: 3)
Candidates should be proficient in managing virtual machine disk images, including converting these images across different formats and hypervisors, as well as accessing data stored within them.
Key Knowledge Areas:
- Understand the characteristics of various virtual disk image formats, such as raw images, qcow2, and VMDK.
- Manage virtual machine disk images using
qemu-img
. - Use
libguestfish
to mount partitions and access files within virtual machine disk images. - Copy data from physical disks to virtual machine disk images.
- Migrate disk content between different virtual machine disk image formats.
- Awareness of the Open Virtualization Format (OVF).
The following is a partial list of relevant files, terms, and utilities:
qemu-img
guestfish
(including relevant subcommand)guestmount
guestumount
virt-cat
virt-copy-in
virt-copy-out
virt-diff
virt-inspector
virt-filesystems
virt-rescue
virt-df
virt-resize
virt-sparsify
virt-p2v
virt-p2v-make-disk
virt-v2v
virt-sysprep
Topic 352: Container Virtualization
352.1 Container Virtualization Concepts (weight: 7)
Candidates should have a thorough understanding of container virtualization concepts, including the Linux components that facilitate container virtualization, as well as the use of standard Linux tools for troubleshooting these components.
Key Knowledge Areas:
- Understand the concepts of system and application containers.
- Analyze and understand kernel namespaces.
- Analyze and understand control groups (cgroups).
- Analyze and understand Linux capabilities.
- Understand the role of
seccomp
, SELinux, and AppArmor in container virtualization. - Understand how LXC and Docker use namespaces, cgroups, capabilities, seccomp, and Mandatory Access Control (MAC).
- Comprehend the principles behind
runc
. - Comprehend the principles of
CRI-O
andcontainerd
. - Awareness of OCI runtime and image specifications.
- Awareness of the Kubernetes Container Runtime Interface (CRI).
- Awareness of tools like
podman
,buildah
, andskopeo
. - Awareness of alternative container virtualization methods in Linux and other free operating systems, such as
rkt
, OpenVZ,systemd-nspawn
, or BSD Jails.
The following is a partial list of relevant files, terms, and utilities:
nsenter
unshare
ip
(including relevant subcommand)capsh
/sys/fs/cgroups
/proc/[0-9]+/ns
/proc/[0-9]+/status
352.2 LXC (weight: 6)
Candidates should be proficient in working with system containers using LXC and LXD, focusing on LXC version 3.0 or newer.
Key Knowledge Areas:
- Understand the architecture of LXC and LXD.
- Manage LXC containers using LXD, including handling networking and storage based on existing images.
- Configure properties of LXC containers.
- Limit resource usage for LXC containers.
- Utilize LXD profiles.
- Understand the concept of LXC images.
- Awareness of traditional LXC management tools.
The following is a partial list of relevant files, terms, and utilities:
lxd
lxc
(including relevant subcommand)
352.3 Docker (weight: 9)
Candidates should be skilled in managing Docker nodes and containers, including a thorough understanding of Docker’s architecture and its interactions with the underlying Linux system.
Key Knowledge Areas:
- Understand the architecture and components of Docker.
- Manage Docker containers using images from a Docker registry.
- Understand and manage Docker container images and volumes.
- Understand and manage Docker container logging.
- Understand and configure Docker networking.
- Create container images using Dockerfiles.
- Set up and manage a Docker registry using the registry Docker image.
The following is a partial list of relevant files, terms, and utilities:
dockerd
/etc/docker/daemon.json
/var/lib/docker/
docker
Dockerfile
352.4 Container Orchestration Platforms (weight: 3)
Candidates should recognize the significance of container orchestration and the fundamental concepts provided by Docker Swarm and Kubernetes for its implementation.
Key Knowledge Areas:
- Understand the importance of container orchestration.
- Grasp the key concepts of Docker Compose and Docker Swarm.
- Comprehend the essential principles of Kubernetes and Helm.
- Awareness of platforms like OpenShift, Rancher, and Mesosphere DC/OS.
Topic 353: VM Deployment and Provisioning
353.1 Cloud Management Tools (weight: 2)
Candidates should have an understanding of the typical offerings in public cloud environments and possess fundamental knowledge of commonly used cloud management tools.
Key Knowledge Areas:
- Understand the common offerings available in public clouds.
- Have a basic understanding of OpenStack features.
- Have a basic understanding of Terraform features.
- Awareness of other cloud management platforms like CloudStack, Eucalyptus, and OpenNebula.
The following is a partial list of relevant files, terms, and utilities:
- IaaS, PaaS, SaaS
- OpenStack
- Terraform
353.2 Packer (weight: 2)
Candidates should be capable of using Packer to create system images, including running Packer in various public and private cloud environments and building container images for LXC/LXD.
Key Knowledge Areas:
- Understand the functionality and features of Packer.
- Create and manage template files.
- Build images from template files using various builders.
The following is a partial list of relevant files, terms, and utilities:
packer
353.3 cloud-init (weight: 3)
Candidates should be proficient in using cloud-init to configure virtual machines created from standardized images. This includes optimizing virtual machines to align with their available hardware resources, particularly disk space and volumes. Additionally, candidates should be capable of configuring instances for secure SSH logins and installing a specific set of software packages. Furthermore, they should be able to create new system images that support cloud-init.
Key Knowledge Areas:
- Understand the features and concepts of cloud-init, including user-data, initialization, and configuration.
- Use cloud-init to create, resize, and mount file systems; configure user accounts, including login credentials such as SSH keys; and install software packages from the distribution’s repository.
- Integrate cloud-init into system images.
- Utilize config drive data sources for testing.
The following is a partial list of relevant files, terms, and utilities:
cloud-init
user-data
/var/lib/cloud/
353.4 Vagrant (weight: 3)
Candidates should be adept at using Vagrant to manage virtual machines, including the provisioning process.
Key Knowledge Areas:
- Understand the architecture and concepts of Vagrant, including storage and networking.
- Retrieve and utilize boxes from Atlas.
- Create and execute Vagrantfiles.
- Access Vagrant virtual machines.
- Share and synchronize folders between a Vagrant virtual machine and the host system.
- Comprehend Vagrant provisioning, including file and shell provisioners.
- Understand multi-machine setups.
The following is a partial list of relevant files, terms, and utilities:
vagrant
Vagrantfile
LPIC-3 Virtualization and Containerization (305-300): FAQs
LPIC-3 Virtualization and Containerization (305-300) Study Guide
1. Get Familiar with Exam Objectives
To effectively prepare for the LPIC-3 Virtualization and Containerization (305-300) exam, candidates must familiarize themselves with the key exam objectives that encompass a broad range of virtualization and containerization concepts. This includes understanding virtualization theories, technologies, and architectures, such as hypervisors like Xen and KVM, as well as containerization tools like LXC and Docker.
Candidates should be able to manage virtual machines and containers, including their provisioning, configuration, and migration, while also comprehending the networking and storage aspects involved. Furthermore, knowledge of cloud infrastructure and orchestration tools like Kubernetes and Docker Swarm is essential. A strong grasp of automation tools such as Packer and cloud-init, along with security best practices, will be crucial for effective deployment and management.
2. Become Part of “Linux Professional Institute – Learning”
Learning is an initiative of the Linux Professional Institute (LPI) designed to assist you in preparing for our Linux and open-source certifications. Through the Learning Materials, LPI consistently provides free resources for both educators and students. The Linux Professional Institute Publishing Partner (LPP) program establishes transparent collaboration with both commercial and open-source publishing platforms. This initiative combines the Linux Professional Institute’s efforts to develop and supply materials for exam preparation, emphasizing the Learning Materials and the LPP program.
3. Use LPI Training Partners
Find a training partner to enhance your learning experience. Collaborating with a Linux Professional Institute training partner offers you access to a wealth of resources and expertise in Linux and other open-source topics. These partners provide structured training programs, hands-on labs, and expert guidance tailored to your needs, ensuring you grasp key concepts effectively. Engaging with a training partner also facilitates networking opportunities, allowing you to connect with fellow learners and industry professionals.
Whether you are preparing for certifications or simply expanding your knowledge, a training partner can help you stay motivated and accountable throughout your learning journey. Take the next step towards mastering Linux and open-source technologies by exploring the training options available through our accredited partners.
4. Join Study Groups
Joining study groups is an invaluable strategy for preparing for the LPIC-3 Virtualization and Containerization (305-300) exam. These collaborative environments allow candidates to engage with peers who share similar goals, facilitating the exchange of knowledge and resources. In study groups, members can discuss complex topics, clarify doubts, and explore different perspectives on virtualization and containerization technologies.
This interaction not only enhances understanding but also creates a supportive network that keeps participants motivated and accountable throughout their study journey. By participating in group discussions, candidates can reinforce their learning, share valuable insights, and stay on track with their exam preparation.
5. Take Practice Exams
Taking practice exams is a crucial component of effective preparation for the LPIC-3 Virtualization and Containerization (305-300) exam. These practice tests simulate the actual exam environment, providing candidates with the opportunity to familiarize themselves with the exam format and question types. By regularly completing practice exams, candidates can build their confidence, identify strengths and weaknesses, and refine their understanding of key concepts. Analyzing performance on these tests allows for targeted study sessions focused on areas that need improvement.
Additionally, practice exams help develop essential time management skills, ensuring candidates can complete the actual exam within the designated timeframe. By incorporating practice exams into their study routine, candidates significantly enhance their readiness for the LPIC-3 certification.