您的位置:首页 > 其它

debian上安装nfs服务器

2007-06-04 10:40 218 查看

安装:

#apt-get install nfs-common portmap(客户端)

#apt-get install nfs-kernel-server nfs-common portmap(服务器)

配置

安装好NFS服务器后,/etc下会有一个NFS的配置文件exports,初次配置时此文件是空的,需要向该文件中添加内容。此文件的格式在exports(5)中,具体可以man一下,这里举一些例子:

#File system to share Allowed client hosts (optional list)

/nfs_server 192.168.1.123(rw,no_root_squash)

解释:
第一行是注释,提醒exports文件的格式;
后面每一行都列出了要共享的文件系统以、可以访问文件系统的主机,还指定了可以访问文件系统主机的可能方式:

使用通配符(*.zju.edu.cn),表示在.zju.edu.cn域中的所有主机都可以访问/usr/local文件系统;

使用NIS网络组(在NIS网络组dept_hosts中的所有主机都可以安装/var/mail文件系统)。注意,这个例子只有在使用NIS的情况下有效。

使用IP地址(所有IP地址在10.13.72.6/12范围内的主机都可以访问/var/spool/news)

每一行中还列出了一些可选项,以指明访问权限:

ro: readonly; rw: readwrite;

async选项指定了使用NFSv3中的文件服务器向磁盘写入数据的方式,允许服务器在完成写数据之前向客户端返回结果,故是异步的。

Sync:可想而知,它应该在向客户端返回控制权以前就应完成数据的写入。这是NFSv2的方法。

root_squash: 表示客户端上的root用户应该映射为服务器上的nobody用户的UID。通常在所有的NFS设置中都需要这样做,否则的话客户端上的root用户就会在服务器的输出文件系统中具有root的特权了。

All_squash: 这个选项把root_squash扩展为所有的用户,即客户端上的所有UID都映射为服务器上的nobody用户的UID。

启动

在准备好共享文件后,需要启动文件服务以处理客户端请求的程序和守护进程:exportfs(8), rpc.quotad(8c), rpc.muntd(8), rpc.nfsd(8)。启动以上这些程序和守护进程的最简单方式是运行/etc/init.d/nfs-kernel-server start命令(root 身份)。

一些操作实例

Exportfs(8)命令用来维护服务器当前的共享文件系统表,这个表就是/var/lib/nfs/xtab。对于典型的NFS服务器来说,exportfs要使用-r选项开始运行,这样可以将内存中的/var/lib/nfs/xtab文件与/etc/exports文件进行同步。因此当我们对exports文件作了修改,则需要手工运行exportfs –r。注意,不要手动编辑/var/lib/nfs/xtab文件,而要使用exportfs命令。
还有一种情况是我们只想临时性的共享一个目录,因此不想编辑/etc/exports文件,这可以通过以下方式做到:
exportfs –o –ro 10.13.72.6: /mnt/cdrom
这样,cdrom的共享是临时性的,在系统重启后不再输出。当然,我们可以使用以下命令来收回cdrom的共享:
exportfs –u 10.13.72.6: /mnt/cdrom
另一个值得注意的地方是,当我们需要增加一个共享文件系统时,在编辑好/etc/exports文件后,要使用exportfs命令进行同步。但exportfs同步命令有两个选项 –a和-r。如果当前的共享文件中存在临时的文件系统,则使用exportfs –r后,/var/lib/nfs/xtab和/etc/exports文件完全同步,导致临时共享文件系统会被系统收回。而exportfs –a命令可以保持当前共享的文件系统,只添加在/etc/exports文件中列出的所有文件系统。
最后,可以通过exportfs –v(详细模式)来查看当前共享的文件系统。

补上NFS客户端推荐的参数配置

nfsvers=3,wsize=32768,rsize=32768,rw,bg,intr,hard,tcp
参数 意义
nfsvers=3 NFSv3,默认是 NFSv2,而 NFSv4 比较复杂,不是所有内核都支持。
wsize=32768 设置 32K 的写缓存,对于 UDP 方式来说,8K 是推荐值。
rsize=32768 设置 32K 的读缓存,对于 TCP 方式来说,32K 是推荐值。
rw 读写方式,根据权限需要有时也设置为 ro(read only)
bg 如果安装失败(服务器没有响应), 在后台一直尝试,继续发其他的安装请求
hard 如果服务器当机,让试图访问它的操作被阻塞,直到服务器恢复为止
intr 允许用户中断被阻塞的操作(并且让它们返回一条错误消息)
tcp 选择通过 TCP 来传输,默认的 UDP 不好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: