Sunday, 14 May 2017

CIFS Terminate and NFS Off Before 7MTT CFT Cutover?

Continuing from the previous post...

This might be another pointless experiment (the conclusion below is worth reading though), since I’ve seen it written:
“Before you initiate the cutover, you should disable client access to the LUNs, shares, and NFS volumes to avoid potential data loss or corruption that might otherwise occur, as the cutover is a disruptive process. This has to be done at the client because 7MTT requires that all protocol services be running on the controllers so it can gather data.”
Still there’s nothing wrong with a little curiosity.

The Scenario

This time we’re using 7MTT CFT to transition 7-Mode controllers - fas01 and fas02 - to Clustered Data ONTAP.

Here are our shares and exports on fas01:


fas01> cifs shares
Name         Mount Point     
----         -----------     
ETC$         /etc            
HOME         /vol/vol0/home  
C$           /               
vol1         /vol/vol1
vol2         /vol/vol2
folder1      /vol/vol1/folder1
folder2      /vol/vol2/folder2

fas01> exportfs
/vol/vol0/home  -sec=sys,rw,nosuid
/vol/vol0       -sec=sys,rw,anon=0,nosuid
/vol/vol1       -sec=sys,rw,root=192.168.0.61,nosuid
/vol/vol2       -sec=sys,rw=20.20.20.20,root=20.20.20.20,nosuid
/vol/san_vol1   -sec=sys,rw,nosuid
/vol/san_vol2   -sec=sys,rw,nosuid


‌Here are our shares and exports on fas02:


fas02> cifs shares
Name         Mount Point  
----         -----------  
ETC$         /etc         
HOME         /vol/vol0/home
C$           /             
vol3         /vol/vol3
vol4         /vol/vol4

fas02> exportfs
/vol/vol0/home  -sec=sys,rw,nosuid
/vol/vol0       -sec=sys,rw,anon=0,nosuid
/vol/vol3       -sec=sys,rw=30.30.30.30,root=30.30.30.30
/vol/vol4       -sec=sys,rw=40.40.40.40,root=40.40.40.40
/vol/san_vol3   -sec=sys,rw,nosuid
/vol/san_vol4   -sec=sys,rw,nosuid


We run the 7MTT CFT workflow as far as the ‘Export & Halt’.

Image: 7MTT CFT ready to click ‘Export & Halt
 
Then we terminate CIFS and NFS on fas01 and fs02.


cifs terminate
nfs off


Image: Terminating CIFS and NFS before 7MTT CFT ‘Export & Halt’
 
Export & Halt is successful!

Image: 7MTT CFT Export & Halt is green!
 
We verify our cabling.

Image: 7MTT CFT cabling verified!
 
And now to import!
And the import is Successful.

Image: Successful import steps 11 - 17 (notice there is an ‘Applying NFS configurations’ but no ‘Applying CIFS configurations’)
 
Image: 7MTT CFT import steps 1 to 10.
 
The Result

The result is slightly unexpected.
As expected, none of the CIFS shares got transitioned due to our “CIFS terminate”.
Unexpectedly, the NFS exports came across.


cluster1::> cifs share show -fields share-name,path
vserver   share-name path
--------- ---------- ----
svm_fas01 admin$     /
svm_fas01 c$         /
svm_fas01 ipc$       /
svm_fas01 testvol1   /testvol1
svm_fas02 admin$     /
svm_fas02 c$         /
svm_fas02 ipc$       /
svm_fas02 testvol2   /testvol2
8 entries were displayed.

cluster1::> export-policy rule show -fields clientmatch
vserver   policyname                 ruleindex clientmatch
--------- -------------------------- --------- ------------
svm_fas01 transition_export_policy_1 1         192.168.0.61
svm_fas01 transition_export_policy_1 2         0.0.0.0/0
svm_fas01 transition_export_policy_2 1         0.0.0.0/0
svm_fas01 transition_export_policy_3 1         20.20.20.20
svm_fas01 transition_export_policy_4 1         0.0.0.0/0
svm_fas01 transition_readonly        1         0.0.0.0/0
svm_fas02 transition_export_policy_1 1         30.30.30.30
svm_fas02 transition_export_policy_2 1         0.0.0.0/0
svm_fas02 transition_export_policy_3 1         40.40.40.40
svm_fas02 transition_export_policy_4 1         0.0.0.0/0
svm_fas02 transition_readonly        1         0.0.0.0/0

cluster1::> volume show -fields policy -policy transition*
vserver   volume   policy
--------- -------- --------------------------
svm_fas01 san_vol1 transition_export_policy_2
svm_fas01 san_vol2 transition_export_policy_2
svm_fas01 svm_fas01_root transition_readonly
svm_fas01 vol0     transition_export_policy_4
svm_fas01 vol1     transition_export_policy_1
svm_fas01 vol2     transition_export_policy_3
svm_fas02 san_vol3 transition_export_policy_2
svm_fas02 san_vol4 transition_export_policy_2
svm_fas02 svm_fas02_root transition_readonly
svm_fas02 vol0     transition_export_policy_4
svm_fas02 vol3     transition_export_policy_1
svm_fas02 vol4     transition_export_policy_3


This makes me think, what if we’d done ‘cifs terminate -v’ on all the volumes being transitioned, instead of cifs terminate?

CIFS Terminate -v

I repeated the test, this time doing a ‘cifs terminate -v VOLNAME’ for every data volume with CIFS shares being transitioned.

Image: Running ‘cifs terminate -v VOLNAME’ before 7MTT CFT Export & Halt
 
And after completing the transition (completing the Import), we see our shares are transitioned!

Image: 7MTT CFT transition completed with shares transitioned!
 
Conclusion

Prior to performing a 7MTT CFT cutover, in order to terminate NFS and CIFS access - to ensure NAS client access is terminated - we can do an ‘nfs off’ and ‘cifs terminate -v VOLNAME’ (on every volume with CIFS shares being transitioned.)

CAVEAT LECTOR: Don’t take my word for it though, confirm with the relevant authorities.

No comments:

Post a Comment