CertsPoint
See all results for ""
Exams About Us
Sign In Get Started
Exam Overview
Exam Code 305-300
Exam Name LPIC-3: Virtualization and Containerization - Exam 305, (version 3.0)
Vendor LPI
Total Questions 121
Last Updated 26-Oct, 2026
Why CertsPoint?
  • Latest & Verified Questions
  • Detailed Explanations
  • Regular Updates
  • Full-Length Practice Tests
  • Boost Your Exam Confidence

PDF Study Materials

Downloadable guides and resources

Practice Tests

Full-length tests with real exam experience

Progress Tracking

Monitor your performance and improvement

Study Anywhere

Access on desktop, tablet, and mobile

Excellent
4.6 (398 Up Votes)
Secure Payment Privacy Protected Money Back Guarantee

Free 305-300 Practice Questions

Explore 5 free practice questions for the LPI 305-300 exam and review the answers and explanations to support your preparation.

  1. Question 1

    Multiple answers

    Which of the following statements are true for full virtualization? (Choose TWO correct answers)

    • Option A:

      Full virtualization always requires additional software components and cannot be done using Linux only

      Correct
    • Option B:

      Full virtualization may be supported by special CPU extensions that provide better performance

      Correct
    • Option C:

      Full virtualization does not require changes to the guest operating systems

      Correct
    • Option D:

      Full virtualization has no performance impact compared to a non-virtualized bare-metal installation on the same machine

      Correct
    • Option E:

      Full virtualization has a severe performance impact and should not be used in production environments

      Correct
    Show Answer & Explanation Hide Answer & Explanation

    Correct Answer: B, C

    Explanation

    Full virtualization is a virtualization approach where the hypervisor provides a complete simulation of the underlying hardware, allowing unmodified guest operating systems to run without awareness of virtualization. Virtualization documentation consistently states that one of the defining characteristics of full virtualization is that guest operating systems do not need to be modified , making option C correct.

    Additionally, modern full virtualization platforms benefit from hardware-assisted virtualization , such as Intel VT-x and AMD-V CPU extensions. These extensions significantly improve performance by offloading virtualization tasks to the processor, making option B correct.

    Option A is incorrect because Linux-based hypervisors like KVM can perform full virtualization entirely within the Linux ecosystem. Option D is false because all virtualization introduces some performance overhead, even if minimal. Option E is incorrect because full virtualization is widely used in production environments, including enterprise data centers and cloud platforms.

    Therefore, based on virtualization principles and documentation, the correct answers are B and C 

  2. Question 2

    Single answer

    What is libvirt?

    • Option A:

      A virtualization management API.

      Correct
    • Option B:

      A Linux distribution

      Correct
    • Option C:

      A virtualization technology

      Correct
    • Option D:

      A hardware virtualization platform

      Correct
    Show Answer & Explanation Hide Answer & Explanation

    Correct Answer: A

    Explanation

    Libvirt is a virtualization management API, toolkit, and set of command-line utilities designed to manage virtualization platforms in a consistent and secure manner. According to official virtualization and containerization documentation, libvirt provides a common interface for interacting with multiple hypervisors such as KVM, QEMU, Xen, VMware ESXi, and Hyper-V , abstracting their underlying differences.

    Libvirt itself is not a virtualization technology or hypervisor ; rather, it acts as a management layer between administrators or orchestration tools and the hypervisor. It enables tasks such as creating, starting, stopping, pausing, migrating, and monitoring virtual machines. Tools like virsh and virt-manager rely on libvirt to perform virtualization operations.

    One of libvirt’s key strengths is its focus on security and isolation . It integrates with Linux security frameworks such as SELinux and AppArmor , enforcing mandatory access controls on virtual machines. Libvirt also supports remote management using secure protocols, making it suitable for enterprise and cloud environments.

    In virtualization documentation, libvirt is described as a foundational component for Infrastructure as Code and automation , commonly used with tools like Ansible, OpenStack, and Kubernetes (via KVM) . Its standardized API simplifies virtualization management while ensuring portability, scalability, and compliance with best practices.

  3. Question 3

    Multiple answers

    Which of the following mechanisms are used by LXC and Docker to create containers? (Choose three.)

    • Option A:

      Linux Capabilities

      Correct
    • Option B:

      Kernel Namespaces

      Correct
    • Option C:

      Control Groups

      Correct
    • Option D:

      POSIXACLs

      Correct
    • Option E:

      File System Permissions

      Correct
    Show Answer & Explanation Hide Answer & Explanation

    Correct Answer: A, B, C

    Explanation

    LXC and Docker are both container technologies that use Linux kernel features to create isolated environments for running applications. The main mechanisms that they use are:

      Linux Capabilities : These are a set of privileges that can be assigned to processes to limit their access to certain system resources or operations. For example, a process with the CAP_NET_ADMIN capability can perform network administration tasks, such as creating or deleting network interfaces. Linux capabilities allow containers to run with reduced privileges, enhancing their security and isolation.

      Kernel Namespaces : These are a way of creating separate views of the system resources for different processes. For example, a process in a mount namespace can have a different file system layout than the host or other namespaces. Kernel namespaces allow containers to have their own network interfaces, process IDs, user IDs, and other resources, without interfering with the host or other containers.

      Control Groups : These are a way of grouping processes and applying resource limits and accounting to them. For example, a control group can limit the amount of CPU, memory, disk I/O, or network bandwidth that a process or a group of processes can use. Control groups allow containers to have a fair share of the system resources and prevent them from exhausting the host resources.

    POSIX ACLs and file system permissions are not mechanisms used by LXC and Docker to create containers. They are methods of controlling the access to files and directories on a file system, which can be applied to any process, not just containers.

    [:, LXC vs Docker: Which Container Platform Is Right for You?, LXC vs Docker: Why Docker is Better in 2023 | UpGuard, What is the Difference Between LXC, LXD and Docker Containers, lxc - Which container implementation docker is using - Unix & Linux Stack Exchange, ]
  4. Question 4

    Single answer

    Which directory is used by cloud-init to store status information and configuration information retrieved from external sources?

    • Option A:

      /var/lib/cloud/

      Correct
    • Option B:

      /etc/cloud-init/cache/

      Correct
    • Option C:

      /proc/sys/cloud/

      Correct
    • Option D:

      /tmp/.cloud/

      Correct
    • Option E:

      /opt/cloud/var/

      Correct
    Show Answer & Explanation Hide Answer & Explanation

    Correct Answer: A

    Explanation

     cloud-init uses the /var/lib/cloud/ directory to store status information and configuration information retrieved from external sources, such as the cloud platform’s metadata service or user data files. The directory contains subdirectories for different types of data, such as instance, data, handlers, scripts, and sem. The instance subdirectory contains information specific to the current instance, such as the instance ID, the user data, and the cloud-init configuration. The data subdirectory contains information about the data sources that cloud-init detected and used. The handlers subdirectory contains information about the handlers that cloud-init executed. The scripts subdirectory contains scripts that cloud-init runs at different stages of the boot process, such as per-instance, per-boot, per-once, and vendor. The sem subdirectory contains semaphore files that cloud-init uses to track the execution status of different modules and stages.  References:

      Configuring and managing cloud-init for RHEL 8 - Red Hat Customer Portal

      vsphere - what is the linux file location where the cloud-init user …

  5. Question 5

    Multiple answers

    Which of the following statements are true regarding a Pod in Kubernetes? (Choose two.)

    • Option A:

      All containers of a Pod run on the same node.

      Correct
    • Option B:

      Pods are always created automatically and cannot be explicitly configured.

      Correct
    • Option C:

      A Pod is the smallest unit of workload Kubernetes can run.

      Correct
    • Option D:

      When a Pod fails, Kubernetes restarts the Pod on another node by default.

      Correct
    • Option E:

      systemd is used to manage individual Pods on the Kubernetes nodes.

      Correct
    Show Answer & Explanation Hide Answer & Explanation

    Correct Answer: A, C

    Explanation

     A Pod in Kubernetes is a collection of one or more containers that share the same network and storage resources, and a specification for how to run the containers. A Pod is the smallest unit of workload Kubernetes can run, meaning that it cannot be divided into smaller units. Therefore, option C is correct. All containers of a Pod run on the same node, which is the smallest unit of computing hardware in Kubernetes. A node is a physical or virtual machine that hosts one or more Pods. Therefore, option A is also correct. Pods are not always created automatically and cannot be explicitly configured. Pods can be created manually using YAML or JSON files, or using commands like kubectl run or kubectl create. Pods can also be created automatically by higher-level controllers, such as Deployment, ReplicaSet, or StatefulSet. Therefore, option B is incorrect. When a Pod fails, Kubernetes does not restart the Pod on another node by default. Pods are ephemeral by nature, meaning that they can be terminated or deleted at any time. If a Pod is managed by a controller, the controller will create a new Pod to replace the failed one, but it may not be on the same node. Therefore, option D is incorrect. systemd is not used to manage individual Pods on the Kubernetes nodes. systemd is a system and service manager for Linux operating systems that can start and stop services, such as docker or kubelet. However, systemd does not interact with Pods directly. Pods are managed by the kubelet service, which is an agent that runs on each node and communicates with the Kubernetes control plane. Therefore, option E is incorrect.  References :

      Pods | Kubernetes

      What is a Kubernetes pod? - Red Hat

      What’s the difference between a pod, a cluster, and a container?

      What are Kubernetes Pods? | VMware Glossary

      Kubernetes Node Vs. Pod Vs. Cluster: Key Differences - CloudZero