文章目录

  • nfs服务器配置
  • nfs的应用场景,优势及配置方式,效果参考实验
  • 实验一:手动搭建一个nfs服务器


nfs服务器配置

在客户端部署NFS服务来共享文件。NFS(网络文件系统)服务可以将远程Linux系统上的文件共享资源挂载到本地主机的目录上,从而使得本地主机(Linux客户端)基于TCP/IP协议,像使用本地主机上的资源那样读写远程Linux系统上的共享文件。

nfs的应用场景,优势及配置方式,效果参考实验

优势:1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
应用:
NFS 有很多实际应用。下面是比较常见的一些:

  1. 多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜跟方便。
  2. 在大型网络中,配置一台中心 NFS 服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。
  3. 不同客户端可在NFS上观看影视文件,节省本地空间。
  4. 在客户端完成的工作数据,可以备份保存到NFS服务器上用户自己的路径下。
    NFS是运行在应用层的协议。随着NFS多年的发展和改进,NFS既可以用于局域网也可以用于广域网,且与操作系统和硬件无关,可以在不同的计算机或系统上运行。

实验一:手动搭建一个nfs服务器

*开放/nfs/shared目录,供所有用户查阅资料
*开放/nfs/upload目录为192.168.118.0/24网段的数据上传目录,且要看到最终效果

两台Linux主机所使用的操作系统以及IP地址

主机名称

操作系统

IP地址

NFS服务器

RHEL 7

192.168.118.100

NFS客户端

RHEL 7

192.168.118.128

第一步:安装nfs-utils,开启,并加入到开机自启

yum -y install nfs-utils 
systemctl start nfs.service 
systemctl enable nfs.service 
关闭防火墙
[root@localhost ~]#   systemctl stop firewalld.service

第二步:在NFS服务器上建立用于NFS文件共享的目录,并设置足够的权限确保其他人也有写入权限。

[root@localhost ~]# mkdir /nfs/share
[root@localhost ~]# chmod 777 /nfs/share/
[root@localhost ~]# touch /nfs/share/111
[root@localhost share]# echo "hello world" > /nfs/share/111 
[root@localhost ~]# mkdir /nfs/upload
[root@localhost ~]# chmod 777 /nfs/upload
[root@localhost ~]# touch /nfs/upload/111
[root@localhost share]# echo "say hello world" > /nfs/upload/111

第3步:NFS服务程序的配置文件为/etc/exports,默认情况下里面没有任何内容。我们可以按照“共享目录的路径 允许访问的NFS客户端(共享权限参数)”的格式,定义要共享的目录与相应的权限。

[root@localhost upload]# vim /etc/exports

/nfs/share *(rw,sync)
/nfs/upload 192.168.118.0/24(rw,sync,anonuid=300,anongid=300)

第4步:启动和启用NFS服务程序。

[root@localhost ~]# exportfs -ar

客户端配置:
1:使用showmount命令查询NFS服务器的远程共享信息,其输出格式为“共享的目录名称 允许使用客户端地址”。

[root@client ~]# showmount -e 192.168.118.100
Export list for 192.168.118.100:
/nfs/share  *
/nfs/upload 192.168.118.0/24

2:然后在NFS客户端创建一个挂载目录。使用mount命令并结合-t参数,指定要挂载的文件系统的类型,并在命令后面写上服务器的IP地址、服务器上的共享目录以及要挂载到本地系统(即客户端)的目录。

[root@client mnt]# mkdir /nfs/share -p
[root@client mnt]# mount -t nfs 192.168.118.100:/nfs/share /nfs/share
[root@client ~]# mkdir /nfs/upload -p
[root@client ~]# mount -t nfs 192.168.118.100:/nfs/upload /nfs/upload/

3:挂载成功后就应该能够顺利地看到在执行前面的操作时写入的文件内容了。如果希望NFS文件共享服务能一直有效,则需要将其写入到fstab文件中

[root@client ~]# cat /nfs/share/111
hello world

[root@client ~]# vim /etc/fstab 


#
# /etc/fstab
# Created by anaconda on Tue Jul 31 08:55:47 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root   /                       xfs     defaults        1 1
UUID=ae488a32-5b75-44f6-80ff-7fcb960aa4ae /boot                   xfs     defaults        1 2
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
192.168.118.100:/nfs/share /nfs/share defaults 0 0
第二个要求测试
[root@client ~]# cat /nfs/upload/111 
say hello world 
[root@client ~]# cd /nfs/upload/
[root@client upload]# touch test
[root@client upload]# echo "this is a test file" > /nfs/upload/test 
[root@client upload]# ls
111  test
[root@client upload]# cat test
this is a test file
服务器端
[root@localhost upload]# ls
111  test
[root@localhost upload]# cat test 
this is a test file