红联Linux门户
Linux帮助

Redhat使用nfs共享文件系统

发布时间:2014-11-05 15:11:52来源:linux网站作者:ljm0211

网络文件系统(NFS)的概念

网络文件系统(NFS)是一种在网络上的机器间共享文件的方法,文件就如同位于客户的本地硬盘驱动器上一样。
Red Hat Linux 既可以是 NFS 服务器也可以是 NFS 客户,这意味着它可以把文件系统导出给其它系统,也可以挂载从其它机器上导入的文件系统。


NFS的安装

RedHad默认已经安装了NFS,如果没装需手动安装如下5个rpm包:

setup-*:            共享NFS目录在/etc/exports中定义
initscripts-*:        包括引导过程中装载网络目录的基本脚本
nfs-utils-*:        包括基本的NFS命令与监控程序
portmap-*:       支持安全NFS RPC服务的连接
quota-*:      网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)


NFS的配置 (服务端配置,在需要共享文件系统的主机上进行的操作)
编辑/etc/exports文件添加共享目录:

/home/stb 192.168.1.235(rw,sync,no_root_squash)
/home/stb 192.168.1.170(rw,sync,no_root_squash)
/home/stb 192.168.1.31(rw,sync,no_root_squash)

/home/stb为对外共享的目录;

192.168.1.235为需要挂载共享目录的主机(客户端)的ip地址;

()内为opitons;

rw:             可读写的权限;
ro:             只读的权限;
no_root_squash: 登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限root_squash: 
在登入 NFS 主机使用目录的使用者如果是 root 时,那么这个使用者的权限
sync:           资料同步写入存储器中。
async:          资料会先暂时存放在内存中,不会直接写入硬盘。


NFS服务的启动
service nfs start

service nfs restart

service nfs stop

service nfs reload 当修改过/etc/exports文件后不用重启服务可执行该命令


客户端的挂载
通过mount命令挂载
mount 192.168.1.162:/home/stb /mnt/stb
mount -t nfs 192.168.1.162:/home/stb /mnt/stb -o nolock

//其中客户端必须有/mnt/stb目录

2. 通过 /etc/fstab 来挂载 NFS 文件系统

要挂载其它机器上的 NFS 共享的另一种方法是在 /etc/fstab 文件中添加一行。这一行中必须声明 NFS 服务器的主机名,要导出的目录,以及要挂载 NFS 共享的本地机器目录。你必须是根用户才能修改 /etc/fstab 文件。

/etc/fstab 中每行的一般语法如下所示:

server:/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr挂载点 /pub 在客户机器上必须存在。在客户系统的 /etc/fstab 文件中把这一行添加完毕后,在 shell 提示下键入命令 mount /pub,以及将会从服务器中挂载的挂载点 /pub。3.
挂载 NFS 共享的第三种方法是使用 autofs。autofs 使用 automount 守护进程来管理你的挂载点,它只在文件系统被访问时才动态地挂载它们。

autofs 咨询主映射配置文件 /etc/auto.master 来决定要定义哪些挂载点。然后,它使用适用于各个挂载点的参数来启动 automount 进程。主映射配置中的每一行都定义一个挂载点,一个分开的映射文件定义在该挂载点下要挂载的文件系统。譬如,/etc/auto.misc 文件可能会定义 /misc 目录中的挂载点;这种关系在 /etc/auto.master 文件中会被定义。


auto.master 文件中的每个项目都有三个字段。第一个字段是挂载点。第二个字段是映射文件的位置,第三个字段可选。第三个字段可以包括超时数值之类的信息。

譬如,要在你的机器上的 /misc/myproject 挂载点上挂载远程机器 penguin.example.net 上的 /project52 目录,在 auto.master 文件中添加以下行:

/misc /etc/auto.misc --timeout 60

在 /etc/auto.misc 文件中添加以下行:

myproject -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52

/etc/auto.misc 中的第一个字段是 /misc 子目录的名称。该目录被 automount 动态地创建。它不应该在客户机器上实际存在。第二个字段包括挂载选项,如:rw 代表读写访问权。第三个字段是要导出的 NFS 的位置,包括主机名和目录。

注记
目录 /misc 在本地文件系统中必须存在。在本地文件系统的 /misc 目录中不应该有子目录。

到此就ok了!


补充:

如果nfs的服务器和客户端不在同一网段,一定要给客户端所在网段的出口加上权限;

比如:nfs服务器在192.168.1.0网段,客户端在3.0网段,但是通过192.168.1.48与1.0网段通信,这时要给1.48加上权限。