Hodgepodge 3xNAS Part 8 Expanded Storage

Published on May 22, 2023 at 9:01 am by LEW

Introduction

This post is more of a discussion than anything else. Mainly because there are a plethora of ways to use multiple storage drives. And while we are probably not going to hit every single method, we want to hit most of the major classifications.

As of 2022, the largest single drive one could purchase (provided one had the capital) was 22 TB. In 2023 it looks like we will be going even larger. However it is my firm opinion that the average user needs no where near that much storage.

From my research the current price break point for storage drives is around 2 TB. One can get a decent performance 2 TB drive for around $100 US or less. Beyond this point prices start to increase rapidly.

It is also not unusual in this day and age for computer hobbyists to have multiple drives of various sizes laying around not being used. In many cases these are smaller drives of 1 TB or less. A good use case for a number of smaller drives is to combine them to create a larger storage pool. Or you might want to combined storage because it is something new, or just because.

Regardless of the reason, we want to take a look at a variety of methods for using extra drives to increase storage capacity.

I am purposefully going to stay away from classifying specific storage drives or application for this discussions. For most average users, it should not mater what type of drive is used, or how they are combined.

Multiple Separate Drives

The first and most basic setup that most everyone has used is multiple individual drives just as they are. You should notice I did not say simple, because using individual drives means really organizing of your data if you want to take full advantage of the storage space.

This is the easiest scheme to setup. It is available on all Operating Systems (OS). And does not require any additional software. There is no redundancy or fault tolerance built into this type of setup. Basically you need to be diligent about making backups of your data to ensure safety and integrity (you should really be doing regardless). You also need to be diligent about where files are stored and where, or it is likely you could end up with a very messy file system, with duplicates or lost files. Available space is what it is, once it is used up, you will start having to mix files on the remaining drive (which can mess up your storage scheme) or migrate to larger drives.

Let’s look at an example. Your computer has three internal storage drives of sizes 256 GB, 1 TB, 1TB. These could also be drive partitions instead.

Multiple Single Drives

On the first smallest drive we install our Operating system. On the next drive we install all our multi media files (Videos, Movies, Music, Pictures, etc). On the third drive we store all other documentation and user data. How the directory tree would be linked or setup will vary between operating systems. But in general you would have a Multimedia link pointing to drive 2 and a Documents link pointing to drive 3.

Volume Groups

This is one of two high level methods of combining drives. The principle is simple. A Volume Group (VG) is used to interface with a number of Physical Drives (PD). While the OS can still see the PD, it does not interact with them. Instead it interacts with the VG which in turn stores data on its connected PD. In short the VG is the interface for the PD.

On top of the VG you can create partitions that are referred to as Logical Volumes (LV). And on a LV (partition) you create a file system.

Volume Groups

There are several advantages/disadvantages to this type of system. And each application that utilizes similar architecture also has there own advantages/disadvantages, as well as their own twists on the structure. I will list the two probably most well known

RAID

Most of us have heard of a Redundant Array of Independent (Inexpensive) Disks, or RAID for short. In our particular use we will be looking at software raid. Hardware raid depends on specialized components that support this function. RAID is available in most Linux distributions but is generally not installed/enabled by default.

RAID is defined by level (0, 1, 4, 5, 6) with some levels are no longer used. Most levels support fault tolerance or some type, except RAID0. If you have a disk failure in RAID0, you loose all data on all disks (RAID0 performs better than other levels of RAID because of this).

Other parity which is a way of reconstructing data when a drive fails and gets replaced. Parity should not be considered a form of backup. Rather it is a type of fault tolerance. Also with the proliferation of large drives, a repair using parity can take hours or even days.

RAID array capacity is based on the smallest disk in the array, hence most chose to use similar sized drives in a RAID array.

Logical Volume Manager (LVM)

This is a kernel or system based method of spanning multiple drives which shares many similarities with RAID, but with its own set of commands and idiosyncrasies. Unlike RAID, you can combine different size drives without loosing space. Also, in general, LVM is easier to expand by adding more drives, than most forms of RAD. Like RAID0, if you loose a disk in a LVM group, you loose all data on all disks in that group.

Union File System (UnionFS)

Union File Systems are a way of combining multiple drives, making them appear as one drive. This increases available space and makes file management easier than juggling two separate storage drives.

There are a couple of major difference between volume groups and union file systems. Union file systems are user level applications. They also use existing drive partitions, without wiping the individual drives. If you loose a drive, you only loose the data on that drive.

Mergefs

The mergefs application is a user level UnionFS. Specifically, multiple file systems (partitions) on different drives can be merged together under one common file system. When a file is saved to the common file system, the mergfs program makes decisions on which partition it goes to based on configuration parameters. Unlike volume groups, the entire file is saved to one drive, not split between drives.

 

Conclusion

In this post we took a high level look at various ways to use multiple storage drives. There are a lot of options out there, a lot more than can be covered here.

In the next post we will start setting up a new VM server to test one such options. Like a lot of bloggers, I will be using mergefs (see above) and snapraid (have not discussed this yet) for parity and fault tolerance.

Hodgepodge 3xNAS Part 1 Project Overview

Hodgepodge 3xNAS Part 2 Software Choices

Hodgepodge 3xNAS Part 3 Virtual Install

Hodgepodge 3xNAS Part 4 Initial Configuration

Hodgepodge 3xNAS Part 5 Need a GUI?

Hodgepodge 3xNAS Part 6 Add a Storage Drive

Hodgepodge 3xNAS Part 7 SMB/CIFS

Hodgepodge 3xNAS Part 8 Expanded Storage

Hodgepodge 3xNAS Part 9 Making RAID

Hodgepodge 3xNAS Part 10 Cockpit Web GUI RAID 5

Hodgepodge 3xNAS Part 11 Mergerfs

Hodgepodge 3xNAS Part 12 Snapraid

Hodgepodge 3xNAS Part 13 LVM

Hodgepodge 3xNAS Part 14 The Server Hardware

Hodgepodge 3xNAS Part 15 The Server Operating System

Hodgepodge 3xNAS Part 16 Cockpit Install

Hodgepodge 3xNAS Part 17 SAMBA Setup

Hodgepodge 3xNAS Part 18 PLEX vs Kodi

[…] Hodgepodge 3xNAS Part 8 Expanded Storage […]

[…] Hodgepodge 3xNAS Part 8 Expanded Storage […]

[…] Hodgepodge 3xNAS Part 8 Expanded Storage […]

Add New Comment

Your email address will not be published. Required fields are marked *