一、nfs解释

  NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。


以下是NFS最显而易见的好处:

1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。

2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。

3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。


我主要是为了节省本地存储空间。


二、nfs安装

服务器:10.201.82.6

客户端:10.201.82.10


1、服务器端:

[root@nfs-server ~]# yum -y install nfs-utils rpcbind


把该目录共享给客户端82.10,可读可写,还同步,来访的root用户保持root帐号权限(可能会不安全)

[root@nfs-server ~]# vi /etc/exports

/var/log/shterm/2016/ 10.201.82.10(rw,sync,no_root_squash)


使配置生效

[root@nfs-server ~]# exportfs -rv

exporting 10.201.82.10:/var/log/shterm/2016


启动服务

[root@nfs-server ~]# /etc/init.d/rpcbind start

[root@nfs-server ~]# /etc/init.d/nfs start


设置开机自动启动nfs服务

chkconfig rpcbind on

chkconfig nfs on


2、客户端:

[root@nfs-bljbak ~]# yum -y install nfs-utils


创建挂载目录

[root@nfs-bljbak ~]# mkdir /home/shterm


查看共享状态

[root@nfs-bljbak ~]# showmount -e 10.201.82.6

Export list for 10.201.82.6:

/var/log/shterm/2016 10.201.82.10


-t nfs :表示挂载文件的文件系统格式,也可以省略

[root@nfs-bljbak ~]# mount -t nfs 10.201.82.6:/var/log/shterm/2016 /home/shterm/


挂载成功之后,可以用df -h命令查看


设置开机自动挂载

[root@nfs-bljbak ~]# vi /etc/fstab

10.201.82.6:/var/log/shterm/2016 /home/shterm/ nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0,nolock  0 0

mount命令

mount -a 的意思是将/etc/fstab的所有内容重新加载。

mount 是显示/etc/fstab的内容。



三、命令参数

1、重启nfs或者使用exportfs命令使nfs配置生效

service nfs restart 或者 exportfs -rv


#exportfs用法

 -a :全部mount或者unmount /etc/exports中的内容 

 -r :重新mount /etc/exports中分享出来的目录 

 -u :umount 目录 

 -v :将详细的信息输出到屏幕上




2、nfs参数:

ro                     该主机对该共享目录有只读权限

rw                     该主机对该共享目录有读写权限

root_squash              (默认)客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户

no_root_squash             客户机用root访问该共享文件夹时,不映射root用户

all_squash                客户机上的任何用户访问该共享目录时都映射成匿名用户

no_all_squash           (默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组

anonuid                将客户机上的用户映射成指定的本地用户ID的用户。匿名用户的UID值,                       通常是nobody或nfsnobody,可以在此处自行设定

anongid                将客户机上的用户映射成属于指定的本地用户组ID。匿名用户的GID值

sync                   资料同步写入到内存与硬盘中,适用在通信比较频繁且实时性比较高的场合

async                  资料会先暂存于内存中,稍候再写入硬盘,性能较好(速度快),                              适合超大或者超多文件的写入,但有数据丢失的风险,比如突然断电等情况

insecure               允许从这台机器过来的非授权访问

secure                (默认):限制客户端只能从小于1024的tcp/ip端口连接服务器

insecure               允许客户端从大于1024的tcp/ip端口连接服务器



3、showmount命令

这是另一个重要的nfs指令。exportfs是用于在nfs server端进行设置,查询的。而showmount则主要用于Client端,用于查看NFS分享出来的目录资源。

-e   显示导出服务器上的所有文件系统。

-a   显示每个已安装在服务器上的所有网络文件系统 (NFS) 客户端和目录。

-d   显示当前装载 NFS 客户端的服务器上的所有目录。


4、客户端报错解决

(1) df: `/home/shterm': Stale file handle


[root@nfs-bljbak ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_nfsbljbak-lv_root

                       50G  814M   46G   2% /

tmpfs                 939M     0  939M   0% /dev/shm

/dev/sda1             485M   32M  428M   7% /boot

/dev/mapper/vg_nfsbljbak-lv_home

                      3.0T  593M  2.8T   1% /home

df: `/home/shterm': Stale file handle


卸载目录,重新挂载即可

[root@nfs-bljbak ~]# umount -lf /home/shterm 

[root@nfs-bljbak ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_nfsbljbak-lv_root

                       50G  814M   46G   2% /

tmpfs                 939M     0  939M   0% /dev/shm

/dev/sda1             485M   32M  428M   7% /boot

/dev/mapper/vg_nfsbljbak-lv_home

                      3.0T  593M  2.8T   1% /home


(2) umount.nfs: /home/shterm: device is busy

[root@nfs-bljbak ~]# umount -lf /home/shterm 

[root@nfs-bljbak ~]# mount -t nfs 10.201.82.6:/var/log/shterm/ /home/shterm/

[root@nfs-bljbak ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_nfsbljbakserver-lv_root

                       50G  859M   46G   2% /

tmpfs                 939M     0  939M   0% /dev/shm

/dev/sda1             485M   32M  428M   7% /boot

/dev/mapper/vg_nfsbljbakserver-lv_home

                      3.0T  1.8T  1.1T  64% /home

10.201.82.6:/var/log/shterm/

                      1.8T  358G  1.4T  21% /home/shterm