Graceful Exit Guide
(This guide was originally published by Jens Heimbürge in this forum thread and updated with a new version of the Graceful Exit implementation later. Please read the thread in order to find the most recent updates and changes).
Warning: Read this carefully before you start Please read the following information carefully and ask any questions your might have on this forum thread and this one before executing graceful exit.
Requirements
- Storage node has joined the network more than 15 months ago (requirement temporarily reduced to 6 months).
- Storage node is healthy and hasn’t lost any significant amount of data. Disqualification during graceful exit is possible.
- Storage node will have no huge downtime during the graceful exit period (30 days). The uptime score requirement is higher during graceful exit (0.8) than it is normally (0.6). If your node has too much downtime during the graceful exit period, the graceful exit will fail and you will not get back your held amount.
Start Graceful Exit
Are you sure you want to start graceful exit? Did you read the information above? Do you understand that graceful exit can’t be canceled once initiated?
Here is an example how you call graceful exit from the command prompt (Linux):
For Windows GUI users, the exit command should look as follows, but be sure to point to your own identity and config directories (in cmd.exe):
You can exit the satellites one by one or all at the same time.
For multiple nodes owners
If you used multiple nodes on the same host, you have changed the server.private-address
option in your config file. You must use this option in the exit-satellite and exit-status commands.
For example, if you changed it to server.private-address: 127.0.0.1:7779
and your other identity is located in "C:\Users\USER\AppData\Roaming\Storj\Identity\storagenode2"
, and the config.yaml
file is located in "C:\Program Files\Storj\Storage Node2\"
then the exit-satellite command will look like:
During Graceful Exit
You can watch the status of graceful exit as follows (example output from a test satellite):
From the cmd.exe
(Windows)
For the second node with identity "C:\Users\USER\AppData\Roaming\Storj\Identity\storagenode2"
and server.private-address: 127.0.0.1:7779
, and the config.yaml
file is located in "C:\Program Files\Storj\Storage Node2\"
:
The “Percent Complete” field is a relic of the old graceful exit and is no longer meaningful. It will likely be removed at some point.
If you get the output No graceful exit in progress.
this means graceful exit didn’t start because of the minimum node age requirement. In the storage node logs you will find additional information such as: node is not yet eligible for graceful exit: will be eligible after 2020-04-02 01:18:23.910919 +0000 UTC.
In case of a crash, power failure or other outage during graceful exit, please get your storage node back online. Graceful exit will continue.
Finish Graceful Exit
After the graceful exit period (currently 30 days) is complete, your node will no longer be in the graceful exit stage. Either it will have succeeded (if your uptime was high enough) or it will have failed.
At the end you will get this output: (sample output from a test satellite)
As long as graceful exit was successful, you will get back your held amount with the next regular payout. The “Completion Receipt” contains a signature from the satellite and is your ticket to get the payback.
In some situations, the storage node doesn’t need to transfer 100% of the data and might finish graceful exit with a lower percentage. As long as graceful exit was successful, you should get your held back amount along with the next regular SNO payout on Layer 1, if the owed amount is above the minimum payout threshold, or if the node is opted in to zkSync Era, on Layer 2. The “Completion Receipt” contains a signature from the satellite you exited and is your ticket to get the held back amount. Please keep your nodeID, each satelliteID and each completion receipt in a safe place. With this information your can open a support ticket if needed.