Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Feature Requests
  3. Backup Improvements: Restic Backend

Backup Improvements: Restic Backend

Scheduled Pinned Locked Moved Feature Requests
backupsfeature-requestimprovementrestic
44 Posts 10 Posters 6.5k Views 10 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • girishG girish

    @imc67 we have not started working on a restic backend, if that's what you are asking.

    I think most of the issues are just because of using a large variety of s3 providers. There's way too many of them. Made worse by people choosing the cheapest/low end providers who don't provide any support either. That and SSHFS/CIFS flakiness. I doubt moving to restic solves any of this because they are not related to backup code itself but infrastructure related. Just my thoughts though.

    Now instead of dealing with our backup issues, we would be dealing with issue of another backend like say 1, 2 and 3 - these are just restic issues of last week. It would be worse because we have not much idea on how to deal with restic bugs.

    robiR Offline
    robiR Offline
    robi
    wrote on last edited by
    #29

    @girish It could also be the opposite experience, since restic would be handling all the issues, meaning less work for you with custom one-off fixes as they crop up.

    Conscious tech

    girishG 1 Reply Last reply
    2
    • imc67I Offline
      imc67I Offline
      imc67
      translator
      wrote on last edited by
      #30

      FWIW I have a RaspberryPi for 3 years with a Restic daily backup to a Cloudron Minio S3 and 2 weeks ago I needed a restore for the first time. It took me the most time to rediscover how I configured it 3 years ago and how to restore but it worked flawless! I know it’s just n=1 but it’s worth to have a look at it.

      1 Reply Last reply
      2
      • robiR robi

        @girish It could also be the opposite experience, since restic would be handling all the issues, meaning less work for you with custom one-off fixes as they crop up.

        girishG Offline
        girishG Offline
        girish
        Staff
        wrote on last edited by
        #31

        @robi yes definitely.

        I do know that people want urgent fixes when backups and restores are not working, I just don't know how we can take up this responsibility. If my production site is down and it doesn't restore, what now? This will cost us real money because people will ask for a refund.

        fbartelsF robiR 2 Replies Last reply
        1
        • girishG girish

          @robi yes definitely.

          I do know that people want urgent fixes when backups and restores are not working, I just don't know how we can take up this responsibility. If my production site is down and it doesn't restore, what now? This will cost us real money because people will ask for a refund.

          fbartelsF Offline
          fbartelsF Offline
          fbartels
          App Dev
          wrote on last edited by fbartels
          #32

          @girish I think something that could be interesting, is the ability to use the cloudron filesystem dump and then have a "hook" that could post process the data. Possibly with capturing whatever that hook produces in a cloudron notification (to be natively informed if the post processing fails).

          I have set up a few cloudrons in the last week with a combination of local disk rsync in cloudron (with local retention and hardlinks) and then using autorestic and Cron to push the cloudron backup via sftp to a hetzner storageboxes (optionally as a subuser). Have even performed a restore test, for which I first restored the previous state of /var/backups before running cloudrons restore.

          Autorestic is taking care of retention and streamlining the sftp backend use. I even use it to make regular snapshots of the appsdata and boxdata directories in the yellowtent home.

          The benefit of the hook would be the extended piece of mind that as soon als cloudron has finished the backup, it is pushed to its remote location.

          @girish said in Backup Improvements: Restic Backend:

          This will cost us real money because people will ask for a refund

          Yes, restore of backups is crucial. Luckily so far cloudron has not let me down and overall it has been a very stable experience.

          necrevistonnezrN 1 Reply Last reply
          4
          • fbartelsF fbartels

            @girish I think something that could be interesting, is the ability to use the cloudron filesystem dump and then have a "hook" that could post process the data. Possibly with capturing whatever that hook produces in a cloudron notification (to be natively informed if the post processing fails).

            I have set up a few cloudrons in the last week with a combination of local disk rsync in cloudron (with local retention and hardlinks) and then using autorestic and Cron to push the cloudron backup via sftp to a hetzner storageboxes (optionally as a subuser). Have even performed a restore test, for which I first restored the previous state of /var/backups before running cloudrons restore.

            Autorestic is taking care of retention and streamlining the sftp backend use. I even use it to make regular snapshots of the appsdata and boxdata directories in the yellowtent home.

            The benefit of the hook would be the extended piece of mind that as soon als cloudron has finished the backup, it is pushed to its remote location.

            @girish said in Backup Improvements: Restic Backend:

            This will cost us real money because people will ask for a refund

            Yes, restore of backups is crucial. Luckily so far cloudron has not let me down and overall it has been a very stable experience.

            necrevistonnezrN Offline
            necrevistonnezrN Offline
            necrevistonnezr
            wrote on last edited by
            #33

            @fbartels said in Backup Improvements: Restic Backend:

            I have set up a few cloudrons in the last week with a combination of local disk rsync in cloudron (with local retention and hardlinks) and then using autorestic and Cron to push the cloudron backup via sftp to a hetzner storageboxes (optionally as a subuser). Have even performed a restore test, for which I first restored the previous state of /var/backups before running cloudrons restore.

            @fbartels Exactly my setup for a couple of years: https://forum.cloudron.io/topic/6928/tutorial-remote-backup-of-local-cloudron-backup-snapshots-with-restic-rclone/
            What‘s nice is that you can e.g. check and restore files on a different machine running restic & rclone.

            1 Reply Last reply
            5
            • girishG girish

              @robi yes definitely.

              I do know that people want urgent fixes when backups and restores are not working, I just don't know how we can take up this responsibility. If my production site is down and it doesn't restore, what now? This will cost us real money because people will ask for a refund.

              robiR Offline
              robiR Offline
              robi
              wrote on last edited by robi
              #34

              @girish said in Backup Improvements: Restic Backend:

              I do know that people want urgent fixes when backups and restores are not working,

              Yes, however be aware of fear based thinking here. It's not the end of the world, previous backups exist and the situation is temporary.

              I just don't know how we can take up this responsibility.

              It isn't your responsibility, even though you empathize and do a lot for us to make it easier. External backups are an external responsibility and best effort support here, which you do well. So, no fear.

              If my production site is down and it doesn't restore, what now? This will cost us real money because people will ask for a refund.

              It's like any other issue, you and we will find a way. This is the way.
              Again, avoid decisions out of fear. And no, it will not cost you money (you're not hurting there), as it's not a Cloudron issue, but an external one.

              You can relax and trust your loyal community to show you the way forward, as @fbartels and @necrevistonnezr already have.

              Conscious tech

              1 Reply Last reply
              1
              • girishG Offline
                girishG Offline
                girish
                Staff
                wrote on last edited by
                #35

                @necrevistonnezr that's an excellent post which I forgot about! I just proceeded to set up a backup of my laptop with restic+minio. Let's see how it goes!

                1 Reply Last reply
                2
                • girishG Offline
                  girishG Offline
                  girish
                  Staff
                  wrote on last edited by
                  #36

                  After a year, prune fails randomly 😞

                  The index references 1 needed pack files which are missing from the repository:
                    64c2b4cd29f07b6d64f4d0ede2509fd680597b16db65b77e14e8575e1265f1bf
                  Fatal: packs from index missing in repo
                  
                  1 Reply Last reply
                  0
                  • necrevistonnezrN Offline
                    necrevistonnezrN Offline
                    necrevistonnezr
                    wrote on last edited by
                    #37

                    https://forum.restic.net/t/fatal-packs-from-index-missing-in-repo/4869 --> https://github.com/restic/restic/issues/828#issuecomment-706186047 --> https://restic.readthedocs.io/en/stable/077_troubleshooting.html

                    Judging from the background story in Very slow restic prune , my guess would be that the S3 bucket listing is incomplete from time to time. So, a quite likely explanation is that the list of pack files which prune gets in incomplete and hence the missing file errors. As far as I remember, minio has options to ensure a consistent file listing or maybe you’re encountering some timeout.

                    1 Reply Last reply
                    1
                    • girishG Offline
                      girishG Offline
                      girish
                      Staff
                      wrote on last edited by
                      #38

                      @necrevistonnezr thanks. so far, I am following the troubleshooting guide and running check --read-data first. This runs for around 3 hours now, let's hope it says something at the end of it. We are using Vultr Storage.

                      1 Reply Last reply
                      0
                      • necrevistonnezrN Offline
                        necrevistonnezrN Offline
                        necrevistonnezr
                        wrote on last edited by necrevistonnezr
                        #39

                        For what it's worth, I had zero problems in the last 7 years I've been using restic on my server with around 380 GB of data to be backed up to Onedrive (via rclone)...
                        I do regular tests with restic and spot checks via restic-browser.

                        1 Reply Last reply
                        1
                        • M Offline
                          M Offline
                          malvim
                          wrote on last edited by
                          #40

                          @necrevistonnezr how have you been testing backups? I have a raspberry pi at home, set up with restic/rclone backups as well. Once in a while I mount one of the latest snapshots and check a bit randomly if things "look ok". I'd like to have a better system to check if backups are okay, so any pointers would be appreciated.

                          On a more cloudron-related note, @girish, is there a way people test restoring backups on their cloudrons? How would one go about tesing if restore will run okay when needed?

                          girishG necrevistonnezrN 2 Replies Last reply
                          1
                          • girishG Offline
                            girishG Offline
                            girish
                            Staff
                            wrote on last edited by
                            #41

                            OK, after 4 hours...

                            checkPack: Load: The specified key does not exist.
                            Load(<data/4a8f87b965>, 0, 0) returned error, retrying after 507.606314ms: The specified key does not exist.
                            Load(<data/4a8f87b965>, 0, 0) returned error, retrying after 985.229971ms: The specified key does not exist.
                            Load(<data/4a8f87b965>, 0, 0) returned error, retrying after 803.546856ms: The specified key does not exist.
                            Load(<data/4a8f87b965>, 0, 0) returned error, retrying after 1.486109007s: The specified key does not exist.
                            Load(<data/4a8f87b965>, 0, 0) returned error, retrying after 2.070709754s: The specified key does not exist.
                            Load(<data/4a8f87b965>, 0, 0) returned error, retrying after 3.67875363s: The specified key does not exist.
                            Load(<data/4a8f87b965>, 0, 0) returned error, retrying after 4.459624189s: The specified key does not exist.
                            Load(<data/4a8f87b965>, 0, 0) returned error, retrying after 6.775444383s: The specified key does not exist.
                            Load(<data/4a8f87b965>, 0, 0) returned error, retrying after 15.10932531s: The specified key does not exist.
                            Load(<data/4a8f87b965>, 0, 0) returned error, retrying after 13.811796615s: The specified key does not exist.
                            checkPack: Load: The specified key does not exist.
                            [2:36:37] 100.00%  57800 / 57800 packs
                            Fatal: repository contains errors
                            
                            1 Reply Last reply
                            0
                            • M malvim

                              @necrevistonnezr how have you been testing backups? I have a raspberry pi at home, set up with restic/rclone backups as well. Once in a while I mount one of the latest snapshots and check a bit randomly if things "look ok". I'd like to have a better system to check if backups are okay, so any pointers would be appreciated.

                              On a more cloudron-related note, @girish, is there a way people test restoring backups on their cloudrons? How would one go about tesing if restore will run okay when needed?

                              girishG Offline
                              girishG Offline
                              girish
                              Staff
                              wrote on last edited by
                              #42

                              @malvim said in Backup Improvements: Restic Backend:

                              On a more cloudron-related note, @girish, is there a way people test restoring backups on their cloudrons? How would one go about tesing if restore will run okay when needed?

                              Yes, use dry-run - https://docs.cloudron.io/backups/#dry-run

                              For Cloudron 9, we are adding backup integrity checks feature . This will prevent against bitrot and also some sort of self validation that it is backing up all files.

                              1 Reply Last reply
                              2
                              • M Offline
                                M Offline
                                malvim
                                wrote on last edited by
                                #43

                                Oh, nice. I'll try dry-run, then, thanks.

                                Integrity checks sound like a great feature, looking forward to it.

                                Thanks!

                                1 Reply Last reply
                                0
                                • M malvim

                                  @necrevistonnezr how have you been testing backups? I have a raspberry pi at home, set up with restic/rclone backups as well. Once in a while I mount one of the latest snapshots and check a bit randomly if things "look ok". I'd like to have a better system to check if backups are okay, so any pointers would be appreciated.

                                  On a more cloudron-related note, @girish, is there a way people test restoring backups on their cloudrons? How would one go about tesing if restore will run okay when needed?

                                  necrevistonnezrN Offline
                                  necrevistonnezrN Offline
                                  necrevistonnezr
                                  wrote on last edited by
                                  #44

                                  @malvim said in Backup Improvements: Restic Backend:

                                  @necrevistonnezr how have you been testing backups? I have a raspberry pi at home, set up with restic/rclone backups as well. Once in a while I mount one of the latest snapshots and check a bit randomly if things "look ok". I'd like to have a better system to check if backups are okay, so any pointers would be appreciated.

                                  https://restic.readthedocs.io/en/latest/045_working_with_repos.html#checking-integrity-and-consistency
                                  and, as I said, spot checks for files with restic-browser.

                                  1 Reply Last reply
                                  2
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Bookmarks
                                  • Search