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
相关推荐
Johny_Zhao15 分钟前
CentOS Stream 9上部署FTP应用服务的两种方法(传统安装和docker-compose)
linux·网络安全·信息安全·kubernetes·云计算·containerd·ftp·yum源·系统运维
一个网络学徒1 小时前
MGRE综合实验
运维·服务器·网络
守望时空331 小时前
RustDesk搭建指南
linux
C++ 老炮儿的技术栈1 小时前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
白鹭2 小时前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache
java叶新东老师2 小时前
linux 部署 flink 1.15.1 并提交作业
linux·运维·flink
程序员JerrySUN3 小时前
Linux系统架构核心全景详解
linux·运维·系统架构
无敌的牛3 小时前
Linux文件理解,基础IO理解
linux·运维·服务器
angushine3 小时前
鲲鹏服务器logstash采集nginx日志
运维·服务器·nginx
未来之窗软件服务3 小时前
跨平台 WebSocket 服务器的设计与实现 —— 基于.NET 8 的跨操作系统解决方案linux,macos,windows——开发工具
linux·服务器·websocket·仙盟创梦ide·东方仙盟