Export existing LXC storj container, then import to Proxmox

hi Everyone,
currently I have a HP DL380p G8 with ubuntu 18 server installed. Storj is running in an LXC container.

My plan is to reinstall the whole server with Proxmox and use its LXC solution.
does anyone have experience how this move could be done?
exporting the existig LXC and import in proxmox? what about downtime, probably I would be banned from storj because of the approx 1 week being offline.
thank you for your feedback
Gergo

You can have problems to run storagenode on Proxmox LXC: https://forum.storj.io/tag/proxmox-ct
Likely you will be forced to run it in the VM

Thank you for the answer Alexey!
running it in a VM is absolutely OK with me.
storj is running in LXC in docker (I know…) the data itself is in a different filesystem (data lvm)
my plan is the following:
1, install proxmox on the system lvm, leave data lvm as is
2, create a new linux vm for storj, install docker
3, ?

my question is, how to migrate from old LXC storj to new VM storj?
what do I need to backup/copy/…?
is it possible? I dont want to lose the progress I made so far.
thank you in advance,
Gergo

The only identity and data.
The config you can regenerate in any time. Just specify a right paths to the identity and data and you should be fine.
Of course, you will need to specify a correct external address in the ADDRESS option and update port forwarding rule to the IP of the VM with storagenode.
And create an inbound firewall rule in the VM, if you would have a firewall there.

1 Like

thanks!
just for clarification
0, docker stop -t 300 storagenode
1, I copy these files to a safe place:

root@storj:/home/storj/.local/share/storj/identity/storagenode# ls -lai
total 24
43232 drwxr–r-- 1 storj storj 160 Mar 31 13:33 .
43231 drwxr–r-- 1 storj storj 50 Mar 31 13:33 …
43243 -rw-r–r-- 1 storj storj 514 Mar 31 13:33 ca.15881.cert
43234 -rw-r–r-- 1 storj storj 1048 Mar 31 13:33 ca.cert
43236 -rw------- 1 storj storj 241 Mar 31 13:30 ca.key
43246 -rw-r–r-- 1 storj storj 1052 Mar 31 13:33 identity.15881.cert
43238 -rw-r–r-- 1 storj storj 1586 Mar 31 13:33 identity.cert
43240 -rw------- 1 storj storj 241 Mar 31 13:30 identity.key

2, create vm, install docker, and run

docker run -d --restart unless-stopped --stop-timeout 300 -p 28967:28967 -p 14002:14002 -e WALLET=“0x***” -e EMAIL=“mail.com" -e ADDRESS="**.duckdns.org:28967” -e STORAGE=“3TB” --mount type=bind,source=“/home/storj/.local/share/storj/identity/storagenode”,destination=/app/identity --mount type=bind,source=“/mnt/storj/”,destination=/app/config --name storagenode storjlabs/storagenode:beta`

pointing source= to the existing data

correct? did I miss anything?
thanks
Gergo

Yes, all looks correct. Then open a web dashboard, if you see that your node tried to start from scratch - stop it immediately and fix the issue with the path, then move a new data from a wrong path to the correct one and run the node again, double checking the path on that time :slight_smile:

By the way, if the /mnt/storj is your mount point, I would like to suggest to create a folder on your disk and move all data to there. So the path would be

/mnt/storj
            /storagenode
                        /storage
                                /blob
                                /blobs
                                /garbage
                                /temp
                                /trash
                                /bandwidth.db
                                /heldamount.db
                                /info.db
                                /notifications.db
                                /orders.db
                                /pieceinfo.db
                                /piece_expiration.db
                                /piece_spaced_used.db
                                /pricing.db
                                /reputation.db
                                /satellites.db
                                /storage_usage.db
                                /used_serial.db

And specify the /mnt/storj/storagenode as a source=. This will protect your node from starting with a not mounted disk - it will not found the storagenode folder and will fail.

2 Likes

last question, how much time do I have to do the migration? I do not want to be banned because i’m offline for few days.

The disqualification for downtime is currently disabled:

But please, do it as fast as possible. It could be enabled during the time, if you would wait longer.

1 Like