Monday, January 27, 2014

Setting up Veeam to use USB drives as an offsite backup.

I had a frugal customer have the need for me to utilize USB hard drives as an offsite backup with Veeam.  There were a few goofy challenges involved in doing this, so I thought I’d summarize it for you all.  First, I know of the existence of backup copy jobs in Veeam.  They are too complicated for my needs.  I simply want a FULL backup to USB in addition to the incrementals my regular job makes.  Why?  Well, say my incrementals are corrupt some how?  Maybe I don’t need to back up EVERY VM for offsite?  Plus I don’t need all of the retention of the incrementals on my main job.

The challenge here is, you need to keep the drive letter the same when the client rotates the drives.  I utilized a utility called USBDLM.  It’s a pretty simple utility, but I had to play with it to basically figure out that it does a LOT more than we need it to.
-          Download USBDLM from
-          Unzip them into C:\Program Files\USBDLM
-          Create a file called USBDLM.INI, in it put the following and NOTHING ELSE.  I used drive letter “A”, but you can use whatever you want.
-          Run the _install batch file to install it as a service, run the _start batch file to start it.

From here on out, whenever you connect ANY USB drive it will always be the drive letter specified in the USBDLM.INI.

Pretty straight forward, set up.  First you’re going to create a repository.  Make sure your first USB drive is connected, make a directory to store your backups (if you want, you don’t have to).
-          Open Veeam, go to Backup Infrastructure, and click on Backup Respositories.
-          Right click, Add Backup Repository.
-          I called mine “Offsite”, hit next, leave “Microsoft Windows Server”, hit next, Leave it on “This server”, hit populate.
-          Select your USB Drive.  (A:\ in my case).
-          Select the path you want to back up to.  (A:\Veeam) in my case.
-          Uncheck Enable vPower NFS, Next, Next, Finish.

Now, set up your offsite job.
-          Go to Backup & Replication, Jobs, Backup.
-          Right Click, Backup.  Name the job whatever you want, click next.  (I called mine Offsite)
-          Add the VMs you want to back up.  NOTE- you can remove certain ‘disks’ if you don’t need them to be offsite.  I have giant 4 TB drives, but if I didn’t, I might need to remove the C: drive of my file server for example…  Do this by clicking on Exclusions, Disks, Edit.  Hit Next.
-          Select your Offsite backup repository, change “Restore points to keep on disk” to 1.
-          Click Advanced, set backup mode to Incremental.  (NOT reversed incremental).  Make sure “enable synthetic fulls” is UNchecked.  Check the box under “Active Full Backup” that says “Perform Active Full Backups periodically.  Set the Weekly on selected days to the day of your offsite, Saturday in my case.  Hit OK, then Next.
-          Leave Image Processing and file system indexing unchecked.
-          Schedule your job to run on the day you want, in my case every Saturday night at 10:00 PM.
-          Hit Next, then Finish.

Last but not least, your jobs are going to fill up your hard drive and stop working.  You need to create a batch file to clean this up.  I made a folder on C:\ called DiskCleanup, then made a batch file with this in it-

forfiles -p "A:\Veeam\Offsite Job" -s -m *.* /D -45 /C "cmd /c del @path"

This file will delete backups over 45 days old, which leave me TWO fulls on each drive.  You might need to change the days to less if you only want it to keep one.  Then, make a scheduled task to run your batch file every week.