Recommended way to expand disk capacity

My node 16TB is almost full, only 0.4 GB free space from 90% space I have assigned to node.
I have a new empty 18TB disk. What is the recommended option?

  1. Moving the node from 16TB to 18TB disk and start a new node into 16TB disk
  2. Create a new node on 18TB disk

Create a new node to spread your risk of losing your income. In case you’re not backing up your first node.

1 Like

Create new node. mooving will take lot of time, I understand if first node wold 3-4 TB then mooving is logical.

1 Like

Third option:

if you want to expand the existing node and on Linux, you can try lvm - multiple physical HDDs grouped as one logical volume.

I have made a new one. Migrating the data from one disk to another will take weeks

Don’t do this without underlying RAID. Otherwise you’ll lose all data if one disk dies.

1 Like

My recommendation is to avoid single-device filesystems (such as ext4 [without lvm]) that don’t support adding/removing HDD partitions to/from an existing filesystem.

1 Like

Yeah lvm… one disk to ruin it all. So…

4th option: mergerfs, a union filesystem software (debian)

This groups multiple volumes into a single overlay volume. One corrupted disk doesn’t affect others. Easily adding new physical volume after another.

ps: union filesystem may not work with docker

Fifth option, recommended by Storj, a node for a harddisk

don’t do this too - the node will be disqualified if one disk die.

It’s better to do not use ANY RAID0-like extensions of free space, even zfs will not help there if it would be configured as a stripe volume.

So the only feasible solution if you want to add only one disk is to setup the next node, see How to add an additional drive? - Storj Docs

3 Likes

The number of ports (SATA, SAS, USB) is a small finite number (for example: 8). If the Storj operator starts with smaller devices (such as: 1TB and 2TB HDDs) and strictly adheres to the 1-Storj-node-per-HDD policy then it might turn out that expanding the machine with a larger device (such as: 8TB HDD) is a major problem.

Your best option in case you run out of sockets is to buy a (powered if necessary) hub then, IMHO.

1 Like

It’s better than to lost a big old node if one disk died.

Is it? You keep the last connector free. When a disk is filled, you use that connector to attach a bigger drive, move data using a favorite disk copy/partition copy tool, grow your partitions, remove the old drive, put new drive in its place.

Copying even a 18TB drive this way should take around 2 days, so well within acceptable downtime for a node.

I have tried to copy 14TB of data, it takes more than a week only for first copy

If you copy by file explorer, sure. If you copy using disk imaging tools, which is an option here, then it’s very fast.

Which tool? I am using ubuntu 22.04 server.
I have tested with cp and rsync

My favourite is ddrescue.

I just bought this thing. Single USB port, 10 disks. Problem solved.

2 Likes

USB is little bit bottleneck here. Theoretical speed 600MB/s but real life show much lower.