Veeam, StarWind VTL, BackBlaze B2 and a GFS Setup

We’re in the process of configuring our backups for no more off-site physical rotations.

There are several ways Veeam v10 allows for direct to block storage but limited to Azure and AWS out of the box.

We set up a BackBlaze B2 account, set up a bucket, and then worked on getting things configured in as demonstrated in the above blog post.

We Still have a ways to go to get comfortable with working with “Tapes” in Veeam as we’ve not done tape in a _very_ long time. 😉

However, one thing that is important to us, and to our clients, is Grandfather, Father, and Son (GFS) backups.

Veeam has GFS built-in as a Tape Job: GFS Media Pools

However, we are looking to take a slightly different tact versus using the built-in feature here.

The primary reason for that is to keep things simple for anyone to come along and figure out how things were set up if the primary site is lost to a disaster.

A second reason is that we can gain some control over our GFS configuration and storage requirements that is otherwise not built-in to Veeam v10 at this time. A key is that we replicate to B2 via VTL.

While good notes that are up to date are also a critical part of this process, a quick visual set of queues provides an immediate understanding of what data is where and how to get to it.

BackBlaze B2 Buckets

Our first step is to set up our new B2 Buckets.

  • Bucket 1: Current Live Backups
  • Bucket 2: Quarterly Bucket: Keep Files 90 Days
  • Bucket 3: Bi-Annual Bucket: Keep Files 180 Days
  • Bucket 4: Annual Bucket: Keep Files 365 Days
  • Bucket 5: Permanent Bucket: No Delete

Obviously, something to keep in mind is that each bucket will contain a series of FULL backups. That means we need to be mindful of the overall cost of our Business Continuity and Disaster Recovery (BCDR) solution.

After we have created the Buckets and recorded their IDs we move on to setting up our Virtual Tape Library.

StarWind VTL Setup

Since we already have our target device set up for our day to day backup needs with those backups being sent up to B2 via our VTL we will now set up a new device for each of our new buckets.

  • Virtual Tape Library
    • Name: VTL-Quarterly, VTL-BiAnnual, VTL-Annual, VTL-Permanent
      • Make sure to uncheck “Fill Storage Slots with Empty Tapes after Create”
    • A new VTL# will show up for each of the above:
      • image
    • Create Tape
      • Set the drive location for the tapes
      • Set Number of Tapes and GB Size
        • We set a smaller GB size for each tape to break apart the upload process
    • Set up Cloud Replication
      • Use the Master KeyID and applicationKey
      • Bucket: Quarterly-Bucket
      • Tape File Retention Settings
        • Replicate Immediately
        • Tick: Create new empty tapes..
        • Keep local copy 7 Days
        • Keep Copy in Cloud
          • Quarterly: 115 Days
          • Bi-Annual: 195 Days
          • Annual: 380 Days
          • Permanent: Leave

We are leaving a bit of overlap out of the gate. Once we get into working with the process over the next year or so we’ll refine these settings according to our needs.

Veeam Tape Library Setup

Once we’ve finished setting up our VTL and tapes we will see:


Veeam Media Pools: Unrecognized (30)

Note the new HP MSL G3 Series 9.50 tape library that also showed up.

  1. Right click on the Media Pools folder and Add media pool
    • image
  2. Give it a name
    • image
  3. Verify that we have the right HP
    • image
    • In our case, when we set up this VTL we created 30 tapes to start with
    • Leave the Add tapes from Free media pool automatically…
  4. Click Next
  5. On the Retention tab tick the Move all offline tapes from this media pool…
    • Since we did not set up a vault ahead of time name it
    • Tick Protect all tapes moved to this media vault automatically
    • image
    • image
  6.  Options: and set an encryption key for the backup
    • image
  7. Click on the Unrecognized (30) media folder
    1. Highlight all tapes
    2. Right click and Move to media pool
    3. Select the VTL Quarterly Pool (or subsequent pool)
    4. Click Yes
      • image
    5. Click Close
      • image

Repeat the above process for each backup type needed.

Veeam Backup

We now have our libraries in place. So, the next step is to create a FULL backup job on the required cycle date.

The schedule would look something like:

  1. Today: Annual
  2. 90 Days: Quarterly
  3. 180 Days: Bi-Annual
  4. 270 Days: Quarterly
  5. 365 Days: Annual

We end up with the needed FULL backup files for our GFS schedule. As a result, keep in mind that the local repository, whether shared with the daily backups or dedicated, will need enough free storage to host the backups.

From there, we need to set up our Tape Job to push those backups to our VTL.

  1. On the Home tab click on Tape Job and select Backups…
  2. Give it a name: Annual B2 Backup
  3. Select the Backup Job created above for each cycle
  4. Media Pool: VTL Annual Pool
  5. Click Next until …
  6. On Options
    1. Tick: Eject Media upon job completion
    2. Advanced: Set e-mail address for job report
  7. Schedule: Run the job automatically After this job: VTL Annual

Repeat the above process for the Bi-Annual and Quarterly jobs.


Once we have completed the above process and the backups have been working for a year we would have our GFS backups.

Since BackBlaze has been around for quite a while, is open with their business model and product designs, and bucked the hard disk industry to publish their quarterly drive reliability stats, we believe that they provide the best cloud storage out there at this time.

We are evaluating the other options that we could use with Veeam’s built-in setup, but for now we’re really liking what we see in the Veeam –> StarWind VTL –> BackBlaze B2 setup.

Using our method we end up with at most three FULL backup’s worth of storage in B2. We believe this to be the best balance between protection and overall storage costs.

When the time comes, we can run a copy job on any one of those backup buckets to our Permanent Bucket keeping in mind that we would need to parse the data in there at some point.

And remember: The only known good backup is one fully restored to bare metal or bare hypervisor!

Stay safe and healthy everyone! 🙂

Philip Elder
Microsoft High Availability MVP
MPECS Inc. !
Our Web Site
PowerShell and CMD Guides

Leave a comment

Your email address will not be published.