Multi hard disc in Windows Node

Hello everyone!

I want to start a node with Windows and I do not know how to propose the use of multiple hard drives.
Windows has a tool to join physical hard drives to create a single logical drive but I don’t know if it is the best option.

Currently, I want to start with 3 old hard drives but then I want to change some of them for more capacity and maybe with the union that windows makes it will be a problem.

In summary, I am looking for the best option for multiple hard drives in Windows, I don’t know if the windows client allows it or we have to do some strategy as I mentioned.

Hello,

I have positive experience with “Windows Storage Spaces”.
Sure, it is no hardware Raid controller, but it does what it’s supposed to do.
You can create a Storage Pool and add more HDDs later…increase the pool and go on. You can implement redundancy also.

The second option I have quite much experience with, is Stablebit DrivePool. Costs about 15€ lifetime, but is worth every Penny. Here you have way more options with Windows 10 (you have more options with Storage Spaces under Server 2012R2-2019 too). You can specify SSD caches, you can limit specific HDDs to a certain filling amount, or many different approaches in terms of redundancy/load balancing.

You can ask me about both topics, if you want.

PS: I’m not a native English speaker as you might have heard. Keep the errors :slight_smile:

2 Likes

Disks can be combined, but it’s not a recommended approach as one disk failure would kill the whole raid array.

Better to have one node per disk, so that if one disk dies, only the node managing it dies with it.

4 Likes

I’m not sharing your opinion… I’d rather have some kind of software RAID 5 with 1-disk redundancy instead of a single drive node. But to each their own :wink:

1 Like

If it is a raid5 then my comment doesn’t apply as losing one disk wouldn’t kill the node.

The consensus here is still that it’s not ideal because the lost space for redundancy doesn’t bring revenue, but you’re right… Everyone’s free to do how they see fit :slight_smile:

2 Likes

Thanks for the answers.

Maybe if I explain my case you can offer me ideas. I have an old machine (dual core) without a graphics card, I have 3 hard drives 250GB, 500GB and 1TB.

I would like to put as much memory as possible to work, I had thought of joining 500 + 1Tb in a single unit and eventually buy a 4TB disk (if the node was profitable) but I don’t have more sata connectors on the motherboard, that is it means that I would have to remove the 250 disk but, it would be attached as a single hard disk, I think it could be a problem.
Maybe it would be nice to run OS from a USB and have the 3 hard drives for storage?

Thanks experts!

I have no real experience with Windows from USB. Further I’d be concerned about an old PC…they mostly have USB 2.0…can you check that first? How much RAM does it have? Perhaps it would be better to run a linux distro of your choice from USB than?

1 Like

Can’t use 250 GB because minimum disk requirement is 500GB + 10% overhead = 550GB.

Can’t use 500GB as it will have less than 500GB physical space.

1TB is best option for you but also look if it’s not SMR. You should stick to 1 drive 1 node.

1 Like

it’s true, not is a good option. I dont want Linux :smiley: i started a node with raspberry pi but, after of reboot it i lose the hard disck. I have 0 control about linux and this is a project not is for full beginners that only follow guide (copy/paste similar my case).

i wanted create a logic unit with windows tool. People who use storage cabinets, how do they do it? The Storj program only supports one drive to store data.

Please take a look at Stablebit DrivePool. You can exactly do what you want.
Create one logical volume out of endless different HDDs.
Mount the storjnode to that volume and go :slight_smile:

My approach:

  1. Use the 250GB for Windows Installation for now
  2. Pool the 500GB + 1TB HDD to one 1,5TB DrivePool (volume D:)
  3. Mount the Storagenode to this volume D:\ in config.yaml

If you are reaching the capacity limits, you could switch the 250GB against like a 8TB HDD and add that to the pool. You still have your Data on C:, but it also adds the left over capacity to the pool D:\

Beware, you have no redundancy involved in this approach. One drive fails, node is gone. But as you want to use old hardware and don’t invest at the moment, I think that’s the only option.

Or:

  1. 250GB/500GB for Windows
  2. DrivePool (Windows Storage Spaces works too) ONLY the 1TB HDD (just to be future proof) and mount the node to that.
  3. If you like the whole project and such, you can still enhance your pool afterwards
1 Like

You can run one node per HDD. Just the smallest size which is worth to deal with is 500GB. However, it’s not a hard limit, you can change the option to lower the expectation. It’s clearly available in the config.yaml, just commented out.
My suggestion would be - 250GB for Windows (if you still want to use it), 500GB node and 1TB node.

Since the official Windows GUI installer can install only one node on one Windows machine, you can use a Windows Toolbox to install more (you can find it here, on the forum), though it’s not supported by StorjLabs, so the support could be only from the Community.

The other option is to use a Docker. In the last case you need to have a Hyper-V in your Windows and use the 2.1.0.5 version of Docker desktop for Windows (all other versions are unreliable).
The docker do not have a limit, how many nodes you can run, but since it’s Windows, it uses a Linux VM to run a docker, so part of resources will be wasted to running VM.

If you would have a bigger HDD, you can start a third node or migrate one of the old nodes to it (from 500GB for example).

2 Likes

It sounds like you didn’t add the drive to /etc/fstab (where permanent mounts are defined) if you ever decide to explore the Pi again.

1 Like

With regards to speed, usb2 is more than enough for Storj.

I agree with @Alexey, just be careful about how much power per TB old disks consume. It might not be worth it ^^

2 Likes

Gracias! i didn’t have idea about it

Great, the two methods with the Toolbox and creating virtual machines. Let me ask a question and forgive my ignorance, how do Linux users create nodes on the same machine? I have seen that in linux it also allows to join physical hard drives in the same lojic unit

  1. Generate an identity
  2. Sign it
  3. Check it
  4. Create port forwarding rule on your router for the second port (for example 28968)

Those steps above are common for any OS.
Then run a new storagenode with a docker: https://documentation.storj.io/setup/cli/storage-node#running-the-storage-node
Make sure to specify right paths to the identity and disk (we recommend to use a folder on the disk for data instead a root of the disk and also move your identity to the disk with data), and use different external ports for data and dashboard, i.e. -p 28968:28967 -p 127.0.0.1:14003:14002 -e ADDRESS=your.external.address:28968 in the docker run command.
Do not forget to add a name for the second node to the watchtower command.

1 Like

They run inside docker containers on Linux by default (think of docker containers as really light weight VMs). You can also use docker containers on windows, it just isn’t as efficient generally.

You can also do this in Windows; one such way is by using Storage Spaces (a Microsoft provided tool), but there are many other ways. When running under Linux they are likely using an LVM (Linux Volume Manager) and mdadm for software raid (this approach is probably the most similar to Storage Spaces I guess), or a slightly more specialized filesystem such as BTRFS or ZFS that allows the filesystem itself to combine the disks (These are a bit more like the new Microsoft ReFS that is available with MS server, but I believe ReFS still requires some other system to create the RAID).

To throw some more stuff at you, there is also hardware RAID, where a separate piece of hardware is used to combine the disks outside of the operating system.

I would not suggest to use LVM. You will build a RAID0 without redundancy - one disk failure and whole volume is lost.

LVM doesn’t automatically mean RAID 0, usually when using LVM you run it on top of mdadm, which provides your RAID (to whatever level you set it); although, there is now a LVM-RAID, which apparently wraps mdadm into LVM.

LVM provides easier volume management (and could of course be used for a RAID 0 like volume), such as resizing partitions without rebooting.

While it might not be the best option, I run it like this on one of my nodes (even with Parity) for almost 1 year now without problem (I joined 8 mixed drives ranging from 750GB to 3TB)

1 Like