XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Error mirroring full backups to backblaze b2

    Scheduled Pinned Locked Moved Unsolved Backup
    29 Posts 4 Posters 3.5k Views 4 Watching
    Loading More Posts
    • 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.
    • P Offline
      pedro_udifar @poddingue
      last edited by

      @poddingue Hi,

      The backup mirror job is still running, and I'm waiting for the larger VMs to complete, but so far it looks good - one backup, larger than 50GB was successfully mirrored without specifying minPartSize.

      a5158a60-6607-4679-ac2d-ee9f84c02e4e-image.jpeg

      1 Reply Last reply Reply Quote 0
      • P Offline
        pedro_udifar @poddingue
        last edited by

        @poddingue Hi!

        Unfortunately, another error came up on the larger vms. The job also seems to be painfully slow. Slower than usual I mean.
        Also, it seems that job changes are not being commited. I've changed the job so it wouldn't retry in case of failure and the log shows it still trying 3 times (that was the old setting, and probably explains the job taking longer than usual).

        a917295e-ea92-4173-bc5a-7c9652a8d2ad-image.jpeg

        {
          "id": "0mrjahr8e-ssawlbveq5",
          "start": 1783951215134,
          "status": "failure",
          "tasks": [
            {
              "id": "0mrjahs3e-dbfaqajeze",
              "start": 1783951216250,
              "status": "failure",
              "tasks": [
                {
                  "id": "0mrjahs8s-2yb6i3fny6f",
                  "start": 1783951216444,
                  "status": "failure",
                  "end": 1783959266484,
                  "result": {
                    "$fault": "server",
                    "$metadata": {
                      "httpStatusCode": 500,
                      "requestId": "c0a9f30190109f99",
                      "extendedRequestId": "aMJgyljkPZEdiEDW0Nk9lTmbINpI1FGIP",
                      "attempts": 3,
                      "totalRetryDelay": 197
                    },
                    "name": "InternalError",
                    "Code": "InternalError",
                    "message": "internal incident",
                    "stack": "InternalError: internal incident\n    at ProtocolLib.getErrorSchemaOrThrowBaseException (/opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:70:67)\n    at S3RestXmlProtocol.handleError (/opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1856:65)\n    at S3RestXmlProtocol.deserializeResponse (/opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js:341:24)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js:25:24\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/submodules/s3/index.js:367:20\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js:172:50\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/checksums/dist-cjs/index.js:337:24\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/submodules/s3/index.js:64:28\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/submodules/s3/index.js:91:20"
                  },
                  "message": "transfer",
                  "data": {
                    "progress": 40
                  }
                }
              ],
              "end": 1783959266485,
              "result": {
                "$fault": "server",
                "$metadata": {
                  "httpStatusCode": 500,
                  "requestId": "c0a9f30190109f99",
                  "extendedRequestId": "aMJgyljkPZEdiEDW0Nk9lTmbINpI1FGIP",
                  "attempts": 3,
                  "totalRetryDelay": 197
                },
                "name": "InternalError",
                "Code": "InternalError",
                "message": "internal incident",
                "stack": "InternalError: internal incident\n    at ProtocolLib.getErrorSchemaOrThrowBaseException (/opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:70:67)\n    at S3RestXmlProtocol.handleError (/opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1856:65)\n    at S3RestXmlProtocol.deserializeResponse (/opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js:341:24)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js:25:24\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/submodules/s3/index.js:367:20\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js:172:50\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/checksums/dist-cjs/index.js:337:24\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/submodules/s3/index.js:64:28\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/submodules/s3/index.js:91:20"
              },
              "message": "export",
              "data": {
                "id": "14b59f44-4517-411e-9e39-4eb7136928d0",
                "type": "remote",
                "isFull": true
              }
            },
            {
              "id": "0mrjfabp3-c8mf2pnq8yf",
              "start": 1783959266487,
              "status": "success",
              "warnings": [
                {
                  "data": {
                    "path": "xo-vm-backups/60b4d2a7-3f91-f0f9-b0a0-f834df3ff9ee/cache.json.gz",
                    "actual": 0,
                    "expected": 1
                  },
                  "message": "unexpected number of entries in backup cache"
                }
              ],
              "end": 1783959266989,
              "result": {
                "merge": false,
                "size": 0
              },
              "message": "clean-vm"
            }
          ],
          "end": 1783959266989,
          "result": {
            "$fault": "server",
            "$metadata": {
              "httpStatusCode": 500,
              "requestId": "c0a9f30190109f99",
              "extendedRequestId": "aMJgyljkPZEdiEDW0Nk9lTmbINpI1FGIP",
              "attempts": 3,
              "totalRetryDelay": 197
            },
            "name": "InternalError",
            "Code": "InternalError",
            "message": "internal incident",
            "stack": "InternalError: internal incident\n    at ProtocolLib.getErrorSchemaOrThrowBaseException (/opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:70:67)\n    at S3RestXmlProtocol.handleError (/opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1856:65)\n    at S3RestXmlProtocol.deserializeResponse (/opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js:341:24)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js:25:24\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/submodules/s3/index.js:367:20\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js:172:50\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/checksums/dist-cjs/index.js:337:24\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/submodules/s3/index.js:64:28\n    at async /opt/xo/xo-builds/xen-orchestra-202607120728/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/submodules/s3/index.js:91:20"
          },
          "message": "backup VM",
          "data": {
            "id": "60b4d2a7-3f91-f0f9-b0a0-f834df3ff9ee",
            "type": "VM",
            "progress": 0
          }
        },
        
        P 1 Reply Last reply Reply Quote 0
        • P Offline
          pierrebrunet Vates 🪐 XO Team @pedro_udifar
          last edited by

          @pedro_udifar Hi,
          This is a b2 side error. It could be just a transient error, did you try to restart the backup?

          P 3 Replies Last reply Reply Quote 0
          • P Offline
            pedro_udifar @pierrebrunet
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • P Offline
              pedro_udifar @pierrebrunet
              last edited by

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • P Offline
                pedro_udifar @pierrebrunet
                last edited by

                @pierrebrunet Hello!

                I've checked B2 logs and found some errors like you had foreseen. I had a look and this kind of 500 INTERNAL ERROR several times on other jobs that seem ok. How many retries does XO attempt to send the part when this happens?

                I'll do another run that includes only a few large VMs. BTW, is there a way to interrupt the job withou restarting XO ?

                REST.PUT.PART Weekly/xo-vm-backups/60b4d2a7-3f91-f0f9-b0a0-f834df3ff9ee/20260705T070618Z.xva "PUT /zzzzzkly/xo-vm-backups/60b4d2a7-3f91-f0f9-b0a0-f834df3ff9ee/20260705T070618Z.xva?partNumber=3954&uploadId=4_ze092693d1b65962e9fe6051b_f25969add7e42e384_d20260713_m140016_c003_v0312040_t0013_u01783951216751&x-id=UploadPart HTTP/1.1" 500 INTERNAL_ERROR 145 - 3762 3762 "-" "aws-sdk-js/3.1065.0 ua/2.1 os/linux#5.15.0-185-generic lang/js md/nodejs#24.18.0 api/s3#3.1065.0 m/N,a,c,E,e xen-orchestra-fs-4.9.2" - - - TLS_AES_256_GCM_SHA384 AuthHeader s3.eu-central-003.backblazeb2.com TLSv1.3 - -

                P 1 Reply Last reply Reply Quote 0
                • P Offline
                  pedro_udifar @pedro_udifar
                  last edited by

                  @pierrebrunet

                  Large VMs still fail with the same error (internal incident), the process is not reliable - don't know if it's a B2 problem or XO.
                  When I have some time, I'll do another run setting minPartSize=100000000 and see if it helps.

                  P 1 Reply Last reply Reply Quote 0
                  • P Offline
                    pierrebrunet Vates 🪐 XO Team @pedro_udifar
                    last edited by

                    @pedro_udifar Hi,
                    You can try again with minPartSize=100000000 indeed. But I would advise you to contact B2 directly. They should have a clearer error to show instead of a 500.
                    Thanks for your patience and your help

                    P 1 Reply Last reply Reply Quote 0
                    • P Offline
                      pedro_udifar @pierrebrunet
                      last edited by

                      @pierrebrunet Hi!

                      I'm on vacation now, so sorry for the delay. In the meantime I've been analyzing these issues and it seems these are somewhat expected and still happen with minpartsize set to 100M.

                      My next step is to increase the AWS_MAX_ATTEMPTS from the default 3 attempts to 10. This might reduce the number of failed VMs and avoid the need to retry the full VM backup.

                      From AI research, it seems rclone uses 10 attempts instead of the AWS SDK default.

                      Here are some stats of my weekly full backup to B2:
                      "00 Weekly Full Backblaze" ran xxxx → xxxxx — 34.1 hours total, moving ~2.86 TiB across 89 VMs. Final status: failure (more on that below, because it's misleading) -> this is related to XO reporting the backup as a failure even though the follow up retry succeded which is a known issue.

                      Every one of the 7 first-attempt errors shows attempts: 3 in the SDK metadata — the default budget was exhausted in all cases -> 7 of 89 VMs failed on the initial attempt.

                      Error mix: 5× Backblaze InternalError 500, 1× ECONNRESET, 1× EPIPE

                      The 7 failed first attempts burned ~7.1 hours of cumulative transfer time

                      Even though XO does not expose AWS_MAX_ATTEMPTS parameter I might be able to set it using an environment variable. I'll give a try when I'm back at the office.

                      Tks,
                      Pedro

                      1 Reply Last reply Reply Quote 0
                      • poddingueP poddingue marked this topic as a question
                      • P Offline
                        pedro_udifar
                        last edited by

                        Hello,

                        The initial issue, non encrypred to encrypted mirroring is now working.

                        The second issue was about general errors when sending backups to S3. I've tried and was able to increase AWS_MAX_ATTEMPTS to 10 but I'm still having errors and VMs that fail the first backup and have to be retried. So these do not seem to be transient errors that can be fixed by increasing AWS_MAX_ATTEMPTS.

                        Thank you,
                        Pedro

                        1 Reply Last reply Reply Quote 0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        • First post
                          Last post