DPM 2012 R2 and the downsides

I’ve been using DPM 2012 R2 for a few months now, having replaced Symantec Backup Exec 2010 due to growing data sizes and increased struggles with tape rotations.

However I’ve found a number of deficiencies with DPM that make me wish we were able to implement something like Veeam instead.

Here’s a short summary of what I need DPM to do better:

  • No deduplication support!
  • Disk volume based system leaves ‘islands of storage’ unusable and inefficient
    • Prevents disk from being shared for other backup purposes such as Hyper-V replication
  • Lack of long-term disk backups
    • Our TechNet reading has shown that since DPM uses VSS it can only take a maximum of 64 snapshots for a protected resource. We’re currently unsure if this applies to VMs as a protected resource
  • Poor visibility into DPM running operations
    • No clarity on what the data transfer represents
    • No information on compression ratios
    • No transfer speed indicators
  • No easy way to see status of data across all protected sources
    • No dashboards or easy summaries.
    • Many clicks to drill down into each protection group
  • Poor configurability on logging
    • Email notifications are very chatty, or non-existent without much middle ground.
    • No escalation methods or schedules
  • No automated test restore capabilities or scheduling
  • Limited Reporting
    • Only 6 reports out of the box, and must use SQL Reporting Services to build anything new (which I am adept with, but that’s besides the point)
  • Tape Library support seems cumbersome, compression isn’t work despite it reporting as running
  • No built in VM replication technology for Disaster Recovery scenarios
  • Very low community knowledge or support
    • For example, trying to find information on tape compression is impossible; no one online is talking about DPM and how it’s used.
  • No central console for viewing multiple backup source/destination pairs

Ajaxplorer

### Note: I originally wrote this in 2012, but never published it. I haven’t looked at Ajaxplorer since then for many un-related reasons, but thought I would post it as-is in case it helps someone ###

 

I recently decided to test Ajaxplorer as an FTP replacement. Right now FTP is used for simple file transfers and data uploads, but its not secure, and its not the most user friendly way of transferring files.

Ajaxplorer is attractive because it’s a PHP front end for file transfers with a Windows Explorer-like interface. It can be secured with SSL and offers many other nice features.

I wanted to set up an instance of Ajaxplorer on a spare VM which didn’t have very much storage space. With the help of a forum topic on the Ajaxplorer forums, I managed to set this up with the actual data repositories on a different UNC path.

 

Copy to c on Web server
Create sym link to storage server with Mklink /d
Copy data folder to storage instead of Web
Add URL rewrite module to iis
Add info to Web.config for redirect to https
Add certificate to iis
Modify php.ini with file size and mail smtp options
Modify the boot strap plugin file for ldap authentication plus serial
Add repository for crew ftp
Email: – have master user QCdata, click on individual folder, share it out with the named user, choose read and write, set email address.

Linux Hyper-V Guest VHDX resize

I inherited a Linux virtual machine that had been converted from a VMWare ESXi 5.0 install to Hyper-V. The VHDX file I ended up with was an 800GB dynamic VHDX with only about 250GB of data in it.

Because of this I embarked on a task of shrinking the VHDX file to be much more reasonable to the VM file contents, not knowing what I was getting myself into working with a Linux file system. I’m sure I’m going to butcher the terminology here based on my ignorance and lack of knowledge.

Here’s the steps I performed to achieve my goal. I’m writing this quite some time after I actual did it, so I’ll try to fill in the gaps of my documentation as much as possible.

At this point I couldn’t shrink the actual VHDX because some of my Logical Groups were near the end of the disk extents.

  • Still within the liveCD environment, use following command list extent locations on the disk
pvs -v --segments
  • This gave me output like the following (numbers roughly simulated):
    PV         VG     Fmt  Attr PSize   PFree   Start Size
    /dev/sdb1  home   lvm2 a-   50.50g  123     0     4234
    /dev/sdb1  gd01   lvm2 a-   50.50g  123     14234 4234
    /dev/sdd1  office lvm2 a-   500.00g 123     20000 12450
  • I used this to calculate the actual start and end locations of each segment, to be used in the next commands.
  • From here I took my second segment and moved it into the first available free space, like this (original extent location, followed by destination extent location):
pvmove --alloc anywhere /dev/sdb1:38400-39039 /dev/sdb1:1280-1920
pvmove --alloc anywhere /dev/sdb1:38400-39039 /dev/sdb1:1280-1920
  • I continued to do this for each segment as I slowly consolidated my free space with my segments previous to it on the disk
  • Next I shrunk the physical volume (and confirmed with system-config-lvm GUI):
pvresize --setphysicalvolumesize 250G /dev/sdb1
  • Then I booted GParted liveCD to shrink /dev/sdb1 to 250GB, and put the free space into Unallocated space
  • Finally, I could use Hyper-V Manager to shrink the dynamic VHDX file to my destined size

 

After all of this, I turned the VM back on, and Linux booted as if nothing had changed except the size of my disks were quite a bit smaller.