二、NFS服务器安装与配置

   1.1系统环境:

   Red  Hat Enterprise Linux 6.0

   NFS服务器的IP地址:192.168.0.101

   1.2配置本地YUM源,先创建本地目录如(# mkdir /iso)的目录并且mount命令挂在到 /iso目录

wKiom1ZtUwTRIL8kAAEKf1GbnF0908.jpg

   1.3配置本地YUM源(vim /etc/yum.repos.d/dvd.repo)命令

   wKioL1ZtVAOzwf6WAACxQdjAksQ990.jpg

   1.4清空yum源缓存

wKioL1ZuICmxgriRAABq6Q2ol-4223.jpg

   1.5安装NFS服务器

  wKiom1ZuIJXhnNcPAAEIhDGMU-g805.jpg

  1.6若立即启动NFS服务器,可以使用service命令

  wKiom1ZuIOqS_XkQAADZocLvm0E534.jpg

 1.7若设置随系统启动

wKiom1ZuIU-xdlpKAAA4-N-LNGs065.jpg

 三、修改/etc/exports文件

 在NFS服务器中,若想公布NFS客户系统共享的目录或文件系统,可以使用/etc/exports文件和exports

命令实现。/etc/exports文件是NFS服务器的主要配置文件,用于定义NFS服务器提供了目录或文件系统

等共享资源,设置共享资源的访问控制表。

  NFS的配置文件:vim /etc/exports 在exports配置文件中可以设置NFS系统的共享目录、访问权限和

允许访问的主机等参数。

 格式:Directoy   Host(OPtions) Host(Options)...

 例如 /home/nfs 192.168.1.0/24(或者192.168.1.*) (rw,sync)

 Directory 是NFS服务器中的一个目录或文件系统;Host单个主机名或IP地址(192.168.1.20 指定IP

地址的客户端主机;192.168.1.0/24 指定子网中所有的客户端主机 pc1.example.com 指定域名的客户

端主机;*.example.com 指定域中的所有客户端;* 所有客户端主机)

 访问权限选项 用于控制共享目录访问权限的选项

 ro:设置共享目录只读,rw:设置共享目录可读写

 用户映射选项

 async: 允许NFS服务器采用异步方式处理客户系统的数据读写请求。提高NFS服务器的性能,但是在不

稳定的情况下数据丢失或损坏。

 sync: 表示强制NFS服务器采用同步方式处理客户系统的数据写操作。虽然效率低,但是可以保证数据

 的完整性和一致性。


 root_squash:将root用户及所有用户组都映射为匿名用户组或用户组。

 no_root_squash:取消对NFS客户系统超级用户的上述安全限制,使NFS客户系统中的超级用户具有与服

务器系统中的超级用户相同的访问权限。


 all_squash:表示把NFS客户系统中访问共享资源的所有用户映射为匿名用户nobody。

 no_all_squash:不将远程访问的所有普通用户及所属用户组都映射为匿名用户或用户组。

例如:假定NFS服务器计划提供/share/tools和/share/docs两个共享目录,允许任何客户系统读

取/share/tools目录中的文件,但仅允许192.168.0.0网段中的客户系统读写/share/docs目录中的文件

或目录。

wKioL1ZuJ2bSCOC8AACsC7MdoW8430.jpg

四、验证NFS共享资源的配置

格式:exportfs [-auv][-o options]

     -a:表示公布或取消NFS服务器中所有共享目录或文件系统

     -r:表示重新公布加到/etc/exports文件中的共享目录或文件系统,使用/etc/exports文件中的内         容对/var/lib/nfs/etab文件进行同步。

     -u:用于取消已经公布的共享目录或文件系统

     -v:表示提供更详细的说明信息。

  4.1为了验证先前的设置是否正确,是否已经正确的验证/share/docs/share/tools等共享目录

wKiom1ZuKh-yV3jgAACfJUyLbdQ704.jpg

  4.2使用cat /etc/exports命令查看文件内容

  wKiom1ZuKriR3tPMAACujwBdzyM858.jpg

  4.3若想查询共享目录或文件系统资源的公布与使用的情况,可以使用showmount命令

     showmount命令主要用于查询NFS服务器提供的共享资源、运行状态与客户系统的安装的信息

     showmount [选项]NFS服务器名称或地址

     -a 显示指定的NFS服务器的所有客户端主机及其所链接的目录;

     -d 显示指定的NFS服务器中被客户端练级的所有输出目录;

     -e 显示指定的NFS服务器上所有输出的共享目录

五、防火墙设置

   默认的防火墙设置不允许外部网络的客户系统访问NFS服务器,若允许客户系统访问NFS服务器,需要

设置防火墙,开放下列TCP和UDP端

    1.nfs的TCP和UDP端口号2049

    2.portmapper的TCP和UDP端口号111

    其次,NFS需要rpcbind提供底层支持,rpcbind的主要功能动态分配RPC服务的TCP/UDP端口号。如果

防火墙与NFS的设置不匹配客户系统无法访问NFS服务器。若想允许客户系统穿越防火墙,访问NFS服务器

提供共享资源,需要编辑/etc/sysconfig/nfs文件

    控制RPC服务器采用固定的TCP和UDP端口号,否则无法设置防火墙。

    MOUNTD_PORT=892 控制mountd(rpc.mountd)使用哪一个TCP和UDP端口

    STATD_PORT=662  控制status(rpc.statd)使用哪一个TCP和UDP端口

    LOCKD_TCPPORT=32863 控制nlockmgr(lockd)使用哪一个TCP端口

    LOCKD_UDPPORT=32709 控制nlockmgr(lockd)使用哪一个UDP端口

   5.1设置防火墙配置文件

  wKiom1ZuL4fxidbQAAApTR-02CM152.jpg

   wKioL1ZuMaOy7JLtAAB6Pp2iX-g004.jpg

   wKioL1ZuMdjBFru5AACJY_Igh18970.jpg

   5.2重新启动NFS服务器

   wKiom1ZuMhODQ5eyAADEkY3t-bU571.jpg

   5.3修改SELinux布尔值

   setsebool [-P] SEBOOLEAN=VALUE.*.

   其中的-P表示永久修改,如果没有加上-P,则setsebool只会暂时修改SELinux布尔值,等下次重新启

动后,就会恢复默认值;当加上-P参数时,setsebool便会把修改后的SELinux布尔值存储到SElinu安全

原则的相关文件。其中SEBOOLEAN为SELinux布尔值的名称,VALUE则是SELinux布尔的值

   (1)1或on:代表启动该布尔值

   (2)0或off:代表停用该布尔值

 wKioL1ZuOWfSzeFCAAC0RBKufwM005.jpg

六、配置NFS客户系统

   配置NFS客户系统包括两个任务:采用mount命令手工安装NFS服务器提供的远程目录或文件系统等共

享资源;利用/etc/fstab文件,自动安装远程共享资源,必要时,还需要事先创建本地目录,作为远程

共享资源的安装点。

   6.1创建本地挂在目录(/gongxiang)

 wKioL1ZuPLSjZnLzAAAv7wRlMRk044.jpg

   6.2使用mount命令,直接安装NFS服务器提供的远程文件系统或目录

   其中‘-t nfs'表示安装NFS网络文件系统;generic_opts'为通用的安装选项,‘-o 

specifc_opts'为NFS网络文件系统特定的安装选项;‘resource'表示远程共享资源的文件系统或目录

名,有形如‘host:pathname'的远程主机名与路径名组成;mount_point'为本地系统的安装点,既安装

文件系统的目录位置。wKiom1ZuP3qz0mKlAABFZXvjaUQ434.jpg

  6.3如果远程目录或文件系统已经安装,想要了解安装时使用的选项或默认安装选项,如NFS版本,rsize以及wsize等 可以使用nfsstat -m命令   

wKiom1ZuQYPwwkKDAAFGsE7Zz7A027.jpg

七、设置/etc/fstab文件

   需要永久性地安装远程共享目录。实现自动安装远程文件系统,需要配置vim /etc/fstab文件


wKiom1ZuQpWgPHnhAAAedIOeD-4958.jpg

wKiom1ZuQ0qgTg-lAAH9YdhQdN8190.jpg

然后可以使用‘mount -a'命令,安装新增的远程目录(每当重新启动系统时,系统都会读取/etc/fstab文件,执行’mount -a '命令,实现NFS远程共享资源。

八、使用autofs挂载NFS文件系统

    挂载NFS共享的第三种方法就是使用autofs,它使用automount守护进程来管理挂载点,只在文件系统被访问时才自动挂载。

     auoto咨询主映射配置文件/etc/auot.master来决定定义哪些挂载点,绕后使用适用于各个挂载点

的参数来启动automount守护进程。主映射配置文件中的每一行都定义了一个挂载点,一个分开的映射文件定义在该挂载点下要挂载的文件系统。

     auto.master文件中的每个项目都有3个字段,第1个字段是挂载点;第2个字段是映射文件的位置;

第三个字段可选,可以包括超时数值之类的信息。

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

   wKioL1ZuUhvB2DF2AAAl0Q2pPaM144.jpg

wKiom1ZuUkSThPsdAAFTUJEw1Vg278.jpg

    在/etc/auto.share文件添加以下行

    tools -rw,sync rsize=8192,wsize=8192 192.168.0.100:/share/tools

   /etc/auot.misc中的第一个字段是/share子目录的名称,该目录被automount守护进程动态地创建,它不应该在客户端机器上实际存在;第二个字段包括挂载选项,如rw代表读写访问权;第三个字段是要导出的NFS的位置。重新启动autofs服

   务

wKiom1ZuUaaz72y8AABzK1OG4qo219.jpg