NFS参数配置详细说明

合集下载

NFS配置详细介绍

NFS配置详细介绍

4、增加了对TCP传输协议的支持 、增加了对TCP传输协议的支持 V2只提供了对UDP协议的支持,在一些高要求的网 V2只提供了对UDP协议的支持, 络环境中有很大限制,V3增加了对TCP协议的支持 络环境中有很大限制,V3增加了对TCP协议的支持 *5、异步写入特性 6、改进了SERVER的mount性能 、改进了SERVER的mount性能 7、有更好的I/O WRITES 性能. 、有更好的I/O 性能. 9、更强网络运行效能,使得网络运作更为有效. 、更强网络运行效能,使得网络运作更为有效. 10、更强的灾难恢复功能. 10、更强的灾难恢复功能.
服务器端配置(2/5) 服务器端配置(2/5)
配置NFS 配置NFS
配置文件/etc/exports 配置文件/etc/exports 配置格式<输出目录> [客户端1 配置格式<输出目录> [客户端1 选项(访问权 限,用户映射,其他)] [客户端2 限,用户映射,其他)] [客户端2 选项(访问权 限,用户映射,其他)] 限,用户映射,其他)] 例: /home/xxx 192.168.1.1(rw) 允许192.168.1.1的用户mount /home/xxx目录 允许192.168.1.1的用户mount /home/xxx目录
客户端配置
Mount –t nfs 服务器ip:目标目录 mount到的目录 服务器ip:目标目录 mount到的目录 例:mount -t nfs 192.168.1.102:/home /mnt
实际应用
1.多个机器共享一台CDROM或者其他设备。这对 1.多个机器共享一台CDROM或者其他设备。这对 于在多台机器中安装软件来说更加便宜跟方便。 2.在大型网络中,配置一台中心 NFS 服务器 2.在大型网络中,配置一台中心 用来放置所有用户的home目录可能会带来便利。 用来放置所有用户的home目录可能会带来便利。 这些目录能被输出到网络以便用户不管在哪台工 作站上登录,总能得到相同的home目录。 作站上登录,总能得到相同的home目录。 3.几台机器可以有通用的/usr/ports/distfiles 目 3.几台机器可以有通用的/usr/ports/distfiles 录。这样的话,当您需要在几台机器上安装port时, 录。这样的话,当您需要在几台机器上安装port时, 您可以无需在每台设备上下载而快速访问源码。

NFS服务器配置

NFS服务器配置

NFS服务配置一、NFS服务简介NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。

在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

二、系统环境系统:centos7IP:192.168。

0。

240为确保不受防火墙影响,配置时关闭防火墙和selinux[root@localhost /]# sestatus –v #查看状态SELinux status: disabled[root@localhost /]#setenforce 0 #临时关闭selinuxsetenforce:SELinux is disabled[root@localhost /]#vim /etc/sysconfig/selinux #修改配置文件,永久生效.SELINUX=disabled[root@localhost /]# systemctl stop firewalld。

service #临时关闭防火墙[root@localhost /]#systemctl disable firewalld.service #永久关闭防火墙三、安装配置1,查询是否安装相关包[root@localhost /]#rpm -qa |egrep rpcbindrpcbind—0。

2.0-33.el7_2。

1.x86_64[root@localhost /]#rpm -qa |egrep nfs-utilsnfs-utils-1。

3.0—0.21。

el7_2.1。

x86_642,安装若未安装使用yum安装(更新):[root@localhost ~]#yum —y install nfs-utils rpcbind3,配置1)编辑/etc/exports文件,默认无此文件,使用vim直接添加。

NFS服务配置文档

NFS服务配置文档

NFS服务配置文档1、/etc/exports配置文件参数说明:参数名说明Ro采用只读的方式访问NFS服务器共享目录Rw采用读写的方式访问NFS服务器共享目录Sync所有数据同步地写入内存和硬盘,以保证数据的一致性(默认)Async数据只保存到内存,而不写到硬盘。

此方法的读取速度要快一些但数据的一致性难以保证Secure客户端可使用1024以下的安全端口发送数据Insecure客户端可使用1024以上的安全端口发送数据Wdelay如果有多个用户需要同时写入NFS目录,可将所有写入归总后一起写入(默认)no_wdelay当多个用户需要同时写入NFS目录时立即写入。

当使用async时,无需设置此参数subtree_check打开对子目录的检查(默认)no_subtree_check关闭对子目录的检查all_squash将访问NFS服务器共享目录的所有用户均映射成匿名用户(anonymous),适合公用目录。

例如,当NFS客户端用户user访问此共享目录时,NFS服务器会自动将其权限映射成匿名用户的权限no_all_squash访问NFS服务器共享目录的甩有用户的权限不变。

例如,当客户端用户user访问此共享目录时,NFS服务器会使用此用户的权限操作共享目录root_squash将访问NFS服务器共享目录的root用户映射为与anonymous用户一样的权限(权限)no_root_squash访问NFS服务器共享目录的root用户的权限不变。

此时,客户端的root用户与服务器端的root用户的权限一样anonuid=xxx指定NFS服务器/etc/passwd文件中匿名用户的UIDanongid=xxx指定NFS服务器/etc/passwd文件中匿名用户的GID2、NFS服务器的配置案例某公司需要架构一下FTP服务器,但内容太多,而且文档公布上得非常细,需要多台计算机为其提供服务。

这样一来,员工访问FTP服务器时就需要记住多台FTP服务器的IP地址,非常不方便。

NFS的配置方法

NFS的配置方法

NFS的配置方法[root@station38 ~]# rpm -qa |grep nfs (查询系统中是否安装有nfs包)nfs-utils-lib-1.0.8-7.2.z2nfs-utils-1.0.9-24.el5 (这个就是要安装的包,说明包已经安装到系统中)[root@station38 ~]# rpm -ql nfs-utils-1.0.9-24.el5 (这个命令是查看这个包的内容)/etc/idmapd.conf/etc/rc.d/init.d/nfs/etc/rc.d/init.d/nfslock/etc/rc.d/init.d/rpcgssd/etc/rc.d/init.d/rpcidmapd/etc/rc.d/init.d/rpcsvcgssd/etc/sysconfig/nfs/sbin/mount.nfs/sbin/mount.nfs4/usr/sbin/nfsstat/usr/share/doc/nfs-utils-1.0.9/usr/share/doc/nfs-utils-1.0.9/ChangeLog ……………………………………………. …………………………………………………[root@station38 ~]# vi /etc/exports(编译nfs服务的配置文件,我要把我的/data 目录共享出来,允许192.168.0.0/24和192.168.1.0/24这两个网段的用户可以访问,就照下面的格式写)/data 192.168.0.0/24(rw,sync) 192.168.1.0/24(ro,async)[共享目录] [主机1或IP1(参数1,参数2)] [主机2 或IP2(参数3,参数4)]#参数#rw:可读写#ro:可只读#no_root_squash:如果用户是root,则具有root权限#root_squash:如果是root,会被压缩成nobody的权限#all_squash:无论是任何身份,会被压缩成nobody的权限#anonuid:设置匿名用户的uid#anongid:设置匿名用户的GID#sync:数据同步写磁盘#async:数据先暂存于内存中[root@station38 ~]# exportfs –rv(这个命令可以验证我们设置的配置文件是否正确,如果是下面的输出,就说明是正确的)exporting 192.168.0.0/24:/dataexporting 192.168.1.0/24:/data[root@station38 ~]# chkconfig --list |grep nfs (这个命令是查看nfs服务在哪几种启动级别会自动启动)nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:offnfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off[root@station38 ~]# chkconfig nfs on (为了让nfs服务在2345这几个启动级别都启动,我执行了这个命令)[root@station38 ~]# chkconfig --list |grep nfs (现在去查看一下)nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@station38 ~]# service nfs restart(现在我们就可以启动这个服务的,让我们的配置文件生效)Shutting down NFS mountd: [ OK ] Shutting down NFS daemon: [ OK ] Shutting down NFS quotas: [ OK ] Shutting down NFS services: [ OK ] Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS daemon: [ OK ] Starting NFS mountd: [ OK ] [root@station38 ~]# netstat -ntupol (用这个命令可以验证nfs服务是否起来,粗体字显示的就是nfs这个服务要启动的端口)Active Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name Timertcp 0 0 0.0.0.0:44512 0.0.0.0:* LISTEN - off (0.00/0/0)tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 2235/hpiod off (0.00/0/0)tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN - off (0.00/0/0)tcp 0 0 0.0.0.0:908 0.0.0.0:* LISTEN 8360/rpc.rquotad off (0.00/0/0)tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1939/portmap off (0.00/0/0)tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2306/cupsd off (0.00/0/0)tcp 0 0 0.0.0.0:923 0.0.0.0:* LISTEN 8376/rpc.mountd off (0.00/0/0)tcp 0 0 0.0.0.0:893 0.0.0.0:* LISTEN 1983/rpc.statd off (0.00/0/0)tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN 2240/python off (0.00/0/0)tcp 0 0 :::22 :::* LISTEN 2267/sshd off (0.00/0/0)udp 0 0 0.0.0.0:32768 0.0.0.0:* 2457/avahi-daemon: off (0.00/0/0)udp 0 0 0.0.0.0:2049 0.0.0.0:* - off (0.00/0/0)udp 0 0 0.0.0.0:32771 0.0.0.0:* - off (0.00/0/0)udp 0 0 0.0.0.0:905 0.0.0.0:* 8360/rpc.rquotad off (0.00/0/0)udp 0 0 0.0.0.0:920 0.0.0.0:* 8376/rpc.mountd off (0.00/0/0)udp 0 0 0.0.0.0:68 0.0.0.0:* 4530/dhclient off (0.00/0/0)udp 0 0 0.0.0.0:5353 0.0.0.0:* 2457/avahi-daemon: off (0.00/0/0)udp 0 0 0.0.0.0:111 0.0.0.0:* 1939/portmap off (0.00/0/0)udp 0 0 0.0.0.0:631 0.0.0.0:* 2306/cupsd off (0.00/0/0)udp 0 0 0.0.0.0:887 0.0.0.0:* 1983/rpc.statd off (0.00/0/0)udp 0 0 0.0.0.0:890 0.0.0.0:* 1983/rpc.statd off (0.00/0/0)udp 0 0 :::32769 :::* 2457/avahi-daemon: off (0.00/0/0)udp 0 0 :::5353 :::* 2457/avahi-daemon: off (0.00/0/0)现在就可以用一台机器去测试一下了,我登录一台机器后,做如下测试:Last login: Mon Jul 28 08:55:19 2008 from [root@server1 ~]# showmount -e 192.168.0.38 (这台机器是我刚才配置nfs 服务的机器)Export list for 192.168.0.38:/data 192.168.1.0/24,192.168.0.0/24[root@server1 ~]# mount 192.168.0.38:/data /mnt/[root@server1 ~]# df (验证一下)Filesystem 1K-blocks Used Available Use% Mounted on/dev/sda3 5532048 4661560 584936 89% //dev/sda8 124427 8135 109868 7% /home/dev/sda6 1019208 34240 932360 4% /tmp/dev/sda5 2536512 206776 2198808 9% /var/dev/sda2 27450564 5956492 20077140 23% /var/ftp/pub/dev/sda1 23300 23051 0 100% /boottmpfs 224704 0 224704 0% /dev/shm 192.168.0.38:/data 4956320 1920384 2780096 41% /mnt。

NFS配置文档+实例

NFS配置文档+实例

NFS配置文档NFS配置前提:使用NFS服务,至少需要启动以下3个系统守护进程。

(1)nfsd (lssrc –a|grep nfs)它是基本的NFS守护进程,主要功能是管理客户端是否能够登入服务器。

(2)rpc.mountd(lssrc –a|grep nfs)它是RPC安装守护进程,主要功能是管理NFS的文件系统。

当客户端顺利地通过rpc.nfsd登录NFS服务器后,在使用NFS服务器所提供的文件前,还必须通过文件使用权限的验证,rpc.mountd会读取NFS的配置文件/etc/exports来对比客户端的权限。

(3)portmap (lssrc –s portmap)portmap的主要功能是进行端口映射工作。

当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口号提供给客户端,从而使客户端可以通过该端口向服务器请求服务。

激活服务portmap和nfsd:Startsrc –s portmapStartsrc –f nfsdNFS配置步骤:1. 在Server端添加信任关系 :/etc/hosts文件添加:(p630为NFS 的Client)2.修改或者添加/etc/exports文件,如下内容:3.建立/testnfs文件系统如下,并Mount文件系统:mount /testnfs4.重启NFS服务:5.export all:6.在Client端添加信任关系:/etc/hosts文件添加:(192.168.0.237为NFS的Server):7.建立mount目录/demotest,并mount:完成。

etc/exports文件配置:格式:[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]当不指定参数时,nfs将使用默认选项。

默认的共享选项是sync,ro,root_squash,no_delayeg:/home/share 192.168.1.122(rw,sync) *(ro)常用参数:ro 只读访问rw 读写访问sync 所有数据在请求时写入共享async NFS在写入数据前可以相应请求secure NFS通过1024以下的安全TCP/IP端口发送insecure NFS通过1024以上的端口发送wdelay 如果多个用户要写入NFS目录,则归组写入(默认)no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

NFS服务器搭建与配置

NFS服务器搭建与配置

NFS服务器搭建与配置NFS服务简介什么是NFS?NFS就是Network File System的缩写,它最⼤的功能就是可以通过⽹络,让不同的机器、不同的操作系统可以共享彼此的⽂件。

NFS服务器可以让PC将⽹络中的NFS服务器共享的⽬录挂载到本地端的⽂件系统中,⽽在本地端的系统中来看,那个远程主机的⽬录就好像是⾃⼰的⼀个磁盘分区⼀样,在使⽤上相当便利;NFS⼀般⽤来存储共享视频,图⽚等静态数据。

NFS挂载原理:图;服务器挂载结构图如上图⽰:当我们在NFS服务器设置好⼀个共享⽬录/home/public后,其他的有权访问NFS服务器的NFS客户端就可以将这个⽬录挂载到⾃⼰⽂件系统的某个挂载点,这个挂载点可以⾃⼰定义,如上图客户端A与客户端B挂载的⽬录就不相同。

并且挂载好后我们在本地能够看到服务端/home/public的所有数据。

如果服务器端配置的客户端只读,那么客户端就只能够只读。

如果配置读写,客户端就能够进⾏读写。

挂载后,NFS客户端查看磁盘信息命令:#df –h。

既然NFS是通过⽹络来进⾏服务器端和客户端之间的数据传输,那么两者之间要传输数据就要有想对应的⽹络端⼝,NFS服务器到底使⽤哪个端⼝来进⾏数据传输呢?基本上NFS这个服务器的端⼝开在2049,但由于⽂件系统⾮常复杂。

因此NFS还有其他的程序去启动额外的端⼝,这些额外的⽤来传输数据的端⼝是随机选择的,是⼩于1024的端⼝;既然是随机的那么客户端⼜是如何知道NFS服务器端到底使⽤的是哪个端⼝呢?这时就需要通过远程过程调⽤(Remote Procedure Call,RPC)协议来实现了!RPC与NFS通讯原理:因为NFS⽀持的功能相当多,⽽不同的功能都会使⽤不同的程序来启动,每启动⼀个功能就会启⽤⼀些端⼝来传输数据,因此NFS的功能对应的端⼝并不固定,客户端要知道NFS服务器端的相关端⼝才能建⽴连接进⾏数据传输,⽽RPC就是⽤来统⼀管理NFS端⼝的服务,并且统⼀对外的端⼝是111,RPC会记录NFS端⼝的信息,如此我们就能够通过RPC实现服务端和客户端沟通端⼝信息。

NFS服务器的配置

NFS服务器的配置

NFS服务器的配置1.1NFS概述NFS是一种分布式文件系统允许网络中的安装不同的操作系统的计算机之间共享文件。

我的安装环境:redhat5.9NFS服务器的主要软件包:nfs-utils-1.0.9-66.el5portmap-4.0-65.2.2.1系统服务脚本:NFS portmap主配置文件:/etc/exports、/etc/exports配置解析:--共享目录—客户机地址(参数,参数.. ..)参数的介绍:Rw:可读可写Ro:只读Sync:同步写入:写入内存的同时写入硬盘Async:异步写入:先写入内存在写入硬盘N0_root_squash:保留来之客户端的root权限All_squash:客户端的权限都降级为nfsnobody1.2NFS的安装[root@ dhcpser~]# rpm -q nfs-utils portmap //查看软件包是否安装nfs-utils-1.0.9-66.el5portmap-4.0-65.2.2.1如果没有安装可以利用yum库进行安装[root@ dhcper~]#yum-y install nfs-utils[root@ dhcper~]#yum-y install portmapNFS服务器端配置:[root@dhcpser ~]# cat /etc/exports //编辑共享配置文件/root 192.168.10.20(rw,sync,no_root_squash) 共享/root给192.168.10.20,可写、同步,允许客户机以root权限访问[root@dhcpser ~]# service portmap restart //运行portmap脚本[root@dhcpser ~]# service nfs restart //运行nfs脚本[root@dhcpser ~]# chkconfig portmap on // 配置开机启动[root@dhcpser ~]# chkconfig nfs on //配置开机启动客户端配置:[root@localhost ~]# service portmap restart //运行portmap脚本[root@localhost ~]# showmount -e 192.168.10.253 //查看nfs共享列表Export list for 192.168.10.253:/root 192.168.10.20 //服务器端的共享[root@localhost ~]# mkdir -p /data/root/ //创建挂载目录[root@localhost ~]# mount 192.168.10.253:/root/ /data/root/ //挂载[root@localhost ~]# df -hT | grep nfsnfs 19G 2.7G 16G 15% /data/root [root@localhost ~]# cd /data/root/[root@localhost root]# touch file1.txt[root@localhost root]# ls -l file1.txt-rw-r--r-- 1 root root 0 06-12 17:18 file1.txt例如:NFS服务器配置:[root@dhcpser ~]# cat /etc/exports //编辑配置文件/root 192.168.10.20(rw,sync,no_root_squash)/usr/src 192.168.10.0/24(rw,async) //共享给10.0网段,可写,异步[root@dhcpser ~]# exportfs -rv //重新发布信息[root@dhcpser ~]# setfacl -m u:nfsnobody:rwx /usr/src/ //添加读写权限客户端操作:[root@localhost ~]# mkdir /data/src/ 创建挂载点[root@localhost ~]# showmount -e 192.168.10.253 ///查看共享Export list for 192.168.10.253:/root 192.168.10.20/usr/src 192.168.10.0/24[root@localhost ~]# mount 192.168.10.253:/usr/src/ /data/src/[root@localhost ~]# cd /data/src/[root@localhost src]# touch file1.txt //新建测试文件[root@localhost src]# ls -l file1.txt //查看文件内容-rw-r--r-- 1 nfsnobody nfsnobody 0 06-12 17:23 file1.txt再有:NFS服务端操作:[root@dhcpser ~]# chmod o+w /usr/src/ //添加目录属性增加写的权限NFS客户端操作:[root@localhost ~]# useradd tom 新建用户tom [root@localhost ~]# su – tom 切换用户[tom@localhost ~]$ cd /data/src/[tom@localhost src]$ touch tom1.txt[tom@localhost src]$ ls -l tom1.txt-rw-rw-r-- 1 tom tom 0 06-12 17:29 tom1.txt 文件属主和属组都是TomNFS服务器修改主配置文件[root@dhcpser ~]# Vim /etc/exports/root 192.168.10.20(rw,sync,no_root_squash)/usr/src 192.168.10.0/24(rw,async,all_squash)[root@dhcpser ~]# exportfs -rv //重新发布信息NFS客户端操作:[tom@localhost src]$ touch tom2.txt[tom@localhost src]$ ls -l tom2.txt-rw-rw-r-- 1 nfsnobody nfsnobody 0 06-12 17:31 tom2.txt //属主和属组都被改成nfsnobady。

nfs 参数

nfs 参数

nfs 参数NFS(Network File System)是一种分布式文件系统,可以让多个计算机通过网络共享文件。

在使用NFS时,需要设置一些参数来控制其行为和性能。

本文将详细介绍NFS参数的含义和设置方法。

一、NFS参数概述在Linux系统中,NFS参数主要包括以下几个方面:1. NFS服务端参数:这些参数用于控制NFS服务器的行为,例如共享目录、权限等。

2. NFS客户端参数:这些参数用于控制NFS客户端的行为,例如挂载远程目录、缓存大小等。

3. RPC(Remote Procedure Call)参数:这些参数用于控制RPC通信的行为,例如超时时间、连接数等。

4. TCP(Transmission Control Protocol)参数:这些参数用于控制TCP通信的行为,例如缓存大小、拥塞控制等。

5. UDP(User Datagram Protocol)参数:这些参数用于控制UDP 通信的行为,例如超时时间、最大传输单元等。

二、NFS服务端参数1. exportsexports文件是NFS服务器配置文件中最重要的部分之一。

它包含了所有需要共享给客户端的目录及其相关信息。

每个条目都由以下几个字段组成:<export-path> <client-options>其中,<export-path>表示需要共享的目录路径;<client-options>表示客户端可以使用的选项,例如权限、读写方式等。

例如:/home/user1 192.168.0.0/24(rw,all_squash)这个条目表示将/home/user1目录共享给192.168.0.0/24网段的客户端,并且允许读写操作,同时将所有客户端的UID和GID映射到匿名用户。

2. no_subtree_checkno_subtree_check参数用于控制NFS服务器是否检查共享目录的子目录。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NFS参数配置详细说明1、NFS概述NFS:Network file system,网络文件系统;由sun公司1984年推出,用来在网络中的多台计算机间实现资源共享(包括象文件或cd-rom);设计的目的是:实现在不同系统间交互使用,所以它的通信协议采用与主机和操作系统无关的技术;NFS Server可以看作是File Server,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使用NFS的远端文件就象是在使用本地文件一样;NFS协议从诞生到现在有多个版本:NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010);如何查看nfs当前的版本:rpm -qi portmaprpm -qi nfs-utilsNFS服务器的安装:可以由多种安装方法:----在安装linux系统时选择安装nfs服务对应的组件;(多数linux发行版本默认安装)----安装nfs的rpm套件包(手动安装)rpm -ivh rpm包需要5个RPM包。

setup-*:共享NFS目录在/etc/exports中定义(linux默认都安装)initscripts-*:包括引导过程中装载网络目录的基本脚本(linux默认都安装)nfs-utils-*:包括基本的NFS命令与监控程序portmap-*:支持安全NFS RPC服务的连接quota-*:网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)----也可以去下载nfs的源代码包,进行编译安装;RPC(Remote Procedure call) NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。

而这些传输协议用到这个RPC功能的。

可以说NFS本身就是使用RPC的一个程序。

或者说NFS也是一个RPC SERVER.所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。

这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。

可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

nfs在系统中的后台守护进程:nfsnfs服务需要启动的其他进程:rpc.nfsd:接收从远程系统发来的NFS请求,并将这些请求转化为本地文件系统请求;rpc.mountd:执行被请求的文件系统的挂接和卸载操作;rpc.portmapper:将远程请求映射到正确的NFS守护程序;rpc.statd:在远程主机重启时,提供加锁服务;rpc.quotaed:提供硬盘容量的管理能力,磁盘限额;rpcinfo -p 可以查看所要的守护进程时候正常运行;ps -ef | grep nfsdps -ef | grep mountdps -ef | grep protmap现在我们来查看服务器上有关NFS服务器启动了哪些端口:# lsof -i|grep rpcportmap 1931 daemon 3u IPv4 4289 UDP *:sunrpcportmap 1931 daemon 4u IPv4 4290 TCP *:sunrpc (LISTEN)rpc.statd 3206 statd 3u IPv4 7081 UDP *:1029rpc.statd 3206 statd 6u IPv4 7072 UDP *:838rpc.statd 3206 statd 7u IPv4 7085 TCP *:1031 (LISTEN)rpc.mount 3483 root 6u IPv4 7934 UDP *:691rpc.mount 3483 root 7u IPv4 7937 TCP *:694 (LISTEN)NFS服务的主配置文件:/etc/exports:格式:[共享的目录] [主机名或IP(参数,参数)]当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]第一列:欲共享出去的目录,也就是想共享到网络中的文件系统;第二列:可访问主机192.168.152.13 指定IP地址的主机 指定域名的主机192.168.1.0/24 指定网段中的所有主机* 指定域下的所有主机* 所有主机第三列:共享参数下面是一些NFS共享的常用参数:下面是一些NFS共享的常用参数:ro 只读访问rw 读写访问sync 所有数据在请求时写入共享async NFS在写入数据前可以相应请求secure NFS通过1024以下的安全TCP/IP端口发送insecure NFS通过1024以上的端口发送wdelay 如果多个用户要写入NFS目录,则归组写入(默认)no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

Hide 在NFS共享目录中不共享其子目录no_hide 共享NFS目录的子目录subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)no_subtree_check 和上面相对,不检查父目录权限all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

no_all_squash 保留共享文件的UID和GID(默认)root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)no_root_squas root用户具有根目录的完全管理访问权限anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID例如可以编辑/etc/exports为:/tmp*(rw,no_root_squash)/home/public192.168.0.*(rw)*(ro)/home/test192.168.0.100(rw)/home/linux*(rw,all_squash,anonuid=40,anongid=40)相关的命令:1、exportfs命令:如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:exportfs [-aruv]-a :全部mount或者unmount /etc/exports中的内容-r :重新mount /etc/exports中分享出来的目录-u :umount目录-v :在export的时候,将详细的信息输出到屏幕上。

具体例子:# exportfs -au 卸载所有共享目录# exportfs -rv 重新共享所有目录并输出详细信息2、启动NFS# service portmap start# service nfs start检查NFS的运行级别:# chkconfig --list portmap# chkconfig --list nfs根据需要设置在相应的运行级别自动启动NFS:# chkconfig --level 235 portmap on# chkconfig --level 235 nfs onnfsstat:查看NFS的运行状态,对于调整NFS的运行有很大帮助rpcinfo:查看rpc执行信息,可以用于检测rpc运行情况的工具另外,还需要查看系统的iptables、/etc/hosts.allow、/etc/hosts.deny是否设置了正确的NFS 访问规则;3、客户端操作和配置1、showmout命令对于NFS的操作和查错有很大的帮助,所以我们先来看一下showmount 的用法showmout-a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline 机器。

-e :显示指定的NFS SERVER上export出来的目录。

例如:showmount -e 192.168.0.30Export list for localhost:/tmp */home/linux */home/public (everyone)/home/test 192.168.0.100客户端运行以下命令MOUNT NFS文件系统#mount -t nfs 192.168.70.50:/opt /mnt/disk12、mount nfs目录的方法:mount -t nfs hostname(orIP):/directory /mount/point具体例子:Linux: mount -t nfs 192.168.0.1:/tmp /mnt/nfsmount nfs的其它可选参数:HARD mount和SOFT MOUNT:HARD: NFS CLIENT会不断的尝试与SERVER的连接(在后台,不会给出任何提示信息,在LINUX 下有的版本仍然会给出一些提示),直到MOUNT上。

SOFT:会在前台尝试与SERVER的连接,是默认的连接方式。

当收到错误信息后终止mount 尝试,并给出相关信息。

例如:mount -F nfs -o hard 192.168.0.10:/nfs /nfsrsize和wsize:文件传输尺寸设定:wsize 来进行设定。

这两个参数的设定对于NFS的执行效能有较大的影响bg:在执行mount时如果无法顺利mount上时,系统会将mount的操作转移到后台并继续尝试mount,直到mount成功为止。

(通常在设定/etc/fstab文件时都应该使用bg,以避免可能的mount不上而影响启动速度)fg:和bg正好相反,是默认的参数nfsvers=n:设定要使用的NFS版本,默认是使用2,这个选项的设定还要取决于server端是否支持NFS VER 3mountport:设定mount的端口port:根据server端export出的端口设定,例如如果server使用5555端口输出NFS,那客户端就需要使用这个参数进行同样的设定timeo=n:设置超时时间,当数据传输遇到问题时,会根据这个参数尝试进行重新传输。

默认值是7/10妙(0.7秒)。

如果网络连接不是很稳定的话就要加大这个数值,并且推荐使用HARD MOUNT方式,同时最好也加上INTR参数,这样你就可以终止任何挂起的文件访问。

intr 允许通知中断一个NFS调用。

当服务器没有应答需要放弃的时候有用处。

udp:使用udp作为nfs的传输协议(NFS V2只支持UDP)tcp:使用tcp作为nfs的传输协议namlen=n:设定远程服务器所允许的最长文件名。

相关文档
最新文档