Subscribe
Accepted Solution

Any NMSDK API to identify the volume is NFS or block volume?

I used volumeGetIter API to tyr to see if the C-mode volume can be identified as NFS vlome or FC block volume. I do not see any filed I can use to indentify the volume type.

 

Thanks!

 

Re: Any NMSDK API to identify the volume is NFS or block volume?

There's no difference at the volume level between "block" and "file" FlexVols.  A "block" volume is simply a FlexVol that contains a LUN.

 

  • An NFS volume will have an export policy with one or more NFS rules enabled
  • An SMB volume will have an export policy with one or more CIFS/SMB rules enabled
  • A "block" volume will contain one or more LUNs.  To verify that the LUNs are in used looked for a mapped igroup.

 

So, there is no single API call which can determine if the volume is being used for block or file access.  Instead it's checking to see which protocols are enabled for the volume using the appropriate APIs.

 

Hope that helps.

 

Andrew

If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

Re: Any NMSDK API to identify the volume is NFS or block volume?

Thanks for the quick response! 

Is this statement true: a volume is what you map to for CIFS/NTFS, ie a file share, and a LUN is what you map to when using block-level services on the filer.

I thought vloume can be both NFS and block and lun can only be used as block storage.

Thanks again!

Re: Any NMSDK API to identify the volume is NFS or block volume?

Volumes are necessary in ONTAP regardless of protocol.  With SMB/CIFS/NFS the data is stored directly in the volume as files.  With iSCSI/FC/FCoE a LUN is created (which is also a file) in the volume and the clients connect to that LUN and place a file system on it.

 

Having a volume which has  LUN inside it and has SMB/CIFS/NFS access is dangerous because the LUN (remember, it's a file to WAFL) could potentially be manipulated through the file protocol.

 

Andrew

If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

Re: Any NMSDK API to identify the volume is NFS or block volume?

Hi,

The main difference between using a LUN or not is to decide who is the responsible for the File System.

In a LUN the servers connected to it are the responsible for maintaining the file system. The allocation table is stored in those servers. For the Ontap this is just a file with some data but meaningless.

If you just use a volume without using a LUN. The responsible for the for system is the Ontap (actually is the WAFL).


I am gonna try to put this way:

If you go to a restaurant and there is a valet service there you give your car with key to someone who will give back a ticket so you get your car back on exit. It is not your responsibility to park your car. This is like not having a LUN.

Instead if there is no valet service or you decide not to use it. You must park your car and on exit you must remember where is it, if it's raining you get wet but you are the one who will decide what to do with your car. That's like the LUN.

I hope this help you.

Sorry for any typo but I am using my mobile.