NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法, 使用NFS服务能够方便地使各unix-like系统之间实现共享,但如果需在unix-like和windows系统之间共享,那就需要samba了。
NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的。NFS应用场景,常用于高可用文件共享,多台服务器共享同样的数据,可扩展性比较差,本身高可用方案不完善,取而代之的数据量比较大的可以采用MFS、TFS、HDFS等等分布式文件系统。NFS服务器监听portmap端口udp和tcp 111、nfsd端口udp和tcp 2049、手动指定mountd端口udp和tcp xxx,那就需要在本地防火墙允许这些端口访问
- 一 . 配置 NFS 服务器
- 安装nfs-utils
[root@localhost ~]# dnf -y install nfs-utils
==============================================================================================================================================================================================================================================================================软件包 架构 版本 仓库 大小
==============================================================================================================================================================================================================================================================================
安装:nfs-utils x86_64 1:2.3.3-59.el8 rhel-8-baseos-rpms 515 k
安装依赖关系:gssproxy x86_64 0.8.0-21.el8 rhel-8-baseos-rpms 119 kkeyutils x86_64 1.5.10-9.el8 rhel-8-baseos-rpms 66 klibev x86_64 4.24-6.el8 rhel-8-appstream-rpms 52 klibverto-libev x86_64 0.3.2-2.el8 rhel-8-appstream-rpms 16 k事务概要
================================================================================================================================================================================================================
安装 5 软件包
=============================
总下载:769 k
安装大小:2.0 M
下载软件包:
(1/5): keyutils-1.5.10-9.el8.x86_64.rpm 14 MB/s | 66 kB 00:00=============================总计 62 MB/s | 769 kB 00:00
运行事务准备中 : 1/1安装 : libev-4.24-6.el8.x86_64 =============================5/5运行脚本: nfs-utils-1:2.3.3-59.el8.x86_64 5/5验证 : gssproxy-0.8.0-21.el8.x86_64 5/5
已更新安装的产品。已安装:gssproxy-0.8.0-21.el8.x86_64 keyutils-1.5.10-9.el8.x86_64 libev-4.24-6.el8.x86_64 libverto-libev-0.3.2-2.el8.x86_64 nfs-utils-1:2.3.3-59.el8.x86_64完毕!
- 配置nfs目录
[root@localhost ~]# cat /etc/exports
/home/nfsshare * (rw,no_root_squash)[root@localhost ~]# mkdir -p /home/nfsshare
3.开机自启动服务
[root@localhost ~]# systemctl enable --now rpcbind nfs-server查看服务状态
[root@localhost ~]# systemctl status rpcbind nfs-server
● rpcbind.service - RPC BindLoaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)Active: active (running) since Tue 2024-10-29 10:09:02 EDT; 15min agoDocs: man:rpcbind(8)Main PID: 27534 (rpcbind)Tasks: 1 (limit: 26213)Memory: 984.0KCGroup: /system.slice/rpcbind.service└─27534 /usr/bin/rpcbind -w -f10月 29 10:09:02 localhost.localdomain systemd[1]: Starting RPC Bind...
10月 29 10:09:02 localhost.localdomain systemd[1]: Started RPC Bind.● nfs-server.service - NFS server and servicesLoaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)Drop-In: /run/systemd/generator/nfs-server.service.d└─order-with-mounts.confActive: active (exited) since Tue 2024-10-29 10:09:02 EDT; 15min agoMain PID: 27564 (code=exited, status=0/SUCCESS)Tasks: 0 (limit: 26213)Memory: 0BCGroup: /system.slice/nfs-server.service10月 29 10:09:02 localhost.localdomain systemd[1]: Starting NFS server and services...
10月 29 10:09:02 localhost.localdomain exportfs[27548]: exportfs: /etc/exports:1: unknown keyword "(rw"
10月 29 10:09:02 localhost.localdomain systemd[1]: Started NFS server and services
/etc/exports 中条目的默认选项
ro 只读访问rw 读写访问sync 所有数据在请求时写入共享hide 在NFS共享目录中不共享其子目录no\_hide 共享NFS目录的子目录all\_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。no\_all\_squash 保留共享文件的UID和GID(默认)root\_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)no\_root\_squas root用户具有根目录的完全管理访问权限
- 二 . 配置 NFS 客户端以在 NFS 客户端上挂载 NFS 共享
安装nfsnfs-utils
[root@rhel8 ~]# yum -y install nfs-utils
测试是否可以访问nfs目录
[root@rhel8 ~]# showmount -e 10.255.xxx.xxx
Export list for 10.255.xxx.xxx:
/home/nfsshare *
挂载nfs目录
[root@rhel8 ~]# mount -t nfs 10.255.xxx.xxx:/home/nfsshare /mnt/
[root@rhel8 ~]#
查看挂载
[root@rhel8 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 1.5M 7.9G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/mapper/VolGroup-lv_root 50G 39G 8.5G 82% /
/dev/mapper/VolGroup-lv_home 41G 24K 39G 1% /home
/dev/sda1 474M 221M 225M 50% /boot
tmpfs 1.6G 12K 1.6G 1% /run/user/42
tmpfs 1.6G 4.0K 1.6G 1% /run/user/0
10.255.xxx.xxx:/home/nfsshare 100G 789M 100G 1% /mnt
关注小张的知识杂货铺,让我们一起学习一起进步