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

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
看看挂载成功与否

你可能感兴趣的:(Ubuntu下配置NFS服务器和客户端)