ONTAP Discussions
ONTAP Discussions
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!
How do you know it is a qtree and not just a directory?
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.
Qtrees View:
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
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!
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.
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.
Hello rwelshman,
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?
@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
>>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?
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.
Kudos?? 😉
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?