ONTAP Discussions

About assigning aggregates to SVMs

Spelta
9,066 Views

Hello all. I hope you can shed some light over this. Disclaimer: I am a newbie. Using Data ONTAP Clustered Mode 8.2.1 (that's the simulator).

 

If I do assign any aggregate(s) to a SVM, then I can only create volumes for that SVM on those aggregates. Source: https://library.netapp.com/ecmdocs/ECMP1368404/html/GUID-54FA031E-C60D-4AEF-887E-93DBA463211C.html

 

Quoting the article:

 

"If the SVM for that volume has aggregates assigned to it, then you can use only one of those assigned aggregates to provide storage to volumes on that SVM"

 

Moreover.

 

"This can help you ensure that your SVMs are not sharing physical storage resources inappropriately. This segregation can be important in a multi-tenancy environment, because for some space management configurations, volumes that share the same aggregate can affect each other's access to free space when space is constrained for the aggregate. Aggregate assignment requirements apply to both cluster administrators and SVM administrators"

 

That is the part I can't get. Suppose that I have SVM1 and SVM2, aggr1 and aggr2.

I do assign aggr2 to SVM2, and I assign no aggregates to SVM1.

Now what happens is, that on SVM I can create FlexVols only on aggr2.

 

But, on SVM1, I still may create volumes wherever I want. On aggr1, or also on aggr2. To my comprehension, this would defy the purpose of segregation of storage and aggregates. I would think that to protect a SVM volumes to be affected by anything external, I should forbid other SVMs to access the protected SVM aggregates, not the other way around - forbidding the "want-to-protect SVM" to access others' storages?

 

Many thanks to whomever could clarify this to me.

 

 

Very secondarily, is there a way to assign aggregates to SVMs via OnCommand? I was able to do that only via Data ONTAP command line so far. Thanks again.

1 ACCEPTED SOLUTION

radek_kubka
8,976 Views

Hi,

 


 I do assign aggr2 to SVM2, and I assign no aggregates to SVM1.

Now what happens is, that on SVM 2 can create FlexVols only on aggr2.

But, on SVM1, I still may create volumes wherever I want. On aggr1, or also on aggr2



 

Everything will seem more logical if you assign aggr1 to SVM1 - then you will be able to create volume only on this particular aggregate. If you don't assign any aggregates, then all can be used.

 

Regards,
Radek

 

View solution in original post

7 REPLIES 7

rwelshman
9,043 Views

are you creating the volumes within the vserver context or in the cluster admin role. As a cluster admin you can essentially create what you want where you want, but in theory if the SVM doesn't have an aggr assigned, then within the vserver context you shouldn't be able to create the volume.

Spelta
9,028 Views

Have you read what my question is about and - most important - the linked documentation pages?

 

Thank you very much.

Golazo
9,016 Views

Hi Spelta,

 

Can you please provide the output of: 

 

vserver show -vserver svmname - instance

 

for both svms please?

 

Thank you,

 

David

Spelta
8,991 Views

Hello, thanks for your reply. I may post the output of that command, of course, but I can't see how this may be relevant, since I am talking about a behavior that is perfectly correct and as documented.

 

My question was, why is it correct this way?

 

Again: THINGS ARE WORKING AS DOCUMENTED. Perfectly.

 

My question is: why is it so?

I don't find it reasonable from a logical point of view, and I'd love if anybody may shed a light of my lack of comprehension.

Thank you very much! 🙂

 

radek_kubka
8,977 Views

Hi,

 


 I do assign aggr2 to SVM2, and I assign no aggregates to SVM1.

Now what happens is, that on SVM 2 can create FlexVols only on aggr2.

But, on SVM1, I still may create volumes wherever I want. On aggr1, or also on aggr2



 

Everything will seem more logical if you assign aggr1 to SVM1 - then you will be able to create volume only on this particular aggregate. If you don't assign any aggregates, then all can be used.

 

Regards,
Radek

 

Spelta
8,969 Views

This is very reasonable.

 

I, though, still feel like it would make more sense in this way:

 

I assign aggr1 to SVM1.

Then no SVM other than SVM1 can use aggr1. If necessary and for whatever reason, SVM1 may be able to use aggregates other than its own aggr1. But, no other SVM would be able to contaminate that reserved aggregate.

 

Does this make any sense to you?

 

aborzenkov
8,973 Views

But, on SVM1, I still may create volumes wherever I want.


What "on SVM1" means? Are you in vserver context or in cluster context?

Public