NetApp Cluster Mode TMP Volume type? Huh?

Late last night I was working on a very large CIFS and NFS migration for a customer. This was the culmination of a dual site FAS2050 7mode to FAS3220 cDot upgrade path.

I had originally planned on using the 7mTT (7-mode Transition Tool) to automate this migration. I went through the 7mTT install, core setup, and even planned a few volumes to be migrated by it.

Mid project, I decided against the 7mTT. I needed to split all the volumes of the 2 controllers to 4+ new storage virtual machines (vservers / vsm / what ever you want to call them today). The IPs of the controllers would need to be swung at different intervals, and the cifs and nfs deployments needed to be done at different times. This was a little more than I felt confortable handing over to the 7mTT to control.

The biggest limitation was simply the fact that in the version I started working it, you could not migrate off multiple controllers at the same time.

ducksimages
I’m a purist. I want to script it. I want to control it. I want to create my dataprotection volumes (DP). I want to setup my transitional snapmirror (TDP). I want to pick when the volumes initialize. When they update. When they break, when they are deleted, and adding the to the Namespace. Call me OCD, but I want my ducks in a row.

Migration manually w/ some awk and sed magic is pretty easy. Look here:
Transitioning a stand-alone volume manually

Everything went well with the NFS migrations. All volumes were 100% in my control. I setup them up, replicated. When the customer was ready, we updated the fstabs with the new IPs for the new VSM, and I simply broke/deleted the SM relationship. The DP volume type switched to RW (read/write) as it should have. Simple.

48843942
Last night, no joy.

When I went to break the first volumes TDP Snapmirror and mount to the namespace. ERRRRRRRRR big error. Error 14472. NOOOOOOOOOOOO

This error became my new enemy:

Actual Error

Error: command failed: This operation is not supported on a volume of type “TMP”.

TMP? What the heck is a TMP volume type? This has to be an error.

I don’t even know how many manual migrations I have done, and I have NEVER had an issue. It’s 12am. Lets move on to another.

Error: command failed: This operation is not supported on a volume of type “TMP”.

Ohhh crap.

What? Ohhh these are the volumes I previously had scheduled for 7mTT to work with and then stepped into a manual method.

Let’s look at this volume:

s1-fas3220::> vol show -vserver s1-cifs-vs -volume prov
(volume show)

Vserver Name: s1-cifs-vs
Volume Name: prov
Aggregate Name: aggr1_fas3220_01_900GBSAS_01
Volume Size: 466.7GB
Volume Data Set ID: 1101
Volume Master Data Set ID: 2147484749
Volume State: online
Volume Type: TMP
Volume Style: flex
Is Cluster-Mode Volume: true
Is Constituent Volume: false
Export Policy: default
User ID: 0
Group ID: root
Security Style: mixed
UNIX Permissions: —rwxr-xr-x
Junction Path: –
Junction Path Source: –
Junction Active: –
Junction Parent Volume: –
Comment: CIFS01_standalone : 1.2.3.131 : vfiler0 : pro

Ok, let’s dig in. Can I query for all my TMP types? Yep. Oddly, even though it’s not a valid type to make TMP volumes.

s1-fas3220::> vol show -type TMP
(volume show)
Vserver Volume Aggregate State Type Size Available Used%
——— ———— ———— ———- —- ———- ———- —–
s1-cifs-vs
prov aggr1_fas3220_01_900GBSAS_01
online TMP 466.7GB 183.9GB 60%

s1-cifs-vs
dev_database_backups
aggr1_fas3220_01_900GBSAS_01
online TMP 250GB 230.9GB 7%

s1-cifs-vs
qa_database_backups
aggr1_fas3220_01_900GBSAS_01
online TMP 200GB 155.4GB 22%

Can I modify this to a RW or DP type? Nope. Can’t change types at all of a Volume already in play.

s1-fas3220::> vol modify -vserver s1-cifs-vs -volume prov -type RW
(volume modify)

Error: invalid argument “-type”

Let me see a little more about TMP types… You can’t create them yourself.

9184430_orig
s1-fas3220::> vol create -type ?
(volume create)
RW
DP
DC

Dude, where’s my car? I mean TMP type.

s1-fas3220::> vol create -vserver s1-cifs-vs -volume mytest -type TMP -aggregate aggr2_fas3220_02_900GBSAS_02 -size 20g
(volume create)

Error: command failed: This operation is not supported on a volume of type “TMP”.

Wait, you mean that the filer can create a TMP type, and I can’t? No fair! That’s ok. You can really do nothing with them.

To quote @NetappGeek on this:
“When the Transition Coordinator offbox tool (7MTT) fences off a volume for transition protection, it sets the volume type as TMP and the transition-behavior as data-move. This prevents accidental usage or configuration of a volume while the transition is in progress”

I dug around and it looks like they do this via the API

Ok. It’s 1am. I’m screwed if I can’t get this done ASAP.

What can I do????

Theres 2 ways to resolve this. (At 1am when I did this I went the less-correct FlexClone way. )

————- You can FlexClone a TMP volume – !!Not the best way!! —————

FLEXCLONE!!!! Please God, please let FlexClone work! ( If you don’t know what FlexClone is, it’s a 0-size to start R/W volume linked to a snapshot on a normal Flexible Volume. )

Ok, Let’s test the ability to clone a TMP. Please work. Please!

s1-fas3220::snapmirror> vol clone create -vserver s1-cifs-vs -flexclone prov_new -type RW -parent-volume prov -junction-active true -foreground true
(volume clone create)
[Job 2420] Job succeeded: Successful

Yes!!

Well, this doesn’t do me much good. I am still linked against the bad weird TMP type volume.

Let’s just go ahead and mount it up to the namespace and make sure that I can make a share off of it.

Screen Shot 2014-08-21 at 2.56.03 PM

Ok that worked.

I want to trash the old, TMP type volume. I have a FlexClone off of it. Let’s just split the clone.

s1-fas3220::snapmirror> vol clone split start -vserver s1-cifs-vs -flexclone prov_new
(volume clone split start)

Warning: Are you sure you want to split clone volume prov_new in Vserver s1-cifs-vs ? {y|n}: y
[Job 2421] Job is queued: Split prov_new.

s1-fas3220::snapmirror> vol clone split show
(volume clone split show)
Inodes Blocks
——————— ———————
Vserver FlexClone Processed Total Scanned Updated % Complete
——— ————- ———- ———- ———- ———- ———-
s1-cifs-vs
prov_new 2096 18674124 1005168 140687 0

free-MrBurnsExcellent
Excellent!!!

Once it’s done, just verify the volume information:

s1-fas3220::> vol show -vserver s1-cifs-vs -volume prov_new
(volume show)

Vserver Name: s1-cifs-vs
Volume Name: prov_new
Aggregate Name: aggr1_fas3220_01_900GBSAS_01
Volume Size: 466.7GB
Volume Data Set ID: 1146
Volume Master Data Set ID: 2147484794
Volume State: online
Volume Type: RW
Volume Style: flex

——————- The better way – Transition protection ————————-

iStock_000023001065Large

Come to find out, 7mTT sets the volume into a TMP type by enabling the “transition-protect” function.

I had no clue about this before today.
You can read more in this NetApp KB post:
NetApp KB ID 1014699

s1-fas3220::> set -privilege diagnostic

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

s1-fas3220::*> volume transition-protect -vserver s1-cifs-vs -volume prov -is-enabled off
command is complete

1-fas3220::*> vol show -vserver s1-cifs-vs -volume prov
(volume show)

Vserver Name: s1-cifs-vs
Volume Name: prov
Aggregate Name: aggr1_fas3220_01_900GBSAS_01
Volume Size: 466.7GB
Name Ordinal: base
Volume Data Set ID: 1101
Volume Master Data Set ID: 2147484749
Volume State: online
Volume Type: RW
Volume Style: flex

Taaadaaa!!!

Thanks @NetappGeek and @seanluce for some TMP info.

Be Sociable, Share!

, , , ,