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
相关推荐
冰冰的coco3 分钟前
如何设置需要sudo的命令开机自启动
linux·运维·服务器
辞旧 lekkk5 分钟前
【Linux】Linux进程控制(三)自主实现简易shell命令行解释器
linux·运维·服务器·学习·萌新
HIT_Weston16 分钟前
119、【Ubuntu】【Hugo】首页板块配置:Template Lookup Order
linux·运维·ubuntu
wangt595219 分钟前
Ubuntu22.04.5的网络配置在重启后被重置的问题
linux·运维·服务器
不被定义的程序猿20 分钟前
如何使用docker搭建一个 aarch-linux-gun-gcc的交叉编译环境
linux·运维·服务器
RisunJan22 分钟前
Linux命令-logrotate(自动轮转、压缩、删除和邮件发送日志文件)
linux·运维·服务器
Marry Andy32 分钟前
Atlas 300l Duo部署qwen3_32b_light
linux·人工智能·经验分享·语言模型·自然语言处理
ALGO阿狗38 分钟前
一款简单易用的远程日志查看器,可实时查看云服务器上的日志数据
运维·服务器·日志
微露清风41 分钟前
系统性学习Linux-第三讲-进程概念
linux·运维·学习
请你喝好果汁64141 分钟前
Linux-sh -c \dirname
linux·运维·服务器