欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

NFS

程序员文章站 2024-03-08 18:43:28
...

NFS

nfs特点

  • NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。
  • 在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
  • nfs适用于Linux与Unix之间的文件共享,不能和Windows实现共享
  • nfs是运行在应用层的协议,监听在2049/tcp和2049/udp套接字上
  • nfs服务只能基于IP进行认证,这是它的缺点之一

nfs好处

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

nfs组成

NFS体系至少有两个主要部分:
一台NFS服务器和若干台客户机,如右图所示。
客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。
在NFS服务器正式启用前,需要根据实际环境和需求,配置一些NFS参数。

nfs应用

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

搭建nfs服务器

@aaa 客户端 IP:192.168.102.128
@bbb 服务端 IP:192.168.102.129

安装nft服务

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

启动rpcbind nfs-server两个服务(有111和2049就是启动了)

[root@bbb ~]#  systemctl start rpcbind nfs-server
[root@bbb ~]# ss -antl
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN      0      128     *:111                 *:*                  
LISTEN      0      128     *:20048               *:*                  
LISTEN      0      128     *:22                  *:*                  
LISTEN      0      100    127.0.0.1:25                  *:*                  
LISTEN      0      64      *:38593               *:*                  
LISTEN      0      64      *:2049                *:*                  
LISTEN      0      128     *:58210               *:*                  
LISTEN      0      128    :::111                :::*                  
LISTEN      0      128    :::20048              :::*                  
LISTEN      0      64     :::32787              :::*                  
LISTEN      0      128    :::22                 :::*                  
LISTEN      0      128    :::43415              :::*                  
LISTEN      0      100       ::1:25                 :::*                  
LISTEN      0      64     :::2049               :::*

创建一个共享目录

[root@bbb ~]# mkdir -p /nfs/shared

编辑exports文件开放192.168.102.128,重启exportfs

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

/nfs/shared 192.168.102.128(ro,sync)

[root@bbb ~]# exportfs -ar

客户端
安装nfs-utils软件包

[root@aaa ~]# yum -y provides nfs-utils

显示指定的nfs服务器上所有输出的共享目录

[root@aaa ~]# showmount -e 192.168.102.129

创建一个目录 将服务端上共享的文件挂载到这个目录

[root@aaa ~]# mount -t nfs 192.168.102.129:/opt/shared /nfs/
[root@aaa ~]# df
文件系统                       1K-块    已用     可用 已用% 挂载点
/dev/mapper/rhel-root       17811456 1256476 16554980    8% /
devtmpfs                      922408       0   922408    0% /dev
tmpfs                         933524       0   933524    0% /dev/shm
tmpfs                         933524    8848   924676    1% /run
tmpfs                         933524       0   933524    0% /sys/fs/cgroup
/dev/sda1                    1038336  146024   892312   15% /boot
tmpfs                         186708       0   186708    0% /run/user/0
/dev/sr0                     3963760 3963760        0  100% /mnt
192.168.102.129:/opt/shared 17811456 1257728 16553728    8% /nfs

效果演示

[root@aaa ~]# cd /nfs/
[root@aaa nfs]# ll
总用量 4
-rw-r--r-- 1 nfsnobody nfsnobody  0 911 16:21 11
-rw-r--r-- 1 nfsnobody nfsnobody 12 911 11:37 aa
drwxr-xr-x 2 nfsnobody nfsnobody  6 911 11:42 bb
[root@aaa nfs]# touch 22
touch: 无法创建"22": 只读文件系统
[root@aaa nfs]# cat aa 
hello world

开放/nfs/upload目录为192.168.102.0/24网段的数据上传目录,并将所有用户及所属的用户组都映射为nfs-upload,其UID与GID均为300

创建共享目录

[root@bbb ~]# mkdir -p /nfs/upload


----------

编辑exports,开放给192.168.102.0/24网段的所有用户,将共享目录设为可读可写

[root@bbb nfs]# vim /etc/exports
/nfs/shared 192.168.102.128(ro,sync)
/nfs/upload 192.168.102.0/24(rw,sync)


----------

挂载
[root@aaa nfs]# mount -t nfs 192.168.102.129:/nfs/upload /nfs-upload
mount.nfs: access denied by server while mounting 192.168.102.129:/nfs/upload
客户端
前
[root@aaa nfs-upload]# ll
总用量 0
后
[root@aaa nfs-upload]# touch 11
[root@aaa nfs-upload]# ll
总用量 0
-rw-r--r-- 1 root root 0 911 19:17 11
相关标签: NFS