您的位置:首页 > 其它

Ubuntu下配置NFS服务器和客户端

2012-05-30 09:36 295 查看
Ubuntu下配置NFS服务器和客户端

安装环境

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

看看挂载成功与否
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: