ONTAP Discussions

Could not find the qtree on cDOT cluster but mounted on a host

netappmagic
9,158 Views

A qtree can be mounted on a host, so obviously it has been exported.

However, I could not find it from the cDOT filer, not from System Manager GUI, not from "qtree show" command. Under the volume, I don't see such qtree.

 

What am I missing here? Any other ways to show me the qtree on the cluster?

 

Thanks!

10 REPLIES 10

rwelshman
9,089 Views

How do you know it is a qtree and not just a directory?

hadrian
9,084 Views

Hello netappmagic,

 

Good question.  I do transition consulting for NetApp and this is a common question.  With a clustered Data ONTAP namespace any volume which is junctioned into the storage virtual machine namespace will be exported using the default export policy unless otherwise specified.  Any qtree within a volume will be exported using the inherited export policy from the parent volume or a qtree specific export policy.   You can view and adjust export policies in System Manager or the CLI.    

 

GUI View:  In System Manager, you view the exported Volumes in the Storage Virtual Machine Namespace section.  You view exported Qtrees in the qtrees listing.

 

Volumes Example - Namespace.  Here the Path specified indicates the Junction path, or what your NFS clients will mount.  Such as svm:/volume.  The Namespace section of System Manager will only show the Volumes. 

 

sysmgr-volume-namespace.jpg

 

 

Qtrees View:

sysmgr-qtree-namespace.jpg

 

To view what hosts or protocols (NFS, SMB, etc) are allowed to that export policy, like qtree project_weaponx has export poilcy prodlinux, you would go to the Policies of the SVM and you can view Export Policies there. 

 

 Since I know you happen to prefer the CLI, here are some useful commands to view what the junction paths look like, and to view the export policies as well for volumes.

 

CLI Volume View:

 

# Tip - use the 'rows 0' to disable pagination and the '-fields' parameter to limit output to only what you seek

skynet::> volume show -vserver hadrian_skyvs1 -fields junction-path,policy
vserver        volume              policy  junction-path
-------------- ------------------- ------- -------------
hadrian_skyvs1 hadrian_skyvs1_root hadrian /
hadrian_skyvs1 node2_unix_dst      default -
hadrian_skyvs1 unix                hadrian /unix
hadrian_skyvs1 vs1test_CIFS_volume default /vs1test_CIFS_volume
4 entries were displayed.

skynet::>

skynet::> export-policy rule show -vserver hadrian_skyvs1
             Policy          Rule    Access   Client                RO
Vserver      Name            Index   Protocol Match                 Rule
------------ --------------- ------  -------- --------------------- ---------
hadrian_skyvs1
             default         1       nfs      10.26.13.170          any
hadrian_skyvs1
             default         2       nfs      0.0.0.0               any
hadrian_skyvs1
             hadrian         1       nfs      10.26.13.0/24         any
hadrian_skyvs1
             hadrian         2       nfs      10.26.109.0/24        any
hadrian_skyvs1
             prodlinux       1       any      10.26.13.0/24         sys
5 entries were displayed.

skynet::>

CLI Qtree View:

 

# Tip:  To only show non-volume qtrees, tell the qtree show command to exclude "" using the -qtree !"" parameter

 

skynet::>
skynet::> qtree show -vserver hadrian_skyvs1 -fields export-policy,is-export-policy-inherited
vserver        volume              qtree export-policy is-export-policy-inherited
-------------- ------------------- ----- ------------- --------------------------
hadrian_skyvs1 hadrian_skyvs1_root ""    hadrian       true
hadrian_skyvs1 node2_unix_dst      ""    default       true
hadrian_skyvs1 node2_unix_dst      marketing
                                         default       true
hadrian_skyvs1 node2_unix_dst      mixed default       true
hadrian_skyvs1 node2_unix_dst      project_weaponx
                                         default       true
hadrian_skyvs1 unix                ""    hadrian       true
hadrian_skyvs1 unix                marketing
                                         prodlinux     false
hadrian_skyvs1 unix                mixed hadrian       true
hadrian_skyvs1 unix                project_weaponx
                                         prodlinux     false
hadrian_skyvs1 vs1test_CIFS_volume ""    default       true
10 entries were displayed.

skynet::>
skynet::>
skynet::> qtree show -vserver hadrian_skyvs1 -qtree !"" -fields export-policy,is-export-policy-inherited
vserver        volume         qtree     export-policy is-export-policy-inherited
-------------- -------------- --------- ------------- --------------------------
hadrian_skyvs1 node2_unix_dst marketing default       true
hadrian_skyvs1 node2_unix_dst mixed     default       true
hadrian_skyvs1 node2_unix_dst project_weaponx
                                        default       true
hadrian_skyvs1 unix           marketing prodlinux     false
hadrian_skyvs1 unix           mixed     hadrian       true
hadrian_skyvs1 unix           project_weaponx
                                        prodlinux     false
6 entries were displayed.

skynet::>

 

 

CLI View of connected NFS clients listed by Vserver and LIF:

 

skynet::> network connections active show -node skynet-0* -service nfs* -vserver hadrian_skyvs1
Vserver    Interface              Remote
Name       Name:Local Port        Host:Port                    Protocol/Service
---------- ---------------------- ---------------------------- ----------------
Node: skynet-02
hadrian_skyvs1
           hadrian_skyvs1_cifs_nfs_lif1:2049
                                  10.26.13.203:705             TCP/nfs

skynet::>

 

Please hit the Kudos button if you found this post helpful!

 

 

Hadrian

 

netappmagic
9,039 Views

Hello Hadrian,

 

I am not sure if we are talking about the same thing.

 

A name "xyz" under the volume "oracle" is mounted on a local Linux host, but I could not find it in the qtree list, nor under namespace. Could a directory under a volume be mounted on a local host as previous poster indicated? Could "xyz" just be a directory?

 

 

Please get back to me because it is really bothering me. Thank you!

 

netappmagic
9,028 Views

One more question about your pasted GUI.

 

What did you do to have "export Policy" as one of columns listed in your qtree list GUI? Since in my qtree list, I don't

have such column there, only in volume/namespace GUI.

rwelshman
9,007 Views

You can mount a directory that has been created within the volume - as long as you are in the export policy for the volume itself.

 

netappmagic
8,980 Views

Hello ,

 

Thanks for getting back to me!

 

1.     If it is not a volume, and not qtree, then it has to be a directory and exported to the client, this is how you determined? Any particular mounting options required on the client when mount the directory?

 

2.     Can I a cifs share also be mounted on a client as NFS, and what are required settings and/or mounting options on the client?

 

 

 

hadrian
8,968 Views

@netappmagic wrote:

Hello @rwelshman,

 


A name "xyz" under the volume "oracle" is mounted on a local Linux host, but I could not find it in the qtree list, nor under namespace. Could a directory under a volume be mounted on a local host as previous poster indicated? Could "xyz" just be a directory?


What did you do to have "export Policy" as one of columns listed in your qtree list GUI? Since in my qtree list, I don't have such column there, only in volume/namespace GUI.


1. If it is not a volume, and not qtree, then it has to be a directory and exported to the client, this is how you determined? Any particular mounting options required on the client when mount the directory?

 

2. Can I a cifs share also be mounted on a client as NFS, and what are required settings and/or mounting options on the client?

 

 

 


 

Correct, xyz is mounted and it is not a volume or qtree.  It is likely a subdirectory.  You can mount a subdirectory from a linux client,  but the export policy would be defined at the volume or qtree level granularity only.   That is why I suggested looking at the namespace and the export policies, since you can't use System Manager to look at your subdirectories =).  There are no special mounting parameters to mount a subdirectory, only that the export policy of the parent path (vol/qtree) and the unix permissions need to be open to allow it. 

 

If you cannot see export policies listed for qtrees in System Manager, you may be running an older version of System Manager.  Check for an upgrade. 

 

Finally, it could be a CIFS share as well, when you mount CIFS shares from a linux client you have to specify the protocol and make sure the permissions and optionally name mapping is correct depending on the volume/qtree security.  Check out the Multiprotocol express guide here for more info:  CIFS and NFS Multiprotocol Express Guide

 

[root@pscentos ~]#
[root@pscentos ~]# mount 10.26.13.170:/unix/project_weaponx /mnt/weaponx
[root@pscentos ~]#
[root@pscentos ~]#
[root@pscentos ~]# ls /mnt/weaponx
biglinux  mysecretsubdir
[root@pscentos ~]#
[root@pscentos ~]# logger "Ahh!  Let's mount my secret dir instead of the qtree"
[root@pscentos ~]#
[root@pscentos ~]# umount /mnt/weaponx
[root@pscentos ~]#
[root@pscentos ~]# mount 10.26.13.170:/unix/project_weaponx/mysecretsubdir  /mnt/weaponx
[root@pscentos ~]#
[root@pscentos ~]# mount | grep -i weaponx
10.26.13.170:/unix/project_weaponx/mysecretsubdir on /mnt/weaponx type nfs (rw,addr=10.26.13.170)
[root@pscentos ~]# 

 

So there you have it.  You take a look at the mounted file systems on your linux client.  If it is mounted on a subdirectory, then something in the destination path should match what you are seeing for exported volumes or qtrees, or CIFS shares.   In the above example, 10.26.13.170 is the Data LIF of the storage virtual machine, /unix is the volume, /project_weaponx is the qtree, and mysecretsubdir is your nefarious subdirectory. 

 

Hope this got it covered!

 

Hadrian

 

netappmagic
8,956 Views

>>If you cannot see export policies listed for qtrees in System Manager, you may be running an older version of System Manager.  Check for an upgrade. 

 

I am using SM version 3.1.2RC2, which is the latest version. But, there is no "export policy" column in QTREE GUI. Any other ideas?

hadrian
8,952 Views

Sure, I've got ideas for that!

 

My examples are showing the onbox System Manager by accessing the http://cluster-lif of an 8.3 cluster.  If you are using off-box system manager, try doing the onbox.

 

Also - System Manager has the ability to change the columns displayed, as seen in the screenshot. 

 

ocsm_columns.jpg

 

Kudos??  😉

netappmagic
6,712 Views

I know SM can adjust the column you can see, but "Export Policy" is not listed at all.

 

I guess I am ussing off-box SM, since I get to it by clicking on the icon on my desktop.

 

In your URL http://cluster-lif,  what cluster-lif should I choose if I run "net int show" ? I used http://cluster_mgmt, but it brings me to NA support page.

 

I am using 8.2, not 8.3, may be this is why I don't see the column?

Public