Not really. The recommendation was 1 node per disk. Meaning, don’t run more nodes than you have disks. It was not exhaustive and just a ballpark.
I have never seen recommendation against using arrays for storagenode. It would simply not be feasible.
For one, you cannot sustain a node just on a single disk. It’s not magic: average file size is lets say 16k (many people posted histograms here on the forum), assuming very generously that you need two IOPS to write a file (write data and update directory), the average HDD that can only sustain 200 IOPS can handle 200/2*16k/sec=1.5MB/sec traffic from storj. Under 2 megabytes per second. It’s laughable. It maybe was OK in the early days, but come one. 2MB/s in 2024?
For the other, the actual advice was “use existing capacity”. People don’t just run random disks in the closet that happen to be also available for storj. People have arrays. Even adding a simple cache device in front of your HDD will drastically improve the capacity.
In reality there are way more IOPS generated due to database writes and other system activity. So, single drive is a no-go for a node. Period.
Not all array configurations are redundant btw. Yes, you don’t need redundancy for the node. But you don’t build the system just for node. You let node use existing system built for different purpose. And virtually all other purposes require some sort of array configuration, even if it’s just cache or a single metadata device (no redundancy). Vast majority of modern HDDs are designed to be use in RAID config, they are not reliable enough nor performant enough standalone.
Separately, I don’t’ like to call it “replication”, because it isn’t, it’s encoding, but I don’t know how to better say it.
I disagree. Unused resource are wasted resources. If there is available ram – why not use it?
If would be nice to have obviously, but it’s not done at the moment, and I imagine optimizing performance of nodes running on potato is on the bottom of priority list. As I said, my storage appliance in the closet barely felt additional load during last few days. I just saw more ingress on my router network stats. IN other words, this is not a problem that needs immediate solution.
Think about it, even if it was implemented – you node would only be able to sustain 2Mbps traffic (see above). Might as well shut it down, because it’s useless, if average traffic is, say, 200MBps. It’s “off-line” for most of the traffic anyway.
That’s where you shut down the node. I have multiple nodes on the array for this exact purpose. I rent out space until I need it. Then nuke the node (I used to not bother with graceful exit, but now with 30 days fixed duration I might, just to be nice) to free up space.
See above. If the demand is 200MBps, and your node can only sustain 2Mbps – it has already effective packed and left.