Monthly Archives: May 2016

Synology NAS as a Linux Repository?

So it turns out that it’s possible to use a Synology NAS as a “native Linux repository” within Veeam. Usually, the Synology NAS would just be configured as a CIFS (SMB) target or better yet accessed via iSCSI attached to a managed server.

Now, this is good to know as CIFS repositories do not have agents that are installed on the storage to help manage data moving. Due to being unable to properly use CPU/RAM to help on-storage operations (Reverse incremental/transforms/merge operations) CIFS is generally regarded as the slower of the three options. By adding a Linux server as a backup repository, the target Data Mover Service is installed on this Linux server which should improve the performance versus a CIFS backup repository.

Now I wouldn’t recommend running this just yet in a production environment. I’ve read that users have reported success only for the next DSM update to break the repository.

If you are keen to try it out, there are a couple of requirements;
1. The Synology NAS must have Perl installed
3. The root password should not contain certain symbols (such as space)
4. The Synology needs to be x86/Intel, if its ARM then you are out of luck…
5. Should have at least 2GB of RAM, 4GB or more is recommended

For step by steps instructions check out Jim Millard’s blog post here http://blog.millard.org/2014/11/use-synology-as-veeam-b-linux-repository.html

You should see better speeds when using the Synology NAS configured as a Linux repository compared to a CIFS as backup data being transferred over the network connection will now be compressed and repository maintenance tasks are performed from inside the Synology NAS instead of being transported back to the managed server.

Failed to create database VeeamBackup. Create failed for database VeeamBackup.

Recently encountered this issue after attempting to install Veeam B&R v9 on a server that at one stage in its life had an instance of Veeam B&R installed then uninstalled.

I cannot comment on how it was uninstalled but my first installation of Veeam B&R went smoothly, I utilised the existing Veeam DB and ran a couple of backup jobs. Unfortunately, after a couple of days, several issues started to happen. Essentially the existing DB was no good and I needed to wipe the slate clean.

After several unsuccessful installations later, Veeam was now having a problem when creating the database during installation.

The exact error was ‘Failed to create database VeeamBackup.Create failed for database VeeamBackup’

What finally fixed the problem was to uninstall the Veeam B&R Server perform the following steps to clean up SQL.

Step 1. Open the directory C:\Program Files\Microsoft SQL Server\MSSQL11.VEEAMSQL2012\MSSQL\DATA

Step 2. Find the below files and delete them
-Veeam Backup
-Veeam Backup-log

Step 3. Reinstall Veeam B&R

If the above fails to work try uninstalling all SQL components and then manually delete the left-over Microsoft SQL folder in the program files. Once completed, reinstall the Veeam B&R Server.

Backing Up VMware AppStacks/App Volumes

Recently I was working on a project that involved VMware App Volumes, otherwise known as AppStacks. The basic premise behind AppStacks is that they facilitate application delivery to virtual desktops. For this particular project, it involved over 100 applications being delivered to nearly 500 desktops across two datacenters.

Now AppStacks are just virtual machine disk files (.VMDKs) that contain one or more shareable applications, the applications in question could be relatively simple applications like Adobe Reader or more complex applications that have several dependencies and licensing requirements. These VMDKs are attached to virtual machines to enable the application to be run on many VMs at once, in essence, AppStacks are shareable, one-to-many, read-only volumes. Using AppStacks enables quick, secure and inexpensive cloud computing and virtualization management, of thousands of applications and virtual machines as if they were one.

The applications themselves become portable objects that can be moved across data centers or the cloud and then shared with thousands of virtual machines quickly and easily.

Now, one of the current challenges around AppStacks is how do you protect them? The VMDK files themselves cannot be easily backed up as Veeam only backs up the virtual machine and any VMDK files attached to that virtual machine. AppStacks are not virtual machines, they are purely VMDK files are temporarily attached to many virtual machines. The VMDK files are attached to any number of VMs at any given time and they only remain attached as long as the user is logged into the machine. To complicate it further, users will usually have a different variety of VMDKs attached based on their needs and role within the business.

So how can I protect my AppStack volumes? Well, if your storage vendor can back up your VMDK files at the datastore level, you can try that, but not all storage vendors allow that kind of backup.

Alternatively, the AppVolume Manager does allow the creation of ‘Storage Groups’ to replicate AppVolumes between multiple datastores. The issue remains that this type of replication is not a good backup, for example, storage failure or if someone were to delete an AppStack then it’s going to delete the AppStack volume on both datastores. The interval for replication is apparently 1h by default.

Another option is to utilise the VMware fling that was recently made available by Chris Halstead,
Dale Carter & Stephane Asselin. The fling connects to both the App Volumes Manager and Virtual Center using API calls to create a backup virtual machine, the underlying VMDK files of selected AppStacks and Writable Volumes are attached to the backup virtual machine. Once the VMDKs are attached to this ‘backup virtual machine’, Veeam can then back up the VMDK files.

Unfortunately, this method requires manually assigning each AppStacks to a backup VM, anytime someone creates a new AppStack you will need to open up the fling and attach it to a backup VM to be protected. We were after a more automated solution and due the very nature of flings, we were hesitant to utilise this in a production environment. Our solution was to copy them using SCP, since AppStacks are read only, corruption should not be an issue so backing them up should be as simple as just copying them to another location.

Veeam did have a standalone product called FastSCP but this has since been integrated into the free version Veeam Backup. By utilising ‘File Copy’ Jobs within Veeam Backup we can copy these AppStack VMDKs using SCP. The ‘File Copy’ Job can be easily configured with a schedule and provides the bonus of traffic compression and empty block removal to reduce copy times and improve performance. Veeam also generates a one-time username and password for each file transfer session. For example, if you have to copy 3 VMDK files, the program will change credentials 3 times.

The last challenge we encountered was how to perform SCP operations from a vSAN datastore. In the end, we used the ‘Storage Group’ capability of the AppVolume Manager to replicate AppStacks to another datastore that wasn’t a vSAN then Veeam performed a ‘File Copy’ which copied the VMDKs to a safe location protected by an existing backup solution. Since our only datastore was a vSAN datastore we configured an ‘OpenFiler’ VM to provide an iSCSI LUN to run up another datastore. Technically it’s a nested datastore but we only care about enabling access to the AppStacks VMDKs so we can copy them.

Do you know of a better way to protect AppStack volumes? Let me know in the comments section.

Disclaimer: AppVolumes v2.1 was the version used, v3.0 has since been release and may solve some of these problems.