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.

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

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.

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.

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

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.

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.

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