I ran successfully the node setup, but can’t run it from then. I tried several variations of the following docker compose with Traefik reverse proxy to no avail.
Any one has ideas to help me out, please? (I tried without and with Traefik, with ports opened on router, FW, without those ports (when Traefik enabled through the labels, etc.)
Error: Error starting master database on storagenode: database: info opening file “config/storage/info.db” failed: database is locked
Welcome to the forum!
Why do you need to run a proxy?
suggests that you tried to use a slow filesystem or a network filesystem.
The network filesystems (NFS, SMB, etc.) are not supported and not recommended.
Thanks Alexey for your kind message and answer
I have 40+ containers runnings and all of them going through the reverse proxy Traefik to increase security (only one port opened to the Internet, certificates and SSL for all connections, etc.). So that would be the only container not using it
But I reckon bigger problem to me is what you say Re: the database error: effectively I’m using a SMB share that is mounted through fstab on the VM hosting docker. But that SMB share in reality is on the same physical machine and therefore no real performance decrease… And I won’t change all my architecture to host a Storj node - too much work
Do you foresee by any chance any other potential reason for that issue? Any possibility to ‘mount’ the database to a storage that is acceptable to Storj (i.e. a SSD for example without any network share)
3rd edit: I reckon I found the solution here (Allow SNOs to specify database storage location separate from data blob · Issue #2276 · storj/storj · GitHub). Do you confirm this work with current Storj version?
Many thanks in advance
SMB could work more or less normally only in one condition: you use Windows and Hyper-V and sharing local storages to the VM on the same host.
All other combinations will have problems with locks, not only SQLite databases, but even normal store operations like upload to your node (they may just stuck and never finish).
In case of VM you may attach a separate Virtual disk, it will work like a local storage, so no network filesystems will be used. If you forced to use a network connection, then the only working network storage protocol is iSCSI.
So answering on your question - yes, you may use an option
storage2.database-dir in the
config.yaml or as argument
--storage2.database-dir to provide a new location for SQLite databases, but you likely will have problems with storage too, if you would continue to use SMB.
The problem with network filesystems that they uses a different lock mechanisms than a local storage and exactly this reason will prevent the node from functioning properly.
See Topics tagged smb
Very clear, thanks Alexey
I will then need to fundamentally review my setup, which means I’ll postpone all that unfortunately
Nevertheless, I reckon it’s a great project (where I BTW am storing my backups): long live Storj!