Data Backup and Recovery

SMSQL 7.0 - Ensure that the aggregate of the volume <volnam> is assigned to the Virtual Storage Server <SVM_Name>

kirkr
10,252 Views

Hi All,

 

I came across this scenario today and wanted to share both the symptoms and the fix for this scenario with the community.

 

Some details on my setup:

 

  • SMSQL 7.0
  • SnapDrive 7.0.2P2 (if you have 7.0.2 upgrade to this patch release as it contains a major fix for CSV LUNS)
  • Windows Server 2012 R2
  • SQL Server 2012 with SP1
  • Clustered Data ONTAP 8.2.1
  • One Database on iSCSI LUNS (DB and LOGS) and One database on SMB3.0 (All DB files on one share)

 

I have a single SVM called SVM01 which exists on the cluster (kirks-cluster)

 

When running backups, the backup tasks themselves would complete - however the verification steps would cause an error. I received the following errors in my backup logs:

 

Extract from Backup Log:

 

[16:12:51.987]  [SQL01] Starting SDAPI mount snapshot...

[16:12:51.997]  [SQL01] Preparing LUN 'C:\Mount\DB\', for SDAPI operation...

[16:12:51.997]  [SQL01] Mounting snapshot: sqlsnap__sql01_04-28-2014_16.12.31

[16:13:01.604]  [SQL01] Snapshot mount failed.

[16:13:01.613]  [SQL01] [SDAPI Communication Exception]: Aggregate (aggr2) is not in the aggregate list of vserver (SVM01)

 

[16:13:01.616]  [SQL01] [SDAPI mount snapshot exception]: Object reference not set to an instance of an object.

[16:13:01.623]  [SQL01] SDAPI failed to mount snapshot.

[16:13:01.623]  [SQL01] [SDAPI mount snapshot exception]: Object reference not set to an instance of an object.

 

[16:13:01.633]  [SQL01] Error Code: 0x80004005

Unspecified error

 

[16:13:01.658]  [SQL01] Setting operation result to registry...

[16:13:01.658]  [SQL01] Verification operation on SQL instance [SQL01] database [AdventureWorks2012]

[16:13:01.661]  [SQL01] Database verification information was not updated.

[16:13:01.680]  [SQL01] There is an error during database verification.

 

[16:13:10.096]  [SQL01] Starting SDAPI mount snapshot...

[16:13:10.096]  [SQL01] Preparing Share '\\SVM01\SQLShare\', for SDAPI operation...

[16:13:10.096]  [SQL01] Mounting snapshot: sqlsnap__sql01_04-28-2014_16.12.31

[16:13:11.001]  [SQL01] Snapshot mount failed.

[16:13:11.006]  [SQL01] [SDAPI Communication Exception]: Failed to retrieve storage system relationship.Failed to mount resource: \\SVM01\SQLShare\ from snapshot: sqlsnap__sql01_04-28-2014_16.12.31.Flexclone of volume: SQLShare failed.

Failed to create volume clone.

The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Aggregate aggr2 does not exist

Resolution: Ensure that the aggregate of the volume SQLShare is assigned to Virtual Storage Server SVM01.Kirks.lab.

 

[16:13:11.006]  [SQL01] [SDAPI mount snapshot exception]: Object reference not set to an instance of an object.

[16:13:11.006]  [SQL01] SDAPI failed to mount snapshot.

[16:13:11.006]  [SQL01] [SDAPI mount snapshot exception]: Object reference not set to an instance of an object.

 

[16:13:11.008]  [SQL01] Error Code: 0x80004005

Unspecified error

 

[16:13:11.013]  [SQL01] Setting operation result to registry...

[16:13:11.013]  [SQL01] Verification operation on SQL instance [SQL01] database [AdventureWorks2012_SMB]

[16:13:11.013]  [SQL01] Database verification information was not updated.

[16:13:11.014]  [SQL01] There is an error during database verification.

 

As you can see, I was receiving errors when it tried to mount the snapshots for my SQL Server. The cause was simple. When I created my storage virtual machine called SVM01 (*SVM=vFiler for ONTAP old timers 🙂) it was created against aggr1. However all of my SQL database files are stored in a different aggregate (aggr2). The problem is that my SVM doesn't have access to aggr2 as it is not listed on its associated aggr list.

 

Here's the fix:

 

  1. Log in to your cDOT console using an SSH tool like PuTTy or your other favorite tool
  2. Check the aggregates assigned to your SVM via the following command: vserver show <SVMname>
  3. If the aggregate(s) where your databases reside are not listed the run the following to add them (example shows me adding aggr1 and aggr2 to the SVM): Run: vserver modify <svmname> -agg-list aggr1,aggr2
  4. Run: Vserver show <svmname> and ensure that the aggregate is listed in the list of aggregates assigned.

 

That's it, you should now be able to complete the full backup operations end-to-end with verification.

 

I hope this has been helpful for you!

4 REPLIES 4

connoisseur
9,130 Views

Thanks mate..

 

I hade the same problem.

But both my SVM and my volumes where part of the same aggregata alreaddy, but it was not under the  "List of Aggregates Assigned: " option. (when I ran the 'vserver show' command)

So added it in and it worked.

 

Thanks

 

JORDIPERA
7,290 Views

Many thanks

 

I have the same problem with SMEX, and it work's fine.

 

thanks

PeterMekes
6,249 Views

Thanks kirkr,

 

 

That did it also for me with Snapmanager for Exchange.

 

 

ivan_huter
5,041 Views

Thanks,

There's one small cahnge. You ommitted letter 'r' in the -aggr-list in step 3. It should state: vserver modify <svmname> -aggr-list aggr1,aggr2

 

Appreciate the tip though. Thank you!

Public