Posts Tagged storage

LVM Part 4: RAID

📅 April 6, 2024
RAID (Redundant Array of Independent Disks) is available in Linux using mdadm, but did you know that RAID is also possible with LVM?

By default, LVM creates a linear logical volume, but we can create a RAID logical volume as well with RAID modes 0, 1, 4, 5, 6, and 10 (also known as 1+0).

How is RAID accomplished with LVM?

Read the rest of this entry »

, , ,

Leave a comment

LVM Part 3: Logical Volumes

📅 April 3, 2024
We have created physical volume building blocks. We assigned them to volume group storage pools. Now, it is time for the final piece of the LVM system: logical volumes.

The logical volume is the “thing” that we format, mount, and allow users to interact with. We can treat a logical volume just like any other NVMe, SSD, or HDD.

Read the rest of this entry »

, ,

Leave a comment

LVM Part 2: Volume Groups

📅 April 1, 2024
We have our physical volumes created, but what do we do with them?

Can we format them? Can we store data on them?

No, not yet. A physical volume merely specifies a drive or partition that is to be used with LVM. The next step is to assign physical volumes to volume groups, and this is were the fun and flexibility of LVM becomes apparent.

Read the rest of this entry »

, ,

Leave a comment

LVM Part 1: Physical Volumes

📅 March 31, 2024
Linux has a number of handy technologies built in that have existed for a long time but seem to receive little attention because they are taken for granted or simply not talked about.

One of these is logical volume management (LVM) that allows us to treat hard drive storage space in a way similar to RAM. Comparable to adding another memory stick to expand RAM, we can add more hard drives to expand hard drive storage space. Need more secondary storage? Just add another hard drive.

This simple concept is incredibly versatile and saves time by eliminating the need to backup and restore data following a new drive addition to a system. It requires some extra steps to set up and has a few specific terms to learn, but the benefits are worthwhile.

LVM consists of three layers to create a working storage system. In this part, we will focus on the physical drives themselves, called physical volumes. These can be mechanical hard drives, SSDs, SAS, or even super fast NVMe storage devices.

Read the rest of this entry »

, ,

Leave a comment

PCIe Bifurcation and NVMe RAID in Linux Part 3: A Faster CPU

📅 April 16, 2023
“Will a CPU upgrade result in faster LUKS encryption/decryption performance?”

While unencrypted NVMe RAID using PCIe birfurcation works well and devices read and write at their top speeds, once encryption is added to the mix, whether it be LUKS or VeraCrypt, read/write speeds plummet.

PCIe Bifurcation Part 2 demonstrated some disappointing drops in performance when using encryption with NVMe. The drops were so massive, that RAID-1 actually outperformed RAID-0. No matter what I tried in an attempt to improve performance when using full-disk encryption, it felt like the test system would always hit a wall — a barrier — that could not be overcome.

Encryption is a necessity for my purposes, so how can reads and writes be improved when using LUKS? The past tests were made using a Ryzen 5 2600 CPU, so would a newer, faster CPU make a difference? If so, how much? Would the upgrade be worthwhile?

In this part, I upgraded the CPU to a Ryzen 7 5700G while keeping the rest of the test system the same in order to find out if CPU speed matters when full-disk LUKS encryption is used. Did it matter?

Here are my results.

Read the rest of this entry »

, ,

Leave a comment

PCIe Bifurcation and NVMe RAID in Linux Part 2: Benchmarks and Encryption

📅 April 10, 2023
“How fast is it?”

With the hardware configured, installed, and running, it is time to run a few benchmarks using the Disks benchmarking utility and KDiskMark to get an idea of the maximum synthetic speeds possible with our new arrangement.

Will NVMe RAID utilizing PCIe bifurcation achieve worthwhile results or will this be underwhelming?

Read the rest of this entry »

, , ,

Leave a comment

PCIe Bifurcation and NVMe RAID in Linux Part 1: The Hardware

📅 April 8, 2023
“PCIe Bifur…..WHAT?!”

Ooooh! Sounds fancy, right? On some motherboards, the BIOS will allow a single physical PCIe x16 slot to be divided into two or more logical PCIe slots in order to install multiple NVMe SSDs (two, three, or four) using an adapter card. This is PCIe bifurcation, and Linux is compatible with motherboards that support it.

What would benchmark numbers look like if we put two NVMe devices in RAID-0? How about RAID-1? How well would it compare to a single NVMe? What would be the best data storage arrangement if using NVMe? Are there different techniques to follow compared to RAID with mechanical drives?

Here are my experiments in an attempt to help protect data stored on a Linux system with the hopes of providing faster redundancy while exploring PCIe bifurcation on a system running Ubuntu Cinnamon 22.04.

Read the rest of this entry »

, , ,

Leave a comment