RE: [PATCH 0/5] nfs: Add mount option for forcing RPC requests for one file over one connection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 > > On Mar 23, 2021, at 12:29 PM, Nagendra Tomar
> <Nagendra.Tomar@xxxxxxxxxxxxx> wrote:
> >
> >>> On Mar 23, 2021, at 11:57 AM, Nagendra Tomar
> >> <Nagendra.Tomar@xxxxxxxxxxxxx> wrote:
> >>>
> >>>>> On Mar 23, 2021, at 1:46 AM, Nagendra Tomar
> >>>> <Nagendra.Tomar@xxxxxxxxxxxxx> wrote:
> >>>>>
> >>>>> From: Nagendra S Tomar <natomar@xxxxxxxxxxxxx>
> >>>>
> >>>> The flexfiles layout can handle an NFSv4.1 client and NFSv3 data
> >>>> servers. In fact it was designed for exactly this kind of mix of
> >>>> NFS versions.
> >>>>
> >>>> No client code change will be necessary -- there are a lot more
> >>>> clients than servers. The MDS can be made to work smartly in
> >>>> concert with the load balancer, over time; or it can adopt other
> >>>> clever strategies.
> >>>>
> >>>> IMHO pNFS is the better long-term strategy here.
> >>>
> >>> The fundamental difference here is that the clustered NFSv3 server
> >>> is available over a single virtual IP, so IIUC even if we were to use
> >>> NFSv41 with flexfiles layout, all it can handover to the client is that single
> >>> (load-balanced) virtual IP and now when the clients do connect to the
> >>> NFSv3 DS we still have the same issue. Am I understanding you right?
> >>> Can you pls elaborate what you mean by "MDS can be made to work
> >>> smartly in concert with the load balancer"?
> >>
> >> I had thought there were multiple NFSv3 server targets in play.
> >>
> >> If the load balancer is making them look like a single IP address,
> >> then take it out of the equation: expose all the NFSv3 servers to
> >> the clients and let the MDS direct operations to each data server.
> >>
> >> AIUI this is the approach (without the use of NFSv3) taken by
> >> NetApp next generation clusters.
> >
> > Yeah, if could have clients access all the NFSv3 servers then I agree, pNFS
> > would be a viable option. Unfortunately that's not an option in this case. The
> > cluster has 100's of nodes and it's not an on-prem server, but a cloud service,
> > so the simplicity of the single LB VIP is critical.
> 
> The clients mount only the MDS. The MDS provides the DS addresses, they are
> not exposed to client administrators. If the MDS adopts the load balancer's IP
> address, then the clients would simply mount that same server address using
> NFSv4.1.

I understand/agree with the "client mounts the single MDS IP" part. What I meant 
by "simplicity of the single LB VIP" is to not having to have so many routable 
IP addresses, since the clients could be on a (very) different network than the 
storage cluster they are accessing, even though client admins will not deal with
those addresses themselves, as you mention.

> 
> The other alternative is to make the load balancer sniff the FH from each
> NFS request and direct it to a consistent NFSv3 DS. I still prefer that
> over adding a very special-case mount option to the Linux client. Again,
> you'd be deploying a code change in one place, under your control, instead
> of on 100's of clients.

That is one option but that makes LB application aware and potentially less 
performant. Appreciate your suggestion, though!
I was hoping that such a client side change could be useful to possibly more 
users with similar setups, after all file->connection affinity doesn't sound too 
arcane and one can think of benefits of one node processing one file. No?

> 
> 
> --
> Chuck Lever
> 
> 





[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux