[Tech Preview] Hashstore backend for storage nodes

My understanding is you need to restart for it to start the migration.
Then it will be reporting the progress every 10 minutes in the log:

INFO    piecemigrate:chore      processed a bunch of pieces     {"Process": "storagenode", "successes": 4440000, "size": 746515574016}
1 Like

Thank you. I will try on 1 or 2 nodes.

one more question, if i want active migration, i need to put to file one word true instead of
{“PassiveMigrate”:false,“WriteToNew”:false,“ReadNewFirst”:false,“TTLToNew”:false}
or it shold be {true} ?

This was working for me:

cd into the hashstore directory and execute the following lines:

#Passive migration
#AP1
echo '{"PassiveMigrate":true,"WriteToNew":true,"ReadNewFirst":true,"TTLToNew":true}' > 121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6.migrate
#US1
echo '{"PassiveMigrate":true,"WriteToNew":true,"ReadNewFirst":true,"TTLToNew":true}' > 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S.migrate
#EU1
echo '{"PassiveMigrate":true,"WriteToNew":true,"ReadNewFirst":true,"TTLToNew":true}' > 12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs.migrate
#Saltlake
echo '{"PassiveMigrate":true,"WriteToNew":true,"ReadNewFirst":true,"TTLToNew":true}' > 1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE.migrate


#Active migration
#AP1
echo -n 'true' > 121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6.migrate_chore
#US1
echo -n 'true' > 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S.migrate_chore
#EU1
echo -n 'true' > 12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs.migrate_chore
#Saltlake
echo -n 'true' > 1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE.migrate_chore

then just restart the node and you should see the migration starting.

Interesting, in what place it is high CPU migration, I started active migration for 8 nodes on 1 machin, and it only 20-30% of cpu on i3- 9100

I wouldn’t rush with migration. Maybe wait 1 more month, they are still tuning it.
And the repair code for hashstore isn’t writen yet. So, I wouldn’t migrate all my nodes to risc them.

It is only true, no brackets, nothing else. Also please note the file extension is .migrate_chore instead of .migrate.

2 Likes

I activated migration, with active mode, but i do not see any big movement at all. in 12h hashstore is only 31GB

That sounds like passive migration. Make sure there is just the word true in the test file and nothing more. No linebreak. The moment there is a linebreak it will be read as false and the migration doesn’t start.

I found that in migration_chore file there was a Enter after true, but after restart, i do not see any difference also. in cpu

What does the log sais? It should say “migrated pieces xxxxxx…”.

I have Error log level, so i do not see.

migration files looks like this


Maybe I missed it but does both active and passive migration need to be enabled at same time. I was under the impression -
Passive migrate - Migrate pieces as and when they are downloaded or uploaded,
Active migrate - Migrate all pieces right now.

I didn’t try it. Whats the point of running the active migration while configuring the passive migration to send uploads over to piecestore? That sounds like a bad idea.

I asked that because I have seen users suggest to execute both passive and active migration as per your first post. I think your post should have had the OR between the 2 commands.

I wonder how hashstore can handle a single file error? With good old piecestore it is not a big deal to lose one piece file. But what happens if I lose a logfile or a hashfile? Is the entire node lost then?

The idea was that you can enable passive migration and worry about active migration later. So 2 options to pick from. If you want to enable the active migration I would recommend to enable the passive migration as well.

Wouldn’t having passive migration activated be redundant ? Active would suggest every piece, old and new is actively being migrated.

Change this to:
log.level: info

Then add this cmd when starting the node:
--log.custom-level=piecestore=ERROR

This way you will see migration, errors, filewalks, but the log will not be spammed with uploads and downloads.
Regarding the speed, here in one hour the node migrated 11 GB of data, so it isn’t blazingly fast, especially if filewalkers and deletes are going on at the same time.