第15章NFS服务器配置NFS简介安装和启动NFS服务器配置NFS服务器使用NFS服务器本章小结15.1NFS简介NFS(NetworkFileSystem,网络文件系统)是由SUN公司开发,于1984年发布的,目前已经成为文件服务的一个标准。NFS可以使用户完全象访问本地文件一样,访问远程主机上的文件,主要优点如下:将占据大量磁盘空间、多数用户使用的数据保存在一台主机上,客户机需要时加载相应目录,这样可以节约大量的磁盘空间。将所有用户的账号信息保存在一台主机上,不管用户从哪台主机登录,总能得到相同的/home目录。软驱、CDROM等设备可以在网络上被其它主机使用,进而减少了整个网络内相应设备的数量,降低了系统的成本。15.1NFS简介NFS本身并不提供数据传输的协议和功能,它是一个RPC(RemoteProcedureCall,远程过程调用)服务,通过RPC来实现文件的共享和传输。因此,只要用到NFS的地方都要启动RPC服务。RPC函数库客户端Stub客户端进程RPC函数库服务器Stub服务器进程RPC在使用NFS服务器之前,首先要进行安装和启动,下面将介绍它的安装、启动、以及关闭的方法。15.2安装和启动NFS服务器使用NFS服务器,要安装两个软件包:portmap:为RPC程序提供端口映射服务nfs-utils:NFS服务器程序和相应的管理工具15.2.1安装NFS服务器为了使NFS服务器能够正常工作,需要启动portmap和nfs两个服务,并且portmap一定要先于nfs启动。15.2.2启动NFS服务器NFS的主配置文件为exports,位于/etc目录下。由于系统没有默认值,所以这个文件一般为空,需要用户根据具体应用进行设定,它的格式为:[共享目录][主机名/IP地址(参数,参数,...)]:指定域名的主机192.168.89.12:指定IP地址的主机*.server.com:指定域中的所有主机192.168.89.0/24:指定网段中的所有主机*或空:指定所有主机15.3配置NFS服务器参数ro:只读访问;rw:读写访问;hide:不共享NFS目录的子目录;no_hide:共享NFS目录的子目录;sync:数据同步写入到硬盘中;async:数据先暂存在内存中,并不直接写入到硬盘中;secure:NFS通过1024以下的安全端口发送数据;insecure:NFS通过1024以上的端口数据;wdelay:如果多个用户要写入NFS目录,则归组写入;no_wdelay:如果多个用户要写入NFS目录,则立即写入,当使用async参数时,则无需设置;subtree_check:共享/usr/bin之类的子目录时,强制NFS检查父目录的权限,默认设置;15.3配置NFS服务器参数no_subtree_check:共享/usr/bin之类的子目录时,不检查父目录权限;all_squash:不管登入NFS服务器的用户是什么,都重新设定为nobody用户,这适合于公用目录;no_all_squash:保留共享文件的UID和GID,默认设置;root_squash:将root用户的所有请求映射为nobody用户一样的权限,默认设置;no_root_squas:登入NFS服务器的用户如果为root用户,则具有系统目录的完全访问权,该参数很不安全,建议一般情况下不要使用;anonuid=xxx:将登入NFS服务器用户的UID设定为指定值,而且该UID必须存在于/etc/passwd文件中;anongid=xxx:将登入NFS服务器用户的GID设定为指定值,而且该GID必须存在于/etc/group文件中。sync,ro,root_squash,no_delay15.3配置NFS服务器exportfs[-aruv]参数:-a:输出exports文件中的所有目录;-r:重新读取exports文件的内容,并使设置生效,而无需重启NFS服务;-u:停止输出某一目录;-v:显示共享目录及相关的参数。15.3配置NFS服务器使用NFS服务器分为三个部分的内容:查看NFS共享目录挂载NFS共享目录自动挂载15.4使用NFS服务器15.4.1查看NFS共享目录showmount[-ae]主机名/IP地址参数:-a:显示客户端主机名和挂载点;-d:只显示被客户端挂载的目录;-e:显示服务器exports文件中的共享目录;-h:显示帮助信息;-v:显示版本信息。mount[参数][-o选项]共享目录/设备挂载点参数:-a:挂载/etc/fstab文件中设置的所有设备;-F:与-a参数同时使用,同时挂载/etc/fstab文件中设置的设备,加快执行速度;-h:显示帮助信息;-t:指定设备的文件系统类型,如ext3、vfat、nfs、ntfs等;-v:显示详细信息;-V:显示版本信息。参数-o用来指定挂载文件系统时的选项,主要包括:defaults:使用默认的选项(rw、suid、dev、exec、anto、nouser和async);remount:重新挂载,通常用于更改设备的设置状态;sync:以同步方式执行文件系统的输入/输出操作;15.4.2挂载NFS共享目录mount[参数][-o选项]共享目录/设备挂载点参数:async:以异步方式执行文件系统的输入/输出操作;atime:每次存取时都更新inode的访问时间,默认设置;noatime:每次存取时不更新inode的访问时间;auto:在fstab文件中指定该选项,执行-a参数时,加载设置为auto的设备;noauto:无法使用-a参数加载;dev:保留设备文件的特殊功能,默认设置;nodev:不保留设备文件的特殊功能;exec:保留执行二进制文件的权限,默认设置,如果挂载的仅是数据分区,则可以选择noexec;noexec:不保留执行二进制文件的权限;ro:以只读模式挂载;rw:以读写模式挂载,默认设置;15.4.2挂载NFS共享目录mount[参数][-o选项]共享目录/设备挂载点参数:suid:如果挂载分区上的可执行文件有SUID功能,则保留,默认设置;nosuid:如果挂载分区上的可执行文件有SUID功能,则取消;user:允许一般用户挂载设备;nouser:不允许一般用户挂载设备,默认设置;retry:在放弃挂载操作之前,尝试的时间;timeo:超时时间,当数据传输遇到问题时,根据这个参数进行重新传输;bg:如果第一次挂载失败,转移到后台继续尝试,直至挂载成功为止,通常在fstab文件中设定该选项,以避免某个设备挂载不上而影响启动速度;fg:与bg选项相反,如果第一次挂载失败,在前台继续尝试,默认设置;hard:硬挂载方式,客户端不断尝试与NFS服务器连接,直至服务器回应,默认设置;soft:软挂载方式,客户端尝试与NFS服务器连接,如果得不到回应,则重新请求并传回错误信息;15.4.2挂载NFS共享目录mount[参数][-o选项]共享目录/设备挂载点参数:intr:允许中断硬挂载过程;rsize:从NFS服务器读文件时的块大小,默认为1024字节,如果网络速度比较快,计算机内存比较大,可以将其设的大一些,例如32768字节;wsize:向NFS服务器写文件时的块大小,与rsize选项类似,默认为1024字节,如果条件允许,可以将其设的大一些;udp:使用UDP协议挂载文件系统,在局域网中使用时,UDP能带来更好的性能;tcp:使用TCP协议挂载文件系统,默认设置。15.4.2挂载NFS共享目录除了使用mount命令手动挂载共享目录外,还可以使用其它方法来自动挂载共享目录,下面分别进行介绍。启动时自动挂载使用autofs自动挂载15.4.3自动挂载共享目录如果要在系统启动时自动挂载NFS共享目录,可以在/etc/fstab文件中进行设置,具体的形式如下:file_systemmount_pointtypeoptionsdumppass各字段的含义分别为:file_system:指定要挂载的设备或远程文件系统,如/dev/sda1或192.168.89.1:/tmp;mount_point:挂载点,对于swap设备,该字段为none;type:指定文件系统的类型,如ext3、vfat、nfs等;options:指定挂载选项,多个选项之间用逗号分隔;dump:系统备份,一般设为0,表示不备份;pass:指定启动时fsck检查硬盘的顺序,如果设为0,表示不检查;根分区永远都为1,其他分区只能从2开始。15.4.3自动挂载共享目录使用autofs可以在文件系统被访问的时候自动挂载,它的主配置文件为/etc/auto.master,每一行定义一个挂载点,它的形式为:挂载点配置文件例如:/mnt/etc/auto.nfs创建/etc/auto.nfs文件,内容如下:nfs-rw,rsize=8192,wsize=8192192.168.89.1:/home/share15.4.3自动挂载共享目录15.5本章小结本章主要知识点:NFS的基本原理NFS的安装和启动NFS的配置共享目录的查看和挂载