Jump to: navigation, search

Talk:Manila/Networking

Revision as of 23:12, 26 September 2013 by Caitlinbestler (talk | contribs) (Created page with "-- Caitlin Bestler -- I think the taxonomy of "Frontends" would be better organized by focusing on the protocol in use. "Hypervisor Mediated" is essentially creating a new "...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

-- Caitlin Bestler --

I think the taxonomy of "Frontends" would be better organized by focusing on the protocol in use.

"Hypervisor Mediated" is essentially creating a new "virtFS" protocol over the virtualization bus. The "virtFS" interface talks to a proxy using virtualization-bus encodings of file system operations. The gateway translates them info NFS/CIFS/whatever operations. It might also do some local caching.

With both "Network Plumbing" and "Gateway Mediated" the end user is sending NAS packets (NFS, CIFS, whatever) over a network created by Network Plumbing for that purpose. A proxy/gateway/server is at the other end of that network. If it is a gateway/proxy it validates the request and forwards it to the real server.

The difference between "Network Plumbing" and "Gateway Mediated" is that in the first case the wizardry is in setting up a virtual network for a tenant that connects its clients and the tenant specific servers. In the second case it is a much more limited network that connects one or more clients with a gateway machine, perhaps only over a virtualization bus. But it could easily be a rack-wide bus where each rack in a data center thought it had the same network.

I did a presentation on this 2 years ago: www-archive.xenproject.org/files/xensummit_santaclara11/aug2/11_Bestler_Tailoring_NAS_Proxies_for_Virtual_Machines.pdf


The "Flat network" model essentially extends NAS protocols to slip in necessary tenant information, but tries very hard not to modify NAS protocols. The fact that it is working against itself is why we need to carefully examine everything we propose in this solution. We would be building a meta-protocol which should enable most client-server communications to be unmodified, but we would be setting up the mappings over the same network. The two "network plumbing" options are obviously much safer.