安装环境 Ubuntu 8.04 (Hardy) 安装NFS服务器 $ sudo apt-get install nfs-kernel-server nfs-common portmap 注意: 当配置portmap的时候不要绑定loopback. 你可以使用下面的命令编辑/etc/default/portmap $ sudo vi /etc/default/portmap 或者 $ sudo dpkg-reconfigure portmap 编辑完后重启portmap $ sudo /etc/init.d/portmap restart NFS服务器配置 NFS的输出是通过/etc/exports这个配置文件控制的. 每一行以要输出的目录的绝对路径开始,后跟允许访问的客户端,以空白分隔符分开(tab)。 一些exports文件的quick examples: 允许一个网段上的所有机器都有完全读写权限 /files 192.168.1.1/24(rw,no_root_squash,async) 只允许单台机器以只读权限访问 /files 192.168.1.2 (ro,async) 客户端可以使用主机明或者IP地址指定。在主机名中可以使用通配符(*),IP地址后也可以跟掩码段(/24),但出于安全原因这种情况应该尽量避免。 客户端的说明后可在圆括号中加入一系列参数。注意,很重要的一点,不要在最后一个客户端声明的后面留下任何空白或者没关闭括号,因为空白都被解释成客户端的分隔符。 常用参数: ro:只读访问 rw:读写访问 sync:所有数据在请求时写入共享 async:NFS在写入数据前可以相应请求 secure:NFS通过1024以下的安全TCP/IP端口发送 insecure:NFS通过1024以上的端口发送 wdelay:如果多个用户要写入NFS目录,则归组写入(默认) no_wdelay:如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 hide:在NFS共享目录中不共享其子目录 no_hide:共享NFS目录的子目录 subtree_check:如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) no_subtree_check:和上面相对,不检查父目录权限 all_squash:共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 no_all_squash:保留共享文件的UID和GID(默认) root_squash:root用户的所有请求映射成如anonymous用户一样的权限(默认) no_root_squas:root用户具有根目录的完全管理访问权限 anonuid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的UID anongid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的GID 重启nfs服务 $ sudo /etc/init.d/nfs-kernel-server restart 如果在运行NFS服务的时候修改了/etc/exports,可执行下面命令让配置生效 $ sudo exportfs -a 安装NFS客户端支持 $ sudo apt-get install portmap nfs-common 这会安装所有nfs客户端需要的包 手动挂载 举 例说明,要挂载server.mydomain.com:/files到本机的/files文件夹。server.mydomian.com是提供nfs 共享服务的服务器名,files是nfs服务器上共享的文件夹名,挂载点/files必须在客户端机器上存在,如没有需要手动创建 创建挂载点 $ sudo mkdir files 挂载 $ sudo mount server.mydomain.com:/files /files 完成后即可在客户端访问nfs服务器上共享的文件夹 重启nfs服务 $ sudo /etc/init.d/portmap restart $ sudo /etc/init.d/nfs-common restart 使用/etc/fstab实现自动挂载 $ sudo gedit /etc/fstab 举例: server.mydomain.com:/files /files nfs rsize=8192,wsize=8192,timeo=14,intr 你可以根据你的实际情况修改nfs服务器共享文件夹“servername.mydomain.com:/files”和在本机的挂载点“/files”. nfs常见挂载参数: timeo: 如果超时,客户端等待的时间,以十分之一秒计算 retrans: 超时尝试的次数。 bg: 后台挂载,很有用 hard: 如果server端没有响应,那么客户端一直尝试挂载 wsize: 写块大小 rsize: 读块大小 intr: 可以中断不成功的挂载 noatime: 不更新文件的inode访问时间,可以提高速度 async: 异步读写 NFS防火墙端口 如果你有防火墙,请确保32771, 111和2049端口保持开放 测试 $ mount /files 看看挂载成功与否 参考文章 NFS Server and Client Configuration in Ubuntu |
|