I want to expand from 2TB, what's the best way to do so?

Source: Q3 2019 Town Hall, some answers may have changed since time of original answer. Please feel free at to chime in

I have a full 2TB Storage Node, but want to expand and provide more to the network. Of these two, which is the better option and why?

  1. Obtain a 4TB hard drive, copy the data over, and increase the node.
  2. Obtain a 2TB hard drive, create a new node on the same IP, run two nodes leaving the first one full

What is the reason you don’t recommend option x?

Hello @TownHallQuestions,
Welcome to the forum!

Please, do not buy anything with purpose only for Storj, the ROI could take years, use all that you have now.
If you have another HDD, just setup a second node after the first one almost full.

2 Likes

Source: Q3 2019 Town Hall, some information may have changed since time of original answer. Please feel free to chime in

headshot of JT Olio, VP of Engineering at Storj Labs
From JT Olio, VP of Engineering:

" the major thing that you want to keep in mind with your storage node maintenance is downtime uptime and the risk that you have with each hard drive failure option two of these options is definitely better because it reduces the amount of downtime for adding a new hard drive and it reduces the amount of risk of one of the hard drives or want some of the data failing and and causing a sort of downtime or loss of data for your other node so it’d be better to have two nodes running on the same ip instead of one node we’re trying to align node IDs basically to each hard drive for so for every hard drive you have you should have one node ID."

Jump straight to timestamped Q&A answer here :smiley:

Note that option 1 can be performed with zero (or near-zero) downtime using technologies like LVM. If you originally create the volume on top of LVM, you can use pvmove to transfer it from one physical disk to another while it is in use, and then (if the volume type supports on-line resizing, such as ext2/3/4) use lvresize -r to grow the volume into the new space while it is in use.

The only downtime you’d have would be only that required by the hardware changes (which could also be zero if your storage controller supports hotswap – USB does inherently; many SATA controllers do as well).

1 Like

Is this still correct? I have a nearly full node and an extra 2TB hard drive that I would like to use, would you recommend creating a new node with this 2TB drive? Both nodes would have the same IP

Yes, if your other node is nearly full, now is the time to start the second one. It will take a little while to get vetted, but hopefully that happens before the first one is full and it can take over all incoming traffic!

Ok, thank you for your answer.
What do i need to create a new node? I use my same ETH address and email, but do I have to ask for another “invitation”?

Yes, you must generate a new identity and must request a new authorization token to sign your new identity.
Do not use the old identity for a new node, it will be the same old node but with lost data and will be disqualified within hour.

1 Like

what about my router? do I have to open another port? and point it to my new node?

in my router i have a port redirect externalip:28967 to internalip1:28967 my other node have externalip:28966 to internalip2:28967

i start my new node with

docker run -d --restart unless-stopped -p 28967:28967 -p internalip2:14002:14002 -e WALLET=“0xxxxxxxxxxxxxxxxxxxxxxxxxxx” -e EMAIL="xxxxx@xxxxxx.com" -e ADDRESS=“externalip:28966” -e BANDWIDTH=“6TB” -e STORAGE=“1.5TB” --mount type=bind,source="/root/.local/share/storj/identity/storagenode",destination=/app/identity --mount type=bind,source="/storj",destination=/app/config --name storagenode storjlabs/storagenode:beta

Looks ok to me…

On the second node, make sure your Docker command forwards the right port by using -p 28966:28967.

not in that case. Since the PC (internalip2) is different from the first one, the internal port can be the same and router forwarding 28966 from the external IP to the 28967 on internalip2

1 Like

Ah, yes, understood. I misread that, thanks.

Sounds complicated. Isn’t it easier to add a disk to an existing node? If the disk is installed on the same system.
A new line in the configuration file “config.yaml”?

Welcome @KupoMoogle.
Nodes don’t support that: One node has only one storage space.

And anyway, the safest is to spin up a new node: this way if one of the disks fail, only one node dies, whereas if one node spreads its data across several disks, one failing disk would make a high percentage of file lost, resulting in disqualification (in other words, data from all disks gets disqualifed).

moving to a new hdd could be a pain… it tooked almost 6 days to move 12 TB of data to new drive :slight_smile: