Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backup restore doesn't work with network mounted storage directory #4647

Open
cddqssc opened this issue Mar 27, 2024 · 7 comments
Open

Backup restore doesn't work with network mounted storage directory #4647

cddqssc opened this issue Mar 27, 2024 · 7 comments

Comments

@cddqssc
Copy link

cddqssc commented Mar 27, 2024

ENV: ubuntu22.04(x86) v0.22.6

Restore an automatically backed-up file:
image

Error:
image

The specific setup is that I mounted an SMB device to /pb_data/storage.(#4631)
image

@cddqssc
Copy link
Author

cddqssc commented Mar 27, 2024

image

It seems the error is unable to rename or mv the mounted network volume.

@ganigeorgiev
Copy link
Member

The error is most likely caused because on backup restore we replace the entire existing pb_data with the content from the backup, which I guess would fail in your case with the custom network mount. The backup restore functionality just wasn't designed with this use case in mind.

For now I'm not planning working on it as I already have enough on my hands but I may consider handling it after the refactoring as there are plans to optimize the backup generation to minimize the write lock time.

@ganigeorgiev ganigeorgiev changed the title [Bug] Restore backup failed Backup restore doesn't work with network mounted storage directory Mar 27, 2024
@ganigeorgiev
Copy link
Member

Side-note: if you are planning to store a lot of files keep in mind that the current PocketBase backup functionality generates a complete snapshot archive everytime of your pb_data, aka. it is not partial/incremental and could be slow if you are expecting your storage directory to grow several GBs. For those cases I recommend searching for a different and more efficient backup/restore strategy.

@cddqssc
Copy link
Author

cddqssc commented Mar 27, 2024

Thank you for the great work you've done; I fully understand your busyness.
My current solution involves first stopping the PocketBase service on the server
Then unzipping the backup file, manually replacing the relevant db files, and copying the contents of the storage folder from the backup to the storage directory on the target machine.
image
So far, no anomalies have been detected. However, I'm not sure if this approach is 'compliant,' or if there are any oversights?

@cddqssc
Copy link
Author

cddqssc commented Mar 27, 2024

Side-note: if you are planning to store a lot of files keep in mind that the current PocketBase backup functionality generates a complete snapshot archive everytime of your pb_data, aka. it is not partial/incremental and could be slow if you are expecting your storage directory to grow several GBs. For those cases I recommend searching for a different and more efficient backup/restore strategy.

I plan to use the backup method mentioned in #4254.

@ganigeorgiev
Copy link
Member

My current solution involves first stopping the PocketBase service on the server
Then unzipping the backup file, manually replacing the relevant db files, and copying the contents of the storage folder from the backup to the storage directory on the target machine.

Yes, this should work.

@gedw99
Copy link

gedw99 commented May 5, 2024

I do real time backups locally and to as many places as I want using:

https://github.com/maxpert/marmot-pocketbase-flyio

I need to add NATS KV, so that files are also real time copied too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Development

No branches or pull requests

3 participants