Hello all. Apologies for the newbie-like question! I set up my storagenode a couple of months ago but I’ve now got a new (bigger) drive and want to decommission the old one and migrate to the new one.
Can I just stop the old node, copy everything stored on my drive over to the new one and then re-start? Will this automatically just look at the new drive? I tried to understand the docs but they don’t really make much sense to me. Which, having used computers for 40-odd years makes me feel a bit silly!
If it helps - I run a Windows laptop and the drive is external. I also need to change the settings so that the available space increases from the current 4Tb.
Technically yes, as long as you can afford the downtime (without being suspended/DQ’d). Transfering nodes can be a slow process due to the slow nature of copying a lot of small files, that is why the docs recommend to first copy as much data as possible while running, and then doing a final copy when you stop the node (How to migrate the Windows GUI node from one physical location to another? - Storj Docs).
Probably not. You will have to update the configuration to point to the new device.
buckle up, copying the files could take over a week.
One option if your new disk will be exclusively for storj is to use a disk cloning software (gparted, various windows stuff) to clone the disk block by block, and then expand the partition on the new drive. This will actually copy way faster than millions of files.
A week? Wow! OK, that’s probably not an option then.
Is the better option then to add the new drive as a new node and then graciously retire the old node somehow? If so then is there an easier guide to follow than the one on Storj docs? I tried running the GUI installer again but it wouldn’t work as it’s already been run once
I suspect you haven’t accumulated 4TB in just a couple of months, so the copy process might not take as long as a week. It really depends on your current used space. What’s the total size of your node’s data at the moment? That’ll give us a better idea of how long the process might take.
Hey. My total used space is currently 1.85 TB (plus 276 Gb of Trash).
If I stop the current node and then copy all data over to my new drive, what’s next? Do I need to do anything else to get everything to point to the new drive?
And also, how do I extend the available space as the new drive has more capacity?
Sorry for all of the questions but I want to get a plan in place before having the downtime.
Ensure the disk is mounted at the same letter as the old disk, and then you won’t need to change anything.
In Disk Management, right click on the disk. You only need to do this if you use disk cloning software, which is not justified for your tiny node. If you just follow the manual and copy files none of that is needed, and about of time it takes is irrelevant because node keeps running.
You can do it in total of 1minute of downtime. Follow the manual linked above.
TLDR:
Do a few passes copying data with rsync or robocopy, without turning off node
Once every subsequent pass takes less than a minute, turn off the node, do that lass pass with --delete enabled, or whatever corresponding robocopy command is (/mir?).
Disconnect old disk, change the drive letter of the new disk to the old one; if you are using docker – ensure the new disk is mounted.
Yes, you need to change the drive letter if it has changed in the storage.path: parameter of the config.yaml file with a Notepad++ (please, do not use a regular Notepad, it may corrupt the config): How do I change values like wallet address or storage capacity? - Storj Docs
Save the config (you need to select File - Save explicitly, Notepad++ wouldn’t suggest to save the file on closing the window) and restart the node either from the Services applet or from the elevated PowerShell:
Restart-Service storagenode
If you did not use a clone drive feature, then it’s simple as editing the parameter storage.allocated-disk-space: in the config.yaml file. Save the config and restart the node either from the Services applet or from the elevated PowerShell: