Replies: 4 comments 10 replies
-
Running All Storage Provider Systems on the Same Box |
Beta Was this translation helpful? Give feedback.
-
Running Storage Provider Systems in the Different Boxes |
Beta Was this translation helpful? Give feedback.
-
How to separate the storage markets to different machinesBenefits of separating storage markets
Our documentation on Separate Storage Marketplace documentation is more than complete. You can refer to the existing documentation to make sure you understand the separation process. 1. Mining/sealing/verifying node operationsPlease make sure that all sealing jobs have been finished before starting the operation. step 1. stop mining/sealing/verifying nodes and configure environment variables, here we use backup directory as /backuplotus-miner stop
export LOTUS_BACKUP_BASE_PATH=/backup step 2. Change the mining/sealing/proving node configurationThe subsystem area mainly changes EnableMarkets to false.
Comment out the following fields
Step 3. Start lotus-miner and perform a backupnohup lotus-miner run &
lotus-miner backup /backup/backup.cbor
cp ~/.lotusminer/dagstore /backup/ #If you have already initialized the dagstore that was created
cp ~/.lotusminer/config.toml /backup/ Step 4. echo the variable values for the marketplace nodeecho APISEALER=`lotus-miner auth api-info --perm=admin`
echo APISECTORINDEX=`lotus-miner auth api-info --perm=admin`
lotus-miner auth api-info --perm=admin Record these three values and import them into the environment variables of the markets node. step 5 Copy the /backup folder to the root of the markets node.2. markets node operationsstep 1. Edit /backup/config.toml
step2. Import environment variablesThe main environment variables are APISEALER, APISECTORINDEX, MINER_API_INFO (these three environment variables are echoed in 1.step4) lotus auth api-info --perm admin APISEALER, APISECTORINDEX is used by the markets node to send encapsulated information to lotus-miner after receiving the order. export FULLNODE_API_INFO=xxx:/ip4/192.168.0.105/tcp/1234/http
export APISECTORINDEX=MINER_API_INFO=XXXX:/ip4/192.168.0.105/tcp/2345/http
export APISEALER=MINER_API_INFO=xxxx:/ip4/192.168.0.105/tcp/2345/http
export MINER_API_INFO=XXXX:/ip4/192.168.0.105/tcp/2345/http step3. Initialize the node and modify the configuration1 Execute the initialization commandlotus-miner --markets-repo=~/.lotusmarkets init service --type=markets
--api-sealer=$APISEALER /-api-sealer=$APISEALER
--api-sector-index=$APISECTORINDEX (--api-sealer=$APISECTORINDEX)
--config=/backup/config.toml /backup/config.toml
/backup/backup.cbor This step is mainly to initialize the markets node and does not directly run 2 Restore the dagstore file (optional, if you initialized the dagstore).cp /backup/dagstore ~/.lotusmarkets/ # if you have initialized the dagstore 3 Edit the configuration file and export environment variablesChange the corresponding address section to the address of your current host
Exporting environment variables. export LOTUS_MINER_PATH=~/.lotusmarkets Step 4. Start the nodenohup lotus-miner run & Step 5. How to confirm successful separationExecute the following two commands lotus-miner information
lotus-miner stores the list of transactions If there are no errors reported, you can basically be sure that it is successful. step 6 Exporting environment variables and other configurationsIf you end up changing your extranet address for accepting deals, run the following command to update lotus-miner actor set-addrs<NEW_MULTIADDR>. Get the API connection information for the markets node lotus-miner --call-on-markets auth api-info --perm admin The output is similar to.
Please export this variable into your mining/sealing/proving node, otherwise you will encounter the following error when executing the command with lotus-miner info.
step 7 update the Addresses section of the markets config.toml,Update this section as same as mining/sealing/proving node
Normally, if you initialize the markets node from the config.toml used in the mining/sealing/proving node, the settings in this section will be the same as in the mining/sealing/proving node, but if you are already running a subsystem and have changed the configuration in this area midway through the mining/sealing/ proving node, please make the same changes in the markets node, otherwise the DealPublishControl configuration will not take effect and DealPublish costs will be deducted from the worker wallet.see this issue Caution.This tutorial is a test based on the nerpa network. As we operate in different environments, this tutorial cannot cover all scenarios and the storage provider should adapt the operation to the specific situation version informationlotus-miner version 1.11.1-rc2+git.40449f1cc.dirty |
Beta Was this translation helpful? Give feedback.
-
Make sure that you update your miner config.toml ( If you want the market node to pull everything through the miner node's API, then make sure your storage.json looks like :
of course if your market node runs in the same network and is not divided by a firewall for security reasons and it is able to access the storage files where the sectors are located directly, then make sure the storage.json file reflects that. Because else you will be pulling and storing all deals through the miner API and not directly from/to the storage location. And the same goes for the lotus daemon node when it comes to the RemoteListenAddress (like @benjaminh83 mentions above), make sure you specify the IP addresses in the config files and try to avoid using 0.0.0.0 as a RemoteListenAddress anywhere when separating roles. Further my advice would be to restore and initialize the market node on an other machine and rebuild the dagstore, it is also a good indication/practice to see that everything is working well. Also, update your firewall with the new NAT address if you moved the market node to a different machine. |
Beta Was this translation helpful? Give feedback.
-
[WIP]
See suggested practice:
Beta Was this translation helpful? Give feedback.
All reactions