曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 6572|回复: 0
打印 上一主题 下一主题

[SUSE] NFS 服务器配置及客户端应用

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2009-5-18 16:39:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
系统环境: openSUSE 11.1

配置共享目录,编辑 /etc/exports 文件,在其中添加
/home/beyes/Software 192.168.0.104 (rw)
注意,这里只允许 192.168.0.104 这个 IP 访问此共享目录,并且具有读写权限,后面的 rw 和 IP 之间要有空格( 也许在 10 版本的 opensuse 中似乎是不需要空格的--suse 圣经一书这么说)。

启动服务器
chkconfig nfsserver on        #服务器在第3,第5启动级别时启动
/sbin/service nfsserver start           #启动服务器

经过以上简单的步骤,服务器已经建立起来了。

在编辑 /etc/exports 文件时中共享目录的属性时,一般加上 sync 参数比较好,如 /home/beyes/Software (rw,sync)
加 sync 的意思是 NFS 会等待磁盘写完,如果数据没写完就发生通讯失败那损坏的数据不会写到客户端。这样,就可以把服务器突然当掉时数据损坏的风险降到最低。

如果使用参数 async ,那么假如客户端和服务器之间的通讯失败时,被损坏的数据可能仍然会被写到客户端中去。下面是几个共享的例子:
/home/beyes/Software client (rw,sync)
/home/beyes/Software 192.168.0.100(rw,sync)
/home/beyes/Software 192.168.0.1/255.255.255.0 (rw,sync)
/home/beyes/Software 192.168.0.1/192.168.0.199 (rw,sync)

几个参数说明
root_squash : 使用此参数,客户端即使在用 root 帐号连接时也不会在共享文件上具有 root 的权限( 映射为 nobody 用户 )。
no_root_squash : 使用此参数,客户端在用 root 帐号连接时在共享文件上同样具有 root 权限。(除非有特殊原因,一般不建议用此项,而是用 root_squash )
all_squash : 使用此参数,则所有的客户端用户都被映射为 nobady ,对共享目录没有写权限,除非这个目录原本就可是允许可写的。假如是在这种方式下,那么所创建的任何文件的所有者都 是 nobody 以及所属组为 nogroup 。
然而,在使用 all_squash 选项时,也可以明确的指定一个用户的 UID 及其所属组的  GID ,这样这个共享目录被共享出来的权限就映射为所指定的用户及用户组,这时就不再是 nobody 了,例如:
/home/beyes/Software (rw,sync,all_sqush,anonuid=2009,anongid=2009)

exportfs 命令
exportfs 命令的常用选项见 http://www.groad.net/bbs/read.php?tid=765
其中,exportfs -r 的效果等同于 rcnfsserver reload

另外,使用 exports  命令可单独共享目录,而这个目录的共享信息事先并没有写到 /etc/exports 中:
exports -iv -o rw,sync 192.168.0.104:/home/beyes/Software
这里,-iv 选项告诉 exportfs 命令忽略 /etc/exports 文件
-o 的作用是,把其后接的选项  /home/beyes/Software 这个目录的一个整体属性,效果如同在 /etc/exports 中的一样。

使用 -u 选项,可以卸载掉被共享的目录,如:
exportfs -u 192.168.0.104:/home/beyes/Software

若要卸载在 /etc/exportfs 里面所写的目录可以如下做:
exportfs -au

showmount 命令
showmount 命令可以查询服务器的共享目录,如
beyes@linux-beyes:~> /usr/sbin/showmount -e 192.168.0.104
Export list for 192.168.0.104:
/root/DCIM/101MSDCF *

以 host:dir 这样的格式来显示客户主机名和挂载点目录
beyes@linux-beyes:~> /usr/sbin/showmount -a 192.168.0.104
All mount points on 192.168.0.104:
192.168.0.100:/root/DCIM/101MSDCF

仅显示被客户挂载的目录名
beyes@linux-beyes:~> /usr/sbin/showmount -d 192.168.0.104
Directories on 192.168.0.104:
/root/DCIM/101MSDCF

注:关于 nobody 用户的概念见http://www.groad.net/bbs/read.php?tid=781

在启动时就挂在 NFS
/etc/fstab 文件不但可以控制本地的文件系统挂载,还可以控制挂载 NFS 共享,所以通过修改 /etc/fstab 文件即可达到重启时自动挂在 NFS 的目的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-28 01:29 , Processed in 0.081885 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表