Tag Archives: data protector

Data Protector Exchange GRE and IP-less Exchange DAG

This posting is ~6 years years old. You should keep this in mind. IT is a short living business. This information might be outdated.

When dealing with Microsoft Exchange restore requests, you will come across three different restore situations:

  • a database
  • a single mailbox
  • a single mailbox item (mail, calendar entry etc.)

Restoring a complete database is not a complicated task, but restoring a single mailbox, or a single mailbox item, is. First, you need to restore the mailbox, that includes the desired mailbox, into a recovery database. Then you can restore the mailbox, or the mailbox items, from the recovery database. Some of the tasks can only be done with the Exchange Management Shell.

The HPE Data Protector Granular Recovery Extension (GRE) for Microsoft Exchange helps you to simplify the necessary steps to recover a single mailbox, or mailbox items. But the GRE can only assist you during the restore. It hids the above described tasks behind a nice GUI. The backup of Microsoft Exchange is still something you have to do with HPE Data Protector.

Database Availability Group without an Administrative Access Point

With Exchange 2013 SP1, Microsoft introduced the IP-less Database Availability Group (DAG). This type of DAG does not need a Cluster Name Object (CNO), and therefore has no IP address. With Exchange 2016, the IP-less DAG is the default DAG configuration.

But how to backup a DAG, that has no IP address and no name? It is easier than imagined. You have to create a DNS A-Record that includes all IP addresses of the cluster nodes, resulting in a DNS round-robin A-Record. You also have to install the Data Protector Disk Agent and On-line Extension on all cluster nodes. After that, you simply import the DAG by using the DNS A-Record into Data Protector. Then you can proceed with the creation and configuration of a backup job, that uses the newly imported cluster.

Backup runs fine, but the GRE fails

During the test phase of a new Exchange 2016 cluster, a customer of mine discovered a strange error, when he tried to restore a mailbox, or mailbox item, using the Exchange GRE.

Either parsing of command builder output failed or no databases were backed up.
Data Protector Exchange GRE Error

Patrick Terlisten/ www.vcloudnine.de/ Creative Commons CC0

The customer and I double-checked the installation of the GRE on both nodes. Everything was fine. We also found out, that Data Protector was able to list the backup objects. This is a shortened output of the command.

Object Name                                                     Object type
===============================================================================
exchange-2010.domain.tld:/25e0d4ac-5a63-4035-b718-09d07bbbba47/DB3 E2010
dag-backup.domain.tld:/c7982a7e-76cd-4759-9d03-019c0c410957/DB03 E2010
dag-backup.domain.tld:/5d3faa67-6fd9-493e-bf56-5044f75620a8/DB01 E2010

As you can see, dag-backup.domain.tld is the DNS A-Record, that was created to backup the DAG with Data Protector.

Connection between A-Record and DAG name

It took some time to get this sorted, but at the end, a new A-Record was the key. The DAG has a name, e.g. customer-dag1.domain.tld. But there is no matching A-Record, and the DAG has no IP address.

When the GRE searches for available database backups, it stumbles over the mismatch between the DAG name, that is reported by the Exchange organization, and the name of the Data Protector client that was used to backup the databases.

The key to success was to change the DNS A-Record from dag-backup.domain.tld to customer-dag1.domain.tld. Latter is the name of the DAG, that is given during DAG creation. After removing the Data Protector client, the re-import of the DAG with the new A-Record, and a successful backup, the customer was able to restore mailboxes and mailbox items using the GRE for Microsoft Exchange.

This process is not described in detail in the Data Protector documentation. All you find is this foot note in the Data Protector Platform Integration Matrix (page 12, foot note 19):

Microsoft Exchange Server DAG configured without a Cluster Administrator Access Point is supported with Round Robin DNS mapping of DAG name to all the node IPs.

Make sure that the DNS round-robin A-Record matches your DAG name.

HPE Data Protector 9.08 is available

This posting is ~7 years years old. You should keep this in mind. IT is a short living business. This information might be outdated.

3 days ago, on 13th October 2016, HPE has released patch bundle 9,08 for Data Protector 9. A patch bundle isn’t a directly installable version, instead it’s a bundle of patches and enhancements for a specific version of Data Protector, in this case Data Protector 9.

Beside fixes for discovered problems, a patch bundle includes also enhancements. There are some enhancements in this patch bundle, that have caught my attention particularly.

QCCR2A64053: Support for object copy of file system data to Microsoft Azure. Data Protector now supports the creation of a special backup device, which can be used together with Data Protector object copies, to copy Data Protector file system backups to Azure Backup Vaults. This is an easy way to create copies of important data on Microsoft Azure.

Contemporaneous with the announcement of Data Protector 9.08, I got an e-mail of HPE with the information, that one of my change request has made it into the latest patch bundle:

QCCR2A68100: VMWARE GRE stays in debug mode. I have observed this behaviour in different Data Protector installations: If debugging isn’t explicitly disabled (OB2DBG=0 in the omnirc), the VMware GRE always writes debug logs. Regardless if debugging is enabled or disabled in the GRE configuration.

Because of some security related changes and fixes in Data Protector 9.08, HPE has marked this patch bundle as critical.

Download Data Protector patch bundle 9.08:

Data Protector 9.08 for Windows

Data Protector 9.08 for HP-UX/IA

Data Protector 9.08 for Linux/64

Data Protector: Copy sessions to encrypted devices fail after update to 9.07

This posting is ~7 years years old. You should keep this in mind. IT is a short living business. This information might be outdated.

Recently, a customer has informed me, that copy sessions to encrypted devices failed, after he has made an update to Data Protector 9.07. The copy sessions failed with this error:

|Critical| From: BMA@<hostname> "" Time: <Date><Time>
|90:6111| Error retrieving encryption key.

The customer uses tape encryption. The destination for the backups is a HPE StoreOnce, and a post-backup copy creates a copy of the data on tape. Backup to disk was running fine, but the copy to tape failed immediately.

The customer has opened a ticket at the HPE support and got instantly a hotfix to resolve this issue. HPE has documented this error in QCCR2A69192. If you run into the same issue, please request hotfix QCCR2A69802. This hotfix consolidates QCCR2A69192 and QCCR2A69318 (The BMA ends abnormally during backup/copy to tape).

Thanks to Stefan for the hint!

End of support for HPE Data Protector 7.0x & 8.0x

This posting is ~7 years years old. You should keep this in mind. IT is a short living business. This information might be outdated.

Today I got an email from HPE, which has informed me of the imminent end of support for HPE Data Protector 7.0x 8.0x. As of June 30, 2016, HPE will offer no new updates or patches for Data Protector 7.0x and 8.0x. This means that

  • Telephone and email support
  • new security updates, and
  • new product updates

will be phased out. The self-help support will be continued until June 30, 2018. Self-help includes access to the knowledge base, current patches and access to known problems.

Data Protector 8.1x will be under support until June 30, 2017. The self-help support for Data Protector 8.1x will be continued until June 30, 2019.

Please note, that you need new license keys if you want to update Data Protector 7.0x or 8.0x to Data Protector 9. To gain new license keys, you need an active support contract. If you have valid Data Protector 8.1 license keys, you don’t need new license keys.

Don’t hesitate to leave a comment if you need further information.

HPE Data Protector 9.05: SAN backups failing back to NBDSSL

This posting is ~7 years years old. You should keep this in mind. IT is a short living business. This information might be outdated.

Last year in December, I updated the first customer from HPE Data Protector 9.04 to 9.05. Immediately after the first tests I noticed, that backups were made using the NBDSSL transport. I expected that the SAN transport would be used, because the prerequisites were met and it has worked until the update. I opened a case at the HPE support und I was advised to install the hotfix QCIM2A65619. With this hotfix, several files were replaced:

x8664\A.09.00\VEPA\DP_HOME_DIR\bin\components\DpSessionLogger.dll
x8664\A.09.00\VEPA\DP_HOME_DIR\bin\ViAPI.dll
x8664\A.09.00\VEPA\DP_HOME_DIR\bin\vCloudAPI.dll
x8664\A.09.00\VEPA\DP_HOME_DIR\bin\DPComServer.exe
x8664\A.09.00\VEPA\DP_HOME_DIR\bin\components\vepalib_vmware.dll
x8664\A.09.00\VEPA\DP_HOME_DIR\bin\vepa_util.exe
x8664\A.09.00\VEPA\DP_HOME_DIR\bin\vepa_bar.exe
x8664\A.09.00\VEPA\DP_HOME_DIR\bin\components\vepalib_vcd.dll
x8664\A.09.00\VEPA\DP_HOME_DIR\bin\components\DPHostingEnvironmentComponent.dll
x8664\A.09.00\VEPA\DP_HOME_DIR\bin\components\CDpDataMoverComponent.dll
x8664\A.09.00\VEPA\DP_HOME_DIR\bin\components\vepalib_hyperv.dll
x8664\A.09.00\VEPA\DP_HOME_DIR\bin\components\DpBackendService.dll
x8664\A.09.00\VEPA\DP_HOME_DIR\lib\vddk

The hotfix solved the issue. And to be honest: I didn’t care why it has worked after applying the hotfix. I had the same issue at multiple customers and applying the hotfix solved the issue in each case.

Today, I was reading through the HPE Data Protector 9.06 Integration Guide and the HPE Data Protector 9.0x Virtualization Support Matrix and I stumbled over this table:

Data Protector versionsVMware VDDK componentSupported backup / mount proxy operating systems
9.00, 9.01VDDK 5.5.0Windows Server 2003 R2 (x64)
Windows Server 2008, 2008 R2 (x64)
Windows Server 2012 (x64)
RHEL 5.9 (x64)
RHEL 6.2, 6.3 (x64)
SLES 10.4 (x64)
SLES 11 (x64)
9.02, 9.03VDDK 5.5.3Windows Server 2003 R2 (x64)
Windows Server 2008, 2008 R2 (x64)
Windows Server 2012 (x64)
RHEL 5.9 (x64)
RHEL 6.2, 6.3, 6.4 (x64)
SLES 10.4 (x64)
SLES 11 (x64)
9.04VDDK 6.0Windows Server 2008 R2 (x64)
Windows Server 2012, 2012 R2 (x64)
RHEL 6.6, 7.0 (x64)
SLES 11, 12 (x64)
9.05VDDK 6.0 U1Windows Server 2008 R2 (x64)
Windows Server 2012, 2012 R2 (x64)
RHEL 6.6, 7.0 (x64)
SLES 11, 12 (x64)
9.06VDDK 6.0 U2Windows Server 2008 R2 (x64)
Windows Server 2012, 2012 R2 (x64)
RHEL 6.6, 7.0 (x64)
SLES 11, 12 (x64)

There was a footnote for VDDK 6.0 U1.

The VM backups does not use SAN transport mode on vSphere 5.1, 5.5 (and its updates) environment and falls back to NBDSSL/NBD. This is because of VDDK 6.0 U1 issue. For more information, see VMware Knowledge Base.

Ups… that’s my issue! The footnote inclued a link to VMware KB2135621 (Virtual Disk Development Kit 6.0 U1 Backup and Restore commands fail using SAN transport mode on ESXi 5.5.x hosts on both Windows and Linux proxies). Described symptoms:

  • Virtual Disk Development Kit 6.0 Update 1 backup and restore commands fail using SAN transport mode on ESXi 5.5.x hosts.
  • This issue occurs on both Windows and Linux proxies.

Yep, that’s my issue. The customers that were observing this issue were running vSphere 5.5, not 6.0. With this knowledge, I checked the version of the vixDiskLib.dll on one of the patched Data Protector hosts. And there it was:

vixDiskLib

Patrick Terlisten/ www.vcloudnine.de/ Creative Commons CC0

The vixDiskLib.dll had the build version 6.0.0 build-2498720, which is the build version of the Virtual Disk Development Kit 6.0. So it seems, that the Data Protector hotfix QCIM2A65619 makes a downgrade of the VDDK that is used by Data Protector.

KB2135621 describes, that this issue is resolved in in VMware vCenter Server 6.0 Update 2. This also implies, that this is fixed for VDDK 6.0 U2 and therefore Data Protector 9.06.

I’m sorry Data Protector. It was not your fault!

HPE Data Protector VE Integration/ VMware best practice

This posting is ~7 years years old. You should keep this in mind. IT is a short living business. This information might be outdated.

The Virtual Environment Integration (VE Integration) provides protection of VMs in virtual server environments. It is used o integrate HPE Data Protector with various virtualization environments, currently VMware vSphere and Microsoft Hyper-V. For Citrix XenServer is a script solution available. I will focus on VMware vSphere.

What is possible?

I took this table from the “HPE Data Protector 9.00 Integration Guide for Virtualization”.

FeatureVE Integration
Online backup
Crash-consistent backup
Application-consistent backup
Granularityvmdk, vmx
Full/ Incremental/ Differential✓/ ✓/ ✓
Support for changed block tracking (CBT)
Where does the Data Protector component need to be installed?backup host
Extra licenses needed1x On-Line Extension per ESXi host

As you can see, Data Protector offers all you need to create a crash-consistent backup of your VMs. HPE Data Protector relies on the VMware vSphere Storage APIs – Data Protection (formerly known as VMware vStorage APIs for Data Protection or VADP). Data Protector has to use the same API as Veeam, CommVault Simpana or any other product that can be used to backup VMs in a VMware vSphere environment. Therefore, most software products offer the same features.

How does it work?

HPE Data Protector uses the vStorage Image backup method to create a crash-consistent backup of your VMs. With this method, a backup host is used to create a backup of VMs hosted on a single or multiple ESXi hosts. The backup host can be a dedicated physical host, a virtual machine, or the Cell Manager (CM) itself (physical or virtual). All you need to make sure is, that the Data Protector Virtual Environment Integration component (VEAgent) is installed. During a vStorage Image backup, the VEAgent

  1. establishes a connection between the backup host and the ESXi or vCenter server (depending if it’s a standalone host or a vCenter environment)
  2. locks the VM, so that it can’t be migrated off the host by VMware vMotion
  3. requests a snapshot of the VM
  4. reads the VM data across LAN or SAN
  5. initializes the Media Agent (MA) and controls the transfer of the data to to backup device

After finishing the backup of the VM, the snapshot is released and the VM is unlocked. I took this picture from the “HPE Data Protector 9.00 Integration Guide for Virtualization” to illustrate the data flow and what components interact with each other.

hpe_dp_vepa

HPE/ hpe.com

If Data Protector requests the creation of a snapshot, the snapshot is always named “_DP_VEPA_SNAP_”. I often use this simple PowerCLI one-liner to search orphaned VEAgent snapshots:

Get-VM | Get-Snapshot  | ? {$_.name -match '_DP_VEPA_SNAP_'} | Format-Table -Property VM,Created,SizeGB

To be honest: Orphaned snapshots only occur if a VEAgent backup failes before Data Protector can delete the snapshot. So an orphaned snapshot indicates some kind of failure during the backup. The number of snapshots that remain in the snapshot chain after a backup depends on three factors:

  • Wheather CBT is used or not
  • Selected snapshot handling mode
  • Backup type specified

The snapshot, that remain in a snapshot chain play a great role for incremental and differential VM backups. Data Protector can detect changes on

  • file level, or at
  • block level

Without CBT, Data Protector uses snapshots to identify changes on file level. With CBT, Data Protector identifies changes on block level. With CBT, the number of snapshots remaining after a backup is always 0. Without CBT, Data Protector keeps up to 2 snapshots (mixed snapshot handling). You must not delete these snapshots. Otherwise a full backup of a VM is necessary to create a new, valid backup chain.

Even if CBT is enabled, Data Protector requests the creation of a snapshot to get a consistent state of the VM. Because of this, a VM backup requires sufficient free disk space on the datastore where the VMDKs of the VM reside. The longer a backup takes, and the more changes are made, the bigger the snapshot gets. Here comes the free space required option into play. You can specify the amount of free disk space, that must be available at the start of the backup, e.g. 10% or 20%. The required free space is calculated based on the size of VMDKs of a VM just before the snapshot is created. Data Protector checks all datastores where the virtual machine disks reside. If a VM has a 100 GB VMDK and you set the free space required option to 10%, at least 10 GB free disk space is required in each datastore, where the VM has VMDKs located. The check is per VM!

By default, VMs are backed up in parallel. This greatly improves the overall backup performance. But in rare cases it can lead to problems. You can disable parallel backups by adding

OB2_VEAGENT_THREADED_BACKUP = 0

to the omnirc on the VEAgent backup host.

By default, a maximum of 10 concurrent threads are executed when backing up VMs using the VEAgent integration. This os good for the backup performance, but it also places load on the infrastructure. You can change this by adding the OB2_VEAGENT_VCENTER_CONNECTION_LIMIT variable to the omnirc on the VEAgent backup host.

I had several cases where VEAgent backups failed because the VEAgent (vepa_bar.exe) or the Backup Media Agent (bma.exe) failed with a memory dump during the backup, or during the initial environment discovery. In all cases, the VEAgent, the MA and the CM were located on a single physical host. This is highly not recommended according to the Data Protector Support. A possible solution is to deploy a Windows Server VM and push the VEAgent onto it. You can use this VM as VEAgent backup host, and the physical host acts only as MA and CM.

With the OB2_VEAGENT_BACKUP_DISK_BUFFER_SIZE option, you can modify the buffer size used during the backup. The SAN and the HotAdd transport mode support disk buffer sizes from 1 MB to 256 MB. By default, they use 8 MB disk buffers. The NBD and NBDSSL transport are always using 1 MB. Using bigger disk buffer sizes can improve the backup performance, but it also increases the memory consumption.

On Windows VMs it is possible to use Volume Shadow Copy Service (VSS) to quiesce the states of the applications running within a virtual machine before a snapshot is created. A ZIP archive is created that contains all the BCD and writer manifests. Please note that quiescence can slow down the performance of a backup sessions considerably.

TL;DR

During my last projects, I collected a number of common or best practices. I provide this “AS IS” with no warranties! Thanks to the HPE Data Protector support team for helping me during several support cases. Special thanks to Dimitar, Jose, Zhulien and Stephen!

Use multiple, smaller jobs instead of a few, bigger jobs

You should use jobs with a maximum of 30 VMs. Try to keep the size of a backup equal, but don’t add more than 30 VMs into a single job. If a job fails, you have to restart the job for 30 VMs, not for 200 or more VMs. With more jobs, you can execute jobs in parallel.

Use different hosts as Cell Manager, Media Agent and VEAgent

You shouldn’t combine CM, MA and VEAgent on a single physical or virtual server. Try to separate at least the VEAgent backup host. You can use a VM for this.

If you had to pack all services on a single server, reduce the load

Use OB2_VEAGENT_THREADED_BACKUP, or OB2_VEAGENT_VCENTER_CONNECTION_LIMIT, and/ or reduce the number of running MAs.

Always try to utilize CBT

Whenever possible, use CBT instead of single or mixed snapshot handling.

Use SAN Transport

Whenever possible, use SAN transport. If you can utilize SAN transport, try to use a virtual VEAgent backup host. In this case Data Protector will use HotAdd transport mode.

In case of StoreOnce: Single Object per Store Media

If you use a StoreOnce appliance (or a StoreOnce Software store), make sure that you have enabled “Single Object per Store Media”. I wrote a blog post about it: HPE Data Protector & StoreOnce Catalyst: Single Object per Store Media

Data Protector: Exchange backup failes because of database lock

This posting is ~8 years years old. You should keep this in mind. IT is a short living business. This information might be outdated.

Today I had a customer call, where a Exchange 2010 backup repeatedly failed. HPE Data Protector was unable to create a differential or incremental backup. For each database, the following error was logged:

[Minor] From: OB2BAR_E2010_BAR@exchangeserver.domain.tld "MS Exchange 2010+ Server"  Time: 21.03.2016 20:00:27
[170:313] 	One or more copies of database DATABASE are already being backed up in a different session.

Interestingly, there was no other backup session running. But the night before, the backup jobs failed because of a network failure.

The solution is easy. This error is caused by a wrong information in the Data Protector database. To remove this, open an administrative CMD on the Data Protector Cell Manager and run this omnidbutil command:

C:\Users\Administrator>omnidbutil -free_cell_resources
DONE!

C:\Users\Administrator>

This command  will free up the locked resources in the Data Protector database.Then, run the job again.

HPE Data Protector & StoreOnce Catalyst: Single Object per Store Media

This posting is ~8 years years old. You should keep this in mind. IT is a short living business. This information might be outdated.

HPE Data Protector stores multiple backup objects on a single Catalyst store item. A backup object can be a volume, a mount point, a database or a virtual machine. You can have multiple backup objects per backup client. If your filesystem backup job has four backup clients, and each client has two volumes, the backup job will contain 8 backup objects. Another example is a single database of a Microsoft SQL or Oracle database server (instance).

A Catalyst store item is an object of a StoreOnce Catalyst store and stores the data of a specific backup job. If you backup multiple VMs in a single VE Integration job, the Catalyst store item will include all VMs from that specific job. Or if you backup an Exchange server with three databases, the Catalyst store item is used to store these three databases. Due to this behavior, a single Catalyst store item can reach enormous sizes. Usually this is not a problem. But if you have to copy backup objects to other media (e.g. tape), Data Protector has to read the store medium for each backup object. As the name says: The copy operation in Data Protector is based on backup objects. If there are multiple backup objects on a Catalyst store item, a backup object copy can take some time.

Since HPE Data Protector 8.1, Data Protector offers an option to store a single backup object per Catalyst store item. You can enable this option in the properties of a StoreOnce D2D device (“Settings” tab).

single_object_store_media

Patrick Terlisten/ www.vcloudnine.de/ Creative Commons CC0

With this option, Data Protector will create a single Catalyst store item for each backup object. This option can significantly speed up object copy operations. You should consider this option in the following cases:

  • You have to speed up object copy operations
  • You have multiple large backup objects per backup client (e.g. Exchange with multiple large databases, Microsoft SQL server with multiple large databases, VMware/ Hyper-V backups, file servers with large volumes etc.)

A possible disadvantage is the increasing number of Catalyst store items, especially if you have a large number of backup clients with many small backup objects. HPE Data Protector and StoreOnce have a limit with regard to the maximum number of Catalyst store items (which isn’t publicly documented …).

HP Data Protector: JSONizer error when restoring from StoreOnce

This posting is ~9 years years old. You should keep this in mind. IT is a short living business. This information might be outdated.

After installing the Data Protector patch bundle 8.13, you may ran into this error when trying to restore data from a HP StoreOnce appliance.

[Normal] From: RSM@dpcm.lab.local ""  Time: 04.12.2014 09:13:10
	Restore session 2014/12/04-8 started.

[Normal] From: RMA@fileserver.lab.local "D2D_GW1 [GW 6408:0:7255964966039732580]"  Time: 04.12.2014 09:13:12
	STARTING Media Agent "D2D_GW1 [GW 6408:0:7255964966039732580]"

[Normal] From: RMA@fileserver.lab.local "D2D_GW1 [GW 6408:0:7255964966039732580]"  Time: 04.12.2014 09:13:13
	Loading medium from slot \\192.168.200.101\Store_1\257902bf_54796efc_04f4_005c to device D2D_GW1 [GW 6408:0:7255964966039732580]

[Major] From: RMA@fileserver.lab.local "D2D_GW1 [GW 6408:0:7255964966039732580]"  Time: 04.12.2014 09:13:15
[90:52]  	\\192.168.200.101\Store_1\257902bf_54796efc_04f4_005c
	Cannot read from device (JSONizer error: Device read failure)

[Normal] From: RMA@fileserver.lab.local "D2D_GW1 [GW 6408:0:7255964966039732580]"  Time: 04.12.2014 09:13:15
	Unloading medium to slot \\192.168.200.101\Store_1\257902bf_54796efc_04f4_005c from device D2D_GW1 [GW 6408:0:7255964966039732580]

[Normal] From: RMA@fileserver.lab.local "D2D_GW1 [GW 6408:0:7255964966039732580]"  Time: 04.12.2014 09:13:15
	ABORTED Media Agent "D2D_GW1 [GW 6408:0:7255964966039732580]"

[Normal] From: RSM@dpcm.lab.local ""  Time: 04.12.2014 09:13:15

	Restore Statistics:
          
		Session Queuing Time (hours)         0,00        
		-------------------------------------------      
		Completed Disk Agents ........          0          
		Failed Disk Agents ...........          1          
		Aborted Disk Agents ..........          0          
		-------------------------------------------      
		Disk Agents Total  ...........          1          
		===========================================      
		Completed Media Agents .......          0          
		Failed Media Agents ..........          0          
		Aborted Media Agents .........          1          
		-------------------------------------------      
		Media Agents Total  ..........          1          
		===========================================      
		Mbytes Total .................       0 MB        
		Used Media Total .............          1          
		Disk Agent Errors Total ......          0

This problem is known and it is described in QCCR2A56465. A fix is available (new BMA, CMA, MMA and RMA binaries). Simply open a service request and ask for the fix. Make sure that you add a copy of the session messages or a screenshot to the service request.

HP Data Protector: Can’t delete old DCBF directories

This posting is ~9 years years old. You should keep this in mind. IT is a short living business. This information might be outdated.
This applies to upgrades from Data Protector 6.x and 7.x to 8.x and 9.x.

It seems that today is my debugging day… Yesterday I performed a Data Protector update from 7.03 to 8.13. During this update, the Data Protector IDB is migrated to another database format. Last night the backups went smoothly, but today I noticed that two old Detail Catalog Binary File (DCBF) directories were still referenced in the HP Data Protector IDB.

C:\Users\Administrator>omnidbutil  -list_dcdirs
Configured DC directories:

 Allocation Sequence
 |        Maximum Usage in MB
 |        |        Maximum Number of Files in Directory
 |        |        |        Minimum Free Space [MB]
 |        |        |        |        Directory
 |        |        |        |        |
===========================================================================
 2        16384    10000    2048     C:/ProgramData/OmniBack/db40/dcbf
 0        204800   100000   2048     C:/ProgramData/OmniBack/server/db80/dcbf/dcbf0
 1        16384    10000    100      D:/OmniBack/db40/dcbf
 1        204800   100000   2048     C:/ProgramData/OmniBack/server/db80/dcbf/dcbf1
 4        204800   100000   2048     C:/ProgramData/OmniBack/server/db80/dcbf/dcbf4
 3        204800   100000   2048     C:/ProgramData/OmniBack/server/db80/dcbf/dcbf3
 2        204800   100000   2048     C:/ProgramData/OmniBack/server/db80/dcbf/dcbf2

DONE!

The two directories with the “db40” inside the path are old DCBF directories. Because the directories contained actively used DCBF files, I relocated the files and did a “omnidbutil -remap_dcdir”:

C:\Users\Administrator>omnidbutil -remap_dcdir
DONE!

A quick check after the relocation showed no errors.

C:\Users\Administrator>omnidbcheck -bf

 Medium ID:                      Actual Size       Header Size   Check
========================================================================
6d50d6a3:54777b65:09d0:6604           809828            809828      OK
6d50d6a3:5479522c:09d0:6b4f           163080            163080      OK
<SNIP>
01401eac:547d2251:0bbc:01ec          6008832           6008832      OK
01401eac:547d21e9:0bbc:01e9           311296            311296      OK
01401eac:547d22d4:0bbc:01ef          2600960           2600960      OK
01401eac:547d2411:0bbc:01f2          2883584           2883584      OK
01401eac:547d24e2:0bbc:01f5          1929216           1929216      OK
01401eac:547d25bc:0bbc:01f8          2146304           2146304      OK
01401eac:547d266e:0bbc:01fb          7098368           7098368      OK
01401eac:547d2790:0bbc:01fe          2015232           2015232      OK


Check has finished : 0 errors reported
DONE!

Looking good. Time to remove the old DCBF directories:

C:\Users\Administrator>omnidbutil -remove_dcdir D:/OmniBack/db40/dcbf
**********************  DEFAULT ERROR REPORT  *******************************
[Critical] From: OMNIDBUTIL@sauron.swb.local.de ""  Time: 02.12.2014 10:07:07

*****************************************************************************

Did I mentioned that today was my debugging day? To make a long story short: HP switched the path separator character for the Data Protector IDB. They are using now a / instead a \ on both platforms (Windows & UNIX). During the update, this change is not performed correctly. Sebastian Koehler wrote a small SQL script that fixes this problem. Check his blog post (he had the same problem as me).

This is the script (you can also find it on Sebastian Koehlers blog):

–Displays DCBF directories before modification
SELECT dcbf_directory from dp_catalog_dcbf_directory;

–Fixes wrong path separator for db40 DCBF directories on Windows CM
UPDATE dp_catalog_dcbf_directory SET dcbf_directory = replace(dcbf_directory, '\', '/');
UPDATE dp_catalog_dcbf_directory SET dcbf_directory = replace(dcbf_directory, '\\', '/');

–Displays DCBF directories after change
SELECT dcbf_directory from dp_catalog_dcbf_directory;

This is the output of the script when I run it.

C:\Users\Administrator>omnidbutil -run_script D:\TMP\dcbf_dir_fix.sql -detail
                 dcbf_directory
------------------------------------------------
 C:/ProgramData/OmniBack/server/db80/dcbf/dcbf1
 C:/ProgramData/OmniBack/server/db80/dcbf/dcbf4
 C:/ProgramData/OmniBack/server/db80/dcbf/dcbf0
 C:\ProgramData\OmniBack\db40\dcbf
 D:\OmniBack\db40\dcbf
 C:/ProgramData/OmniBack/server/db80/dcbf/dcbf3
 C:/ProgramData/OmniBack/server/db80/dcbf/dcbf2
(7 rows)

UPDATE 7
UPDATE 7
                 dcbf_directory
------------------------------------------------
 C:/ProgramData/OmniBack/server/db80/dcbf/dcbf1
 C:/ProgramData/OmniBack/server/db80/dcbf/dcbf4
 C:/ProgramData/OmniBack/server/db80/dcbf/dcbf0
 C:/ProgramData/OmniBack/db40/dcbf
 D:/OmniBack/db40/dcbf
 C:/ProgramData/OmniBack/server/db80/dcbf/dcbf3
 C:/ProgramData/OmniBack/server/db80/dcbf/dcbf2
(7 rows)


DONE!

You can clearly see that the wrong path separator is used for the old DB40 directories (the upper part of the output). Compare it to the output of omnidbutil -list_dcdirs! The lower part shows that the correct path separator was set. After the run of the script I was able to delete the old DCBF directories.

C:\Users\Administrator>omnidbutil -remove_dcdir D:/OmniBack/db40/dcbf
DONE!

C:\Users\Administrator>omnidbutil -remove_dcdir C:/ProgramData/OmniBack/db40/dcbf
DONE!

Thanks to Sebastian, who described this bug.