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

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

ivan_huter

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!

PeterMekes

Thanks kirkr,

 

 

That did it also for me with Snapmanager for Exchange.

 

 

JORDIPERA

Many thanks

 

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

 

thanks

connoisseur

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

 

Announcements
NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner
Public