Access Control Lists (ACLs) provide a more flexible permission mechanism for file systems compared to traditional Unix file permissions. They allow you to set permissions for individual users or groups beyond the standard owner/group/others model. This makes ACLs particularly useful in environments where you need fine-grained access control. In this article, we’ll explore the basics of using Linux ACLs to set default and user/group rules.
Continue reading “Understanding Linux ACLs: Setting Default and User/Group Rules”Author: Tom's IT Cafe
Using LVM Logical Volumes with KVM Guests via virsh
When managing virtual machines (VMs) in a Linux environment, using Logical Volume Manager (LVM) with Kernel-based Virtual Machine (KVM) provides several benefits. LVM offers flexibility and control over storage allocation, while KVM, combined with virsh, offers a robust virtualization solution. This guide will walk you through the process of setting up LVM logical volumes for your KVM guests using virsh.
KVM Storage Support and Features
KVM supports a variety of storage types, each catering to different performance and feature requirements. The Raw format is simple and offers high I/O performance but lacks advanced features like snapshots. QCOW2 is more feature-rich, supporting snapshots, compression, and encryption, though it has higher CPU overhead and slightly lower performance. LVM (Logical Volume Manager) offers good performance and easy resizing with thin provisioning, though it can be complex to manage. Network-based storage solutions like iSCSI and NFS provide scalability and shared access, with iSCSI offering block-level and NFS file-level access, both supporting live migration and snapshots. Distributed storage systems like Ceph and GlusterFS are highly scalable and fault-tolerant, ideal for large environments, but require significant setup. Finally, ZFS stands out for its advanced data integrity and management features, making it suitable for environments where robustness is crucial. Each of these storage types supports essential features like live migration and snapshots, enhancing KVM’s flexibility in various use cases.
Continue reading “KVM Storage Support and Features”Serial Console in KVM
A serial console provides a text-based interface for accessing a system, especially when graphical interfaces are unavailable or network connections are down. It allows you to interact with the system using a terminal program, even during boot sequences or critical failures. Here are some scenarios where serial consoles prove beneficial.
Continue reading “Serial Console in KVM”Unattended Linux Installation on KVM with virsh and kickstart
For system administrators looking to automate deployments, using Kickstart files for automated installations can be a highly efficient approach. This lesson will show you how to install Rocky Linux 9 on a KVM virtual machine using a Kickstart file and the virsh command-line tool.
How to Manage KVM Snapshots with virsh
Snapshots are a powerful feature of KVM that allow you to capture the state of a virtual machine (VM) at a specific point in time. This capability is valuable for system administrators and developers who need to create temporary backups, test changes, or recover from errors. In this lesson, we’ll explore how to manage KVM snapshots using the virsh command-line tool on a Linux server.
macvlan vs Bridge Interface: Wi-Fi Compatibility and Benefits
The primary difference between a macvlan and a bridge interface solution lies in how they handle network traffic and their compatibility with different types of network interfaces, particularly Wi-Fi. On a consumer notebook, like a ThinkPad it is almost impossible to create a bridge interface, so your KVM virtual machines are unreachable from the host.
Continue reading “macvlan vs Bridge Interface: Wi-Fi Compatibility and Benefits”Docker Basics: Upcoming Free Training by Tom’s IT Cafe
Tom’s IT Cafe’s upcoming free training is under heavy development: Docker Basics for beginner system administrators, developers and those who want to learn containerization with the industry standard Docker solution. Enhance your CI/CD, automation and system testing with containers.
Stay tuned! You will learn how to install and use Docker in a Linux environment.
Manage KVM Volumes With virsh And qemu-img
KVM storage volumes are virtual disk images that can be assigned to virtual machines. They are stored on the host system and presented to the guest as virtual hard drives. The most commonly used image format for KVM storage volumes is qcow2 (QEMU Copy-On-Write 2). qcow2 is a sparse format that only allocates disk space as needed, allowing multiple volumes to efficiently share the same base image using copy-on-write. This saves disk space compared to raw disk images. qcow2 also supports features like snapshots, encryption, and compression.
Join Our Collaborative Technology Community on Discord and IRC
If you want to discuss topics of the site with other technology-minded people, or you need some technical help, maybe you have a question, then you can join our growing Discord community:
If you have any difficulties with the invite link, leave us a comment below!
For others who like older text based protocols, we have an IRC channel as well:
irc.libera.chat / #tomsitcafe
Find us and let’s build a helpful and collaborative community together, like the 90s Linux IRC channels!
Creating and Managing KVM Storage Pools Effectively
Storage pools in KVM virtualization are a way to centrally manage and organize storage resources for virtual machines. A storage pool is a designated area of storage, such as a directory, partition, or network-based storage, that is set aside for use by KVM virtual machines. Once a storage pool is created and started, storage volumes can be defined within the pool and assigned to VMs.
Continue reading “Creating and Managing KVM Storage Pools Effectively”Install and Remove KVM Guests With virt-install
virt-install is a command-line tool used to provision new virtual machines (VMs) using the libvirt hypervisor management library. It supports creating KVM, Xen, or Linux container guests and can configure various aspects such as virtual disks, network interfaces, audio devices, and physical USB or PCI devices. The installation media can be held locally or remotely on NFS, HTTP, or FTP servers.
Continue reading “Install and Remove KVM Guests With virt-install”Learn Ansible Automation & Podman Containerization for Free | Jumpstart DevOps Career
You can start your DevOps career with these free (as free beer) training courses:
- Ansible Basics – free automation training using Ansible.
- Podman Basics – free containerization and container management course using Podman.
More to come! Happy learning!
Migrate Virtual Machines to KVM Using qemu-img
Migrating just a couple of virtual machines from other virtualization platforms to KVM is easy. Virtualbox uses the Virtual Disk Image (.vdi) format. You can clone the vdi image to a RAW image format using vboxmanage. This way you will not alter your original virtual image file. Then QEMU provides the necessary tools to convert the RAW image to the qcow2 format. Qcow2 is QEMU’s Copy On Write image format.
I Migrated to KVM+QEMU on Debian 12
KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko.
QEMU’s system emulation provides a virtual model of a machine (CPU, memory and emulated devices) to run a guest OS. It supports a number of hypervisors (known as accelerators) as well as a JIT known as the Tiny Code Generator (TCG) capable of emulating many CPUs.
libvirt is a toolkit to manage virtualization platforms.
Continue reading “I Migrated to KVM+QEMU on Debian 12”


