sahlberg / libnfs-python

Python bindings for libnfs
GNU Lesser General Public License v2.1
64 stars 34 forks source link

Does this project supports nfs version=4.1? #32

Closed AlexKingGo closed 5 years ago

AlexKingGo commented 5 years ago

Hi there. I want to know can I use this api to connect nfs4.1 server?

sahlberg commented 5 years ago

Right now it only supports v3 and and v4.0 so there is no protocol support for 4.1 in libnfs.

It is possible to update the protocol description to use 4.1 but I am not sure any of the new features in the protocol would be very useful to implement in libnfs.

That said, you should be able to connect to a 4.1 server just fine with the current libnfs. Any server that supports 4.1 will also support 4.0.

I.e. you can use libnfs right now and access data on a 4.1 server since they all support the older protocol as well.

AlexKingGo commented 5 years ago

Right now it only supports v3 and and v4.0 so there is no protocol support for 4.1 in libnfs.

It is possible to update the protocol description to use 4.1 but I am not sure any of the new features in the protocol would be very useful to implement in libnfs.

That said, you should be able to connect to a 4.1 server just fine with the current libnfs. Any server that supports 4.1 will also support 4.0.

I.e. you can use libnfs right now and access data on a 4.1 server since they all support the older protocol as well.

Thank you very much! Now I need develope a presure test tool of nfs v4.1 server . according to your description, does it mean that i can't use the python-client unless i modify the protocol description in the libnfs? Sorry about my poor english.

sahlberg commented 5 years ago

It depends on exactly what you want to test. Do you want to test the specific new protocol features in v4.1 or do you just want to do load/pressure testing against a 4.1 server (which also supports 4.0).

4.1 is just a small extenstion to 4.0 and it mainly adds pNFS support and support for directory delegation. Outside of these two features 4.1 is basically identical to 4.0.

So it depends on what you want to test. If you want to test the pNFS features in 4.1 or directory delegation, then you can not use libnfs.

If you just want do load/pressure tests, for example doing a lot of file i/o but NOT using pNFS then libnfs as it is should work just fine since there is no difference between 4.0 and 4.1 in this regard. The protocol is unchanged in this area.

You can run NFSv4.0 clients just fine against any NFSv4.1 servers, and the opposite is true too. The two versions are compatible. The only difference is that if you want to use specific features like pNFS then both client and server must be 4.1. If you don't care about pNFS then it does not matter and you can treat 4.0 and 4.1 as the same.

sahlberg commented 5 years ago

So to rephrase,

libnfs does not support pNFS, so if you want to test pNFS then you can not use libnfs.

Otherwise, If you just want to build a generic load/pressure test for a v4.0 or v4.1 server then libnfs will work just fine.

AlexKingGo commented 5 years ago

Thank you very much for your generous answer! Also thank you and the development team for developing such a great tool library.