Mailing List Archive

Exports of deep subdirs
Hey Toasters…

In 7-mode systems, I have some exports down in the subdirectory levels.

Top is a volume. Dir1 and dir2 are Qtrees

/top -sec=sys,rw=client1,client2
/top/dir1 –sec=sys,rw=client3
/top/dir2 –sec=sys,rw=client4
/top/dir2/host /host5 –sec=sys,rw=client5
/top/dir2/host/host6 –sec=sys,rw=client6

I know I can have different export policies on /top and one each qtree.

Is making the directories “host5” and “host6” above completely separate
volumes and mounting them via junction paths under ‘host’ really the only
way to give them their own export policy?
My goal here is that client5 can mount only /top/dir/hosts/host5 and
client6 can mount only /top/dir/hosts/host6. But client1,2 can mount /top
and be able to cd down the tree to see both host5 and host6 directories.

It seems to me that being able to export arbitrary directories is kind of a
fundamental feature of NFS.. It’s hard to imagine that it won’t do that and
they can still call it an “NFS server”

I’m new to cdot.. so thought I would ask what others are doing.

Thanks.
RE: Exports of deep subdirs [ In reply to ]
We can’t export subdirectories in ONTAP currently. We can export volumes and qtrees (which live directly under volumes).

That said, we do allow you to built a junction path tree which can provide exports at each level of the structure.

So basically, you’d do:

Vol1 -> qtree1 -> vol2 -> qtree2

Those all appear to the client as a directory.

That would let you export each folder.

In your case, I assume “top” is a namespace and doesn’t have actual data.

So you could create a folder or qtree in vsroot (which is / in the namespace) called “top.” That gives you /top.

Then you could use the aforementioned volume/qtree combinations to do your export tree.

If you haven’t looked already, TR-4067 also has some information on NFS in cDOT:

https://www.netapp.com/us/media/tr-4067.pdf

From: Toasters <toasters-bounces@teaparty.net> On Behalf Of John Adams
Sent: Tuesday, July 28, 2020 11:24 AM
To: toasters@teaparty.net
Subject: Exports of deep subdirs

NetApp Security WARNING: This is an external email. Do not click links or open attachments unless you recognize the sender and know the content is safe.


Hey Toasters…

In 7-mode systems, I have some exports down in the subdirectory levels.

Top is a volume. Dir1 and dir2 are Qtrees

/top -sec=sys,rw=client1,client2
/top/dir1 –sec=sys,rw=client3
/top/dir2 –sec=sys,rw=client4
/top/dir2/host /host5 –sec=sys,rw=client5
/top/dir2/host/host6 –sec=sys,rw=client6

I know I can have different export policies on /top and one each qtree.

Is making the directories “host5” and “host6” above completely separate volumes and mounting them via junction paths under ‘host’ really the only way to give them their own export policy?
My goal here is that client5 can mount only /top/dir/hosts/host5 and client6 can mount only /top/dir/hosts/host6. But client1,2 can mount /top and be able to cd down the tree to see both host5 and host6 directories.

It seems to me that being able to export arbitrary directories is kind of a fundamental feature of NFS.. It’s hard to imagine that it won’t do that and they can still call it an “NFS server”

I’m new to cdot.. so thought I would ask what others are doing.

Thanks.
Re: Exports of deep subdirs [ In reply to ]
HI Justin, Thank you for the response.
But basically if I ever want to export an arbitrary folder (deeper than
volume or qtree level) from this point forward in the life of the filer..
I would have to create a new volume, copy the data into that volume, export
that volume and then mount that volume via a junction path at the location
in the tree where the directory was.
This in sharp contrast to: Adding a line to the exports file and running
exportfs -a.
Am I correct?
Also, you said 'currently'... does that mean there are plans to restore
this functionality to the NFS server?

I'll also do a deep dive into that updated TR.

Thanks!

On Tue, Jul 28, 2020 at 12:33 PM Parisi, Justin <Justin.Parisi@netapp.com>
wrote:

> We can’t export subdirectories in ONTAP currently. We can export volumes
> and qtrees (which live directly under volumes).
>
>
>
> That said, we do allow you to built a junction path tree which can provide
> exports at each level of the structure.
>
>
>
> So basically, you’d do:
>
>
>
> Vol1 -> qtree1 -> vol2 -> qtree2
>
>
>
> Those all appear to the client as a directory.
>
>
>
> That would let you export each folder.
>
>
>
> In your case, I assume “top” is a namespace and doesn’t have actual data.
>
>
>
> So you could create a folder or qtree in vsroot (which is / in the
> namespace) called “top.” That gives you /top.
>
>
>
> Then you could use the aforementioned volume/qtree combinations to do your
> export tree.
>
>
>
> If you haven’t looked already, TR-4067 also has some information on NFS in
> cDOT:
>
>
>
> https://www.netapp.com/us/media/tr-4067.pdf
>
>
>
> *From:* Toasters <toasters-bounces@teaparty.net> *On Behalf Of *John Adams
> *Sent:* Tuesday, July 28, 2020 11:24 AM
> *To:* toasters@teaparty.net
> *Subject:* Exports of deep subdirs
>
>
>
> *NetApp Security WARNING*: This is an external email. Do not click links
> or open attachments unless you recognize the sender and know the content is
> safe.
>
>
>
> Hey Toasters…
>
> In 7-mode systems, I have some exports down in the subdirectory levels.
>
> Top is a volume. Dir1 and dir2 are Qtrees
>
> /top -sec=sys,rw=client1,client2
> /top/dir1 –sec=sys,rw=client3
> /top/dir2 –sec=sys,rw=client4
> /top/dir2/host /host5 –sec=sys,rw=client5
> /top/dir2/host/host6 –sec=sys,rw=client6
>
> I know I can have different export policies on /top and one each qtree.
>
> Is making the directories “host5” and “host6” above completely separate
> volumes and mounting them via junction paths under ‘host’ really the only
> way to give them their own export policy?
> My goal here is that client5 can mount only /top/dir/hosts/host5 and
> client6 can mount only /top/dir/hosts/host6. But client1,2 can mount /top
> and be able to cd down the tree to see both host5 and host6 directories.
>
> It seems to me that being able to export arbitrary directories is kind of
> a fundamental feature of NFS.. It’s hard to imagine that it won’t do that
> and they can still call it an “NFS server”
>
> I’m new to cdot.. so thought I would ask what others are doing.
>
> Thanks.
>
RE: Exports of deep subdirs [ In reply to ]
I can’t comment on futures, especially on a public DL. ????

But yea, there’s no way to do what you did in 7-Mode currently.

From: John Adams <intheyc@gmail.com>
Sent: Tuesday, July 28, 2020 1:12 PM
To: Parisi, Justin <Justin.Parisi@netapp.com>
Cc: toasters@teaparty.net
Subject: Re: Exports of deep subdirs

NetApp Security WARNING: This is an external email. Do not click links or open attachments unless you recognize the sender and know the content is safe.


HI Justin, Thank you for the response.
But basically if I ever want to export an arbitrary folder (deeper than volume or qtree level) from this point forward in the life of the filer.. I would have to create a new volume, copy the data into that volume, export that volume and then mount that volume via a junction path at the location in the tree where the directory was.
This in sharp contrast to: Adding a line to the exports file and running exportfs -a.
Am I correct?
Also, you said 'currently'... does that mean there are plans to restore this functionality to the NFS server?

I'll also do a deep dive into that updated TR.

Thanks!

On Tue, Jul 28, 2020 at 12:33 PM Parisi, Justin <Justin.Parisi@netapp.com<mailto:Justin.Parisi@netapp.com>> wrote:
We can’t export subdirectories in ONTAP currently. We can export volumes and qtrees (which live directly under volumes).

That said, we do allow you to built a junction path tree which can provide exports at each level of the structure.

So basically, you’d do:

Vol1 -> qtree1 -> vol2 -> qtree2

Those all appear to the client as a directory.

That would let you export each folder.

In your case, I assume “top” is a namespace and doesn’t have actual data.

So you could create a folder or qtree in vsroot (which is / in the namespace) called “top.” That gives you /top.

Then you could use the aforementioned volume/qtree combinations to do your export tree.

If you haven’t looked already, TR-4067 also has some information on NFS in cDOT:

https://www.netapp.com/us/media/tr-4067.pdf

From: Toasters <toasters-bounces@teaparty.net<mailto:toasters-bounces@teaparty.net>> On Behalf Of John Adams
Sent: Tuesday, July 28, 2020 11:24 AM
To: toasters@teaparty.net<mailto:toasters@teaparty.net>
Subject: Exports of deep subdirs

NetApp Security WARNING: This is an external email. Do not click links or open attachments unless you recognize the sender and know the content is safe.

Hey Toasters…

In 7-mode systems, I have some exports down in the subdirectory levels.

Top is a volume. Dir1 and dir2 are Qtrees

/top -sec=sys,rw=client1,client2
/top/dir1 –sec=sys,rw=client3
/top/dir2 –sec=sys,rw=client4
/top/dir2/host /host5 –sec=sys,rw=client5
/top/dir2/host/host6 –sec=sys,rw=client6

I know I can have different export policies on /top and one each qtree.

Is making the directories “host5” and “host6” above completely separate volumes and mounting them via junction paths under ‘host’ really the only way to give them their own export policy?
My goal here is that client5 can mount only /top/dir/hosts/host5 and client6 can mount only /top/dir/hosts/host6. But client1,2 can mount /top and be able to cd down the tree to see both host5 and host6 directories.

It seems to me that being able to export arbitrary directories is kind of a fundamental feature of NFS.. It’s hard to imagine that it won’t do that and they can still call it an “NFS server”

I’m new to cdot.. so thought I would ask what others are doing.

Thanks.