NFS Howto Interop

From Linux NFS

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
-
Placeholder.
+
==== Using Linux NFS with Other OSes===
 +
Every operating system, Linux included, has quirks and deviations in the behavior of its NFS implementation -- sometimes because the protocols are vague, sometimes because they leave gaping security holes. Linux will work properly with all major vendors' NFS implementations, as far as we know. However, there may be extra steps involved to make sure the two OSes are communicating clearly with one another. This section details those steps.
 +
 
 +
In general, it is highly ill-advised to attempt to use a Linux machine with a kernel before 2.2.18 as an NFS server for non-Linux clients. Implementations with older kernels may work fine as clients; however if you are using one of these kernels and get stuck, the first piece of advice we would give is to upgrade your kernel and see if the problems go away. The user-space NFS implementations also do not work well with non-Linux clients.
 +
 
 +
Following is a list of known issues for using Linux together with major operating systems.
 +
===== AIX =====
 +
'''AIX Servers'''<br/>
 +
The format for the /etc/exports file for our example in [[NFS_Howto_Server|NFS Howto: Server Setup]] is:
 +
<pre>
 +
/usr  slave1.foo.com:slave2.foo.com,access=slave1.foo.com:slave2.foo.com
 +
/home  slave1.foo.com:slave2.foo.com,rw=slave1.foo.com:slave2.foo.com
 +
</pre>
 +
'''AIX Clients'''<br/>
 +
AIX uses the file ''/etc/filesystems'' instead of ''/etc/fstab''. A sample entry, based on the example in [[NFS_Howto_Client|NFS Howto: Client]] looks like this:
 +
<pre>
 +
/mnt/home:
 +
        dev            = "/home"
 +
        vfs            = nfs
 +
        nodename        = master.foo.com
 +
        mount          = true
 +
        options        = bg,hard,intr,rsize=1024,wsize=1024,vers=2,proto=udp
 +
        account        = false
 +
</pre>
 +
*Version 4.3.2 of AIX, and possibly earlier versions as well, requires that file systems be exported with the '''insecure''' option, which causes NFS to listen to requests from insecure ports (i.e., ports above 1024, to which non-root users can bind). Older versions of AIX do not seem to require this.
 +
*AIX clients will default to mounting version 3 NFS over TCP. If your Linux server does not support this, then you may need to specify '''vers=2''' and/or '''proto=udp''' in your mount options.
 +
*Using netmasks in ''/etc/exports'' seems to sometimes cause clients to lose mounts when another client is reset. This can be fixed by listing out hosts explicitly.
 +
*Apparently automount in AIX 4.3.2 is rather broken.
 +
===== BSD =====
 +
'''BSD Servers and Linux Clients'''<br/>
 +
BSD kernels tend to work better with larger block sizes.
 +
'''

Revision as of 13:51, 6 April 2006

= Using Linux NFS with Other OSes

Every operating system, Linux included, has quirks and deviations in the behavior of its NFS implementation -- sometimes because the protocols are vague, sometimes because they leave gaping security holes. Linux will work properly with all major vendors' NFS implementations, as far as we know. However, there may be extra steps involved to make sure the two OSes are communicating clearly with one another. This section details those steps.

In general, it is highly ill-advised to attempt to use a Linux machine with a kernel before 2.2.18 as an NFS server for non-Linux clients. Implementations with older kernels may work fine as clients; however if you are using one of these kernels and get stuck, the first piece of advice we would give is to upgrade your kernel and see if the problems go away. The user-space NFS implementations also do not work well with non-Linux clients.

Following is a list of known issues for using Linux together with major operating systems.

AIX

AIX Servers
The format for the /etc/exports file for our example in NFS Howto: Server Setup is:

/usr   slave1.foo.com:slave2.foo.com,access=slave1.foo.com:slave2.foo.com
/home  slave1.foo.com:slave2.foo.com,rw=slave1.foo.com:slave2.foo.com

AIX Clients
AIX uses the file /etc/filesystems instead of /etc/fstab. A sample entry, based on the example in NFS Howto: Client looks like this:

/mnt/home:
        dev             = "/home"
        vfs             = nfs
        nodename        = master.foo.com
        mount           = true
        options         = bg,hard,intr,rsize=1024,wsize=1024,vers=2,proto=udp
        account         = false
  • Version 4.3.2 of AIX, and possibly earlier versions as well, requires that file systems be exported with the insecure option, which causes NFS to listen to requests from insecure ports (i.e., ports above 1024, to which non-root users can bind). Older versions of AIX do not seem to require this.
  • AIX clients will default to mounting version 3 NFS over TCP. If your Linux server does not support this, then you may need to specify vers=2 and/or proto=udp in your mount options.
  • Using netmasks in /etc/exports seems to sometimes cause clients to lose mounts when another client is reset. This can be fixed by listing out hosts explicitly.
  • Apparently automount in AIX 4.3.2 is rather broken.
BSD

BSD Servers and Linux Clients
BSD kernels tend to work better with larger block sizes.

Personal tools