Remote Backup Script for Windows NTFS Partitions on LVM Volumes

Linux bash script to mount and backup / synchronize a Windows 10 partition inside a LVM volume to a remote backup server using rsync and SSH

I use the bash script below to backup my Windows NTFS partitions residing inside LVM volumes to a remote backup server. It uses SSH and public key authentication to authenticate at the remote side.

The script can be used with NTFS partitions created within LVM raw volumes. It performs a file-based backup using rsync. It is NOT suitable for system backups!

Please carefully read the “Requirements”, “How it Works”, and “Usage” sections before attempting to use it.

Continue reading “Remote Backup Script for Windows NTFS Partitions on LVM Volumes”

Windows 10 VFIO Passthrough Configuration

I’ve been tweaking my configuration for my needs and it performs very well. As a reference, I’m posting my:

    • hardware configuration
    • Linux distro, kernel, etc.
    • Windows VM configuration (XML)

Continue reading “Windows 10 VFIO Passthrough Configuration”

Creating a Windows 10 VM on the AMD Ryzen 9 3900X using Qemu 4.0 and VGA Passthrough

Last updated: June 1, 2020

Introduction

I’ve already written a detailed tutorial on VGA passthrough based on QEMU 2.11. Time has passed and more modern distributions like Manjaro, Ubuntu 19.10 or Pop!_OS come with QEMU 4.0 or newer.

A lot has happened since version 2.11. QEMU 4.0 includes numerous changes and improvements such as trim support in the virtio-blk driver, pcie-root-port with PCIe 4.0 support (with Q35-4.0 machine type), as well as improved audio. Continue reading “Creating a Windows 10 VM on the AMD Ryzen 9 3900X using Qemu 4.0 and VGA Passthrough”

Upgrading my PC to an AMD Ryzen 9 3900X System – Benchmarks

It wasn’t easy this time. Don’t get me wrong – the VFIO passthrough part, though challenging in some ways, went quite well. All in all I’m pleased now with the results. Here the Passmark 9.0 benchmark as uploaded onto their database (for more details, click the frame below):

PassMark Rating

Continue reading “Upgrading my PC to an AMD Ryzen 9 3900X System – Benchmarks”

Upgrading my PC to an AMD Ryzen 9 3900X System

Introduction

I’ve been contemplating a PC upgrade for more than a year (see my post here). At first I considered staying with Intel and getting an i9-9900K CPU with integrated GPU on a Z390 motherboard.

Along came the AMD Ryzen 9 3900X that topped the benchmarks, including the Adobe Lightroom and Photoshop benchmarks (to be precise, it ranked #4 in the Adobe Lightroom benchmark, and a narrow #1 in the Adobe Photoshop benchmark). These good news about the AMD Ryzen 3900X were soon followed by reports about BIOS issues and VFIO incompatibility. At the very least, it looked like VGA passthrough was more challenging.

Then I read Bryan Steiner’s GPU passthrough tutorial for the AMD Ryzen 9 3900X and an Ubuntu-based Pop!_OS Linux host. Several users on the VFIO Reddit forum reported successful VFIO VGA passthrough with the AMD Ryzen 9. Continue reading “Upgrading my PC to an AMD Ryzen 9 3900X System”

Hardware upgrade or what’s holding me back?

More than a year has passed since I’ve posted about building a new PC. So what is holding me back from the upgrade? Time and money are considerations, but not the reason.

On paper, the AMD Ryzen 9 has outperformed Intel in most if not all tasks. The Ryzen 9 3900X beats the Intel i9 9900K as well as the Intel i9 10900X in multi-threaded workloads. The Intel i9 9900K can barely hold its ground on single-threaded tasks. Numerous benchmarks have shown that AMD is a clear winner. Continue reading “Hardware upgrade or what’s holding me back?”

Impact of Spectre and Meltdown Protection on Virtual Machine Performance

A year ago I wrote about the 2D graphics performance impact of the Windows 10 (1803) update inside a virtual machine. As it turned out, the performance impact was related to the Spectre vulnerability patch that Microsoft had introduced. However, the same patch had practically no performance impact on a Windows 10 bare-metal installation.

Time has passed and I wanted to see if there has been any progress. Right now I’m running Windows 10 (1903) with Nvidia driver release 431.36. Windows 10 is up-to-date, Nvidia however already offers a newer version (431.60). Continue reading “Impact of Spectre and Meltdown Protection on Virtual Machine Performance”

GPU Passthrough with Low-End Intel i3-6100 CPU

For some time I wanted to run a kvm virtual machine with GPU passthrough on a low-end Asus H110M-K D3 motherboard with an i3-6100 CPU and an Nvidia GTX 1060 GPU, but never found the time. Now I finally had a chance to give it a try. While the preparations were easy, I ran into a problem when starting the Windows 10 VM:

Jan 22 15:21:24 alon-i3 kernel: [  108.514992] vfio_pin_pages_remote: RLIMIT_MEMLOCK (16777216) exceeded

Continue reading “GPU Passthrough with Low-End Intel i3-6100 CPU”

Installing a Linux Mint 19 (Ubuntu 18.04) VM with VGA Passthrough

Introduction

Installing a Linux Mint 19 VM (or Ubuntu 18.04) with VGA passthrough is surprisingly straightforward. This tutorial follows the Running Windows 10 on Linux using KVM with VGA Passthrough almost step-by-step. I will therefore focus on what’s different from the above tutorial.

While booting the Linux Mint 19 life installation media (ISO) as a VM was easy, the installation of Linux Mint invariably ended with the following error:

The ‘grub-efi-amd64-signed’ package failed to install target/

The following tutorial will describe the steps to overcome this problem (bug?). Continue reading “Installing a Linux Mint 19 (Ubuntu 18.04) VM with VGA Passthrough”

IOMMU Groups – What You Need to Consider

Summary

In this post I present some of the challenges you might face with IOMMU and provide tools to identify and perhaps solve the issues. Your best friend is the pciutils package and the lspci command (see here for examples).

What is IOMMU and why do I need it?

In my tutorial on how to run Windows 10 on Linux using KVM with VGA Passthrough the first and most important hardware requirement is the support for IOMMU – VT-d in Intel jargon, AMD-v or SVM in AMD talk. But what does IOMMU support mean? Continue reading “IOMMU Groups – What You Need to Consider”