环境:

server:    xuexi.com(rhel6.5)

client:    study.com(rhel6.5)

NFS:Network File System即网络文件系统,NFS允许一个系统在网络上与他人共享目录和文件,通过使用NFS用户和程序像访问本地文件一样访问远端系统上的文件。


工作模式:    C/S

应用端口:

nfs:2049


系统安装:

[root@xuexi ~]# yum -y install nfs-util

相关管理命令:

    mount    showmount

主配置文件

[root@xuexi ~]# ls /etc/exports

查看2049端口是否开放

[root@xuexi ~]# netstat -antpu | grep 2049

开启服务:

[root@xuexi ~]# service nfs start

配置开机自动启动

chekconfig nfs on

服务使用

[root@study local]# showmount -e 10.10.125.4

Export list for 10.10.125.4:

文件挂载

首先在服务端添加挂载共享出去的文件夹即权限

[root@xuexi ~]# vim /etc/exports 

/mnt    *(rw)

/etc/exports书写格式
需要共享出去的目录        [hostname、IP、域名、*] [rw] [sync] [all_squash]
ceshi1  *(rw,no_root_squash)
ceshi2  10.10.125.1(rw,sync)
ceshi3  10.10.125.0/24(ro)
ceshi4  *.study.com(rw,all_squash,anonuid=500,angongid=500)
ceshi5  10.10.125.0/24(rw) 10.10.124.0/24(rw)

参数说明:
sync/async:数据同步写入硬盘/不同步写入在内存中缓存
root_squash(压制):如果用root登录nfs,使其身份自动切换成nfsnobody。
no_root_squash:如果用root登录nfs,使其身份就是root。
all_squash:用户登录nfs时,指定身份为UID/GID的用户。

相关参数参考博文:http://zhengkangkang.blog.51cto.com/12015643/1873779


此项中发布恭喜下昂的目录是必根参数其他为可选参数,发布的共享目录与客户端之间及客户端与客户端之间需要空格,客户端与参数之间不能有空格

客户端挂载

[root@study ~]# mount 10.10.125.4:/mnt/ /nfs


[root@study ~]# df -h

Filesystem          Size  Used Avail Use% Mounted on

/dev/sda2           9.7G  4.1G  5.1G  45% /

tmpfs               672M     0  672M   0% /dev/shm

/dev/sda1           194M   28M  156M  16% /boot

/dev/sr0            3.6G  3.6G     0 100% /mnt

/dev/sdb5            20G  3.4G   16G  19% /data

10.10.125.4:/ceshi  7.7G  4.2G  3.2G  57% /nfs



验证

[root@study ~]# for i in {1..5};do mount 10.10.125.4:/share/ceshi${i} /share/ceshi${i};done
mount.nfs: access denied by server while mounting 10.10.125.4:/share/ceshi4
[root@study ~]# df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/sda2                  9.7G  4.1G  5.1G  45% /
tmpfs                      672M     0  672M   0% /dev/shm
/dev/sda1                  194M   28M  156M  16% /boot
/dev/sr0                   3.6G  3.6G     0 100% /mnt
/dev/sdb5                   20G  3.4G   16G  19% /data
10.10.125.4:/share/ceshi1  7.7G  4.2G  3.2G  57% /share/ceshi1
10.10.125.4:/share/ceshi2  7.7G  4.2G  3.2G  57% /share/ceshi2
10.10.125.4:/share/ceshi3  7.7G  4.2G  3.2G  57% /share/ceshi3
10.10.125.4:/share/ceshi5  7.7G  4.2G  3.2G  57% /share/ceshi5

咦:/share/ceshi4 没有共享出来耶

ceshi4  *.study.com(rw,all_squash,anonuid=500,angongid=500)

mount.nfs: access denied by server while mounting 10.10.125.4:/share/ceshi4


对于几个共享出来的权限进行对比及测试:

[root@study share]# for id in {1..5};do echo "${id}" >> ceshi${id}/111 ;done
-bash: ceshi2/111: 权限不够
-bash: ceshi3/111: 只读文件系统
-bash: ceshi4/111: 权限不够
-bash: ceshi5/111: 权限不够

测试结果表明只有ceshi1可写其他均没有可写权限

[root@study share]# for id in {1..5};do cat ceshi${id}/* ;echo "ceshi${id}";done

各个nfs系统均可读


实现开机自动挂载


echo “10.10.125.4:/share/ceshi1 /share/ceshi1 nfs    defaults    0 0”>> /etc/fstab

验证

[root@study ceshi4]# mount -a


触发式自动挂载

nfs实现触发式自动挂载则需要依赖工具autofs,其涉及的两个文件分别为/etc/auto.master  和/etc/auto.misc文件

安装

[root@study ceshi4]# yum -y install autofs

[root@study ceshi4]# mkdir nfs                        #创建挂载目录

[root@study nfs]# vim /etc/auto.master          #配置指定挂载的文件目录

/share/ceshi2   /etc/auto.nfs --timeout=60     #指定挂载配置文件以及超时时间60s


[root@study nfs]# cat /etc/auto.nfs                #配置挂载点和挂载类型及nfs服务器共项出来的目录

nfs -fstype=nfs 10.10.125.4:/share/ceshi2

重启autofs服务

service autofs restart

验证

cd /share/ceshi2/nfs

df -h
10.10.125.4:/share/ceshi2  7.7G  4.2G  3.2G  57% /share/ceshi2/nfs