1、NFS
  • NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
  • 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
  • NFS体系至少有两个主要部分:一台NFS服务器和若干台客户机,客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。
2、实现nfs文件系统共享
1) 服务端配置
  • 服务安装
    yum install nfs-utils -y #安装nfs文件系统软件
    systemctl start nfs-server #开启服务
    systemctl enable nfs-server.service #设置服务i开机自动启动
  • linux查看nfs共享 linux nfs共享_共享目录

  • 防火墙设置
    firewall-cmd --permanent --add-service=nfs #添加允许该服务
    firewall-cmd --permanent --add-service=rpc-bind #添加允许进行服务动态端口分配
    firewall-cmd --permanent --add-service=mountd #添加允许进行远程挂载
    firewall-cmd --reload #重新加载防火墙配置
  • 编辑共享说明文件,指定共享目录以及共享方式

vim /etc/exports # 在文件/etc/exports 中指定共享目录以及共享方式

/toto    *(sync,ro)        **#文件内容  共享目录 所有人可以查看   (同步数据  ,只读挂载)**

mkdir /toto #创建共享目录

exportfs -rv #刷新文件使得设定生效

2)客户端配置

showmount -e 172.25.47.104 #查看服务端共享出来的可以进行远程挂载的目录

Export list for 172.25.47.104:
/toto *    #显示该共享目录

mount 172.25.47.104:/toto /opt #将该共享目录挂载到客户端本地目录中

[root@client ~]# df              #查看挂载情况
Filesystem          1K-blocks    Used Available Use% Mounted on
/dev/vda1            10473900 3163600   7310300  31% /
devtmpfs               927060       0    927060   0% /dev
tmpfs                  942648      84    942564   1% /dev/shm
tmpfs                  942648   17032    925616   2% /run
tmpfs                  942648       0    942648   0% /sys/fs/cgroup
/dev/sr0              3654720 3654720         0 100% /run/media/root/RHEL-7.0 Server.x86_64
172.25.47.104:/toto  10473984 3167744   7306240  31% /opt         #该共享目录挂载成功

linux查看nfs共享 linux nfs共享_vim_02

3、客户端实现使用时自动挂载(autofs)

该设置是在客户端设置实现的

  • 在以上设置完成之后,共享目录被挂载在客户端本地目录中,但是一直是处于挂载状态,不论客户端是否使用该共享目录挂载。
  • 实现该共享目录在使用的时候自动挂载在指定的本地目录中,不使用的时候自动卸载。该功能由服务软件autofs实现。
1) 默认挂载
  • 安装autofs服务
    yum install autofs.x86_64 -y #安装autofs服务
    systemctl start autofs #启动服务
    systemctl enable autofs.service #设置服务开机启动

vim /etc/sysconfig/autofs #编辑autofs配置文件 设定空闲等待时间

11 #           minutes to be consistent with earlier autofs releases.
 12 #
 13 TIMEOUT=5    #修改13行的 空闲等带时间 5秒未使用自动卸载
 14 #
 15 # NEGATIVE_TIMEOUT - set the default negative timeout for

systemctl restart autofs.service #重新启动服务

  • 测试
    cd /net/172.25.47.104/toto #直接切换进去默认挂载目录 实现自动挂载

在不使用而退出该共享目录之后 经过5秒后 自动实现卸载

linux查看nfs共享 linux nfs共享_客户端_03

/net/ 为服务autofs 默认的共享挂载目录,可以进行设置将共享文件挂载在指定目录

2)指定共享挂载点

在不愿意将共享目录挂载在默认挂载点的情况下,可以通过设置指定挂载点:
/westos/redhat 为指定的挂载点进行说明
vim /etc/auto.master #编辑挂载策略文件

#
  /westos   /etc/westos.auto     #挂载点上级目录     指定的挂载配置文件
  # NOTE: mounts done from a hosts map will be mounted with the

vim /etc/westos.auto #编辑指定的挂载配置文件

redhat  -ro  172.25.47.104:/toto    #挂载点的相对路径   挂载参数    以及需要挂载的共享目录

systemctl restart autofs.service #重启服务使得设置生效

测试:

cd /westos/redhat #直接进入指定的挂载点 实现共享目录的指定挂载点挂载

linux查看nfs共享 linux nfs共享_客户端_04

3、共享目录的参数设定
1 读写挂载

实现客户端对共享目录具有写权限,需要设定:
1 服务端的该共享目录对其他用户具有写权限
2 共享目录实现读写共享
3 客户端进行读写挂载该共享目录

服务端设置:

linux查看nfs共享 linux nfs共享_vim_05


systemctl restart nfs-server.service #重新启动服务,使得设置生效

客户端设置

linux查看nfs共享 linux nfs共享_共享目录_06


systemctl restart autofs.service #重新启动服务,使得设置生效

测试:客户端挂载共享目录 具有写权限

linux查看nfs共享 linux nfs共享_共享目录_07

2 设定客户端创建文件的所有者以及所属组

1 默认情况下 nfsnobody nfsnobody

linux查看nfs共享 linux nfs共享_vim_08


2 指定客户端以root用户的身份创建文件

服务端进行设置共享参数:

vim /etc/exports

1 /toto    *(sync,rw,no_root_squash)      #t添加指定用户身份的参数 no_root_squash

systemctl restart nfs-server.service #重新启动服务,使得设置生效

测试:客户端挂载之后创建文件的所有人以及所属组均为root用户

linux查看nfs共享 linux nfs共享_客户端_09


3 以指定用户的身份以及所属组进行创建文件

服务端进行设置共享参数:

vim /etc/exports

1 /toto    *(sync,rw,anonuid=1000,anongid=1000)   #指定所有者为1000,所属组为1000

systemctl restart nfs-server.service #重新启动服务,使得设置生效

测试:客户端挂载之后创建文件的所有人以及所属组均为指定的:

linux查看nfs共享 linux nfs共享_共享目录_10

3 对特定的客户端设置共享参数

vim /etc/exports

1 /toto    *(sync,rw)    172.25.47.204(sync,ro)     #指定特定的主机进行只读共享

systemctl restart nfs-server.service #重新启动服务,使得设置生效

测试:使用该主机进行挂载,核实是否为只读挂载

linux查看nfs共享 linux nfs共享_linux查看nfs共享_11