CentOS系统安装NFS

目录

一、NFS简介

[二、NFS 的工作原理](#二、NFS 的工作原理)

服务器端

客户端

通信协议

三、NFS安装

NFS服务端安装

1.安装服务端NFS软件包

2.启动并设置开机自启服务

[3.创建NFS 共享目录](#3.创建NFS 共享目录)

[4.配置NFS 共享目录](#4.配置NFS 共享目录)

5.重新加载共享配置

NFS客户端安装

1.安装客户端软件包

2.查看服务端共享目录

3.创建挂载点并挂载NFS共享目录

4.验证挂载

5.设置开机自动挂载

6.测试NFS共享


一、NFS简介

**NFS,全称Network File System,即网络文件系统,**它是一种分布式文件系统协议,最初由 Sun Microsystems 于 1984 年开发。它允许用户通过网络访问远程文件系统,就像访问本地文件一样。NFS 是 UNIX 和 Linux 系统中常用的文件共享解决方案,广泛应用于服务器和客户端之间的文件共享。

NFS官网地址:Linux NFS-HOWTO

二、NFS 的工作原理

服务器端

  • 服务器将本地目录共享给网络中的客户端。
  • 通过 /etc/exports 文件定义共享目录和访问权限。

客户端

  • 客户端通过挂载(mount)命令将服务器的共享目录挂载到本地文件系统中。
  • 挂载后,客户端可以像操作本地文件一样操作远程文件。

通信协议

  • NFS 使用 RPC(Remote Procedure Call)协议进行通信。
  • 服务器和客户端之间通过 RPC 交换文件操作请求和响应。

三、NFS安装

NFS服务端安装

1.安装服务端NFS软件包

复制代码
yum install -y nfs-utils rpcbind

2.启动并设置开机自启服务

确保先启动 rpcbind 服务,再启动 nfs服务。

复制代码
systemctl start rpcbind & systemctl enable rpcbind
systemctl start nfs-server & systemctl enable nfs-server

3.创建NFS 共享目录

创建目录用于共享,并设置合适的权限。

bash 复制代码
mkdir -p /data/nfs_share
chmod 777 /data/nfs_share

4.配置NFS 共享目录

编辑/etc/exports文件,指定要共享的目录以及允许访问的客户端和权限。

参数说明:

  • rw:表示客户端具有读写权限。
  • sync:表示数据同步写入磁盘。
  • insecure:允许客户端从大于1024的TCP/IP端口连接服务器
  • no_subtree_check‌:不检查父目录权限‌
  • no_root_squash:表示允许客户端 root 用户拥有 root 权限。
bash 复制代码
[root@node1 ~]# vim /etc/exports
/data/nfs_share 192.168.5.11/24(rw,insecure,sync,no_subtree_check,no_root_squash)
/data/nfs_share 192.168.5.12/24(rw,insecure,sync,no_subtree_check,no_root_squash)

5.重新加载共享配置

修改/etc/exports文件后,需要重新加载配置使更改生效。

bash 复制代码
exportfs -r

NFS客户端安装

1.安装客户端软件包

bash 复制代码
yum install -y nfs-utils

2.查看服务端共享目录

使用 showmount 命令查看 NFS 服务端共享的目录。

bash 复制代码
showmount -e 192.168.5.10

3.创建挂载点并挂载NFS共享目录

在客户端创建一个目录作为挂载点,用于挂载 NFS 服务端的共享目录。

bash 复制代码
mkdir -p /mnt/nfs_share
mount 192.168.5.10:/data/nfs_share /mnt/nfs_share

4.验证挂载

bash 复制代码
[root@node2 ~]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
devtmpfs                       20G     0   20G   0% /dev
tmpfs                          20G     0   20G   0% /dev/shm
tmpfs                          20G  9.3M   20G   1% /run
tmpfs                          20G     0   20G   0% /sys/fs/cgroup
/dev/mapper/centos-root       480G  9.0G  471G   2% /
/dev/nvme0n1p2                297M  212M   86M  72% /boot
/dev/nvme0n1p1                200M   12M  189M   6% /boot/efi
/dev/mapper/centos01-data     910G  317M  864G   1% /data
cm_processes                   20G     0   20G   0% /run/cloudera-scm-agent/process
tmpfs                         3.9G     0  3.9G   0% /run/user/0
192.168.5.10:/data/nfs_share  915G  319M  868G   1% /mnt/nfs_share

5.设置开机自动挂载

bash 复制代码
vim /etc/fstab
192.168.5.10:/data/nfs_share /mnt/nfs_share nfs defaults 0 0

6.测试NFS共享

在客户端创建文件,检查服务器共享目录是否同步

复制代码
touch /mnt/nfs_share/testfile
相关推荐
jimmyleeee18 分钟前
Agent安全之一:Agent Goal Hijack(ASI01)----当智能体“正确地”执行了错误的目标
运维·网络·安全
东城居士27 分钟前
理解Linux LCD驱动编程
linux·嵌入式系统·1024程序员节
星恒随风32 分钟前
Linux线程同步与互斥:彻底理解读者写者问题、读写锁原理、读者优先与写者优先(附pthread完整实验)
linux·服务器·笔记·1024程序员节
_upupup35 分钟前
Linux中的进程
linux·服务器·1024程序员节
虚无的纽扣1 小时前
【Linux】线程同步:条件不满足时,线程该怎么等
linux·服务器·1024程序员节
爱好曙光1 小时前
生产延迟尖刺排查:用 bpftrace 抓系统调用与调度延迟
linux·ebpf·延迟·性能排查·bpftrace
啊哈一半醒1 小时前
Redis 三大缓存问题:缓存穿透、缓存击穿、缓存雪崩
运维·redis·1024程序员节
长不大的杨瑞杰1 小时前
OpenCode v2 CI 与自动化实战:无交互运行、权限收口与制品闭环
运维·人工智能·ci/cd·自动化·软件工程·1024程序员节
kaixin_learn_qt_ing1 小时前
Jenkins
运维·jenkins
Ruiery2 小时前
Linux 6.6内核并发与同步(一):原子操作与内存屏障 — 内核同步的硬件底座
linux·运维·服务器·1024程序员节