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
相关推荐
考虑考虑6 小时前
docker compose环境变量替换
运维·后端·自动化运维
Java陈序员6 小时前
轻量运维面板!一款现代化的服务器控制面板工具!
运维·服务器·python·react.js·github
bosins7 小时前
WSL 迁移指南:如何将 Linux 环境完整复制到另一台电脑
linux·运维·服务器
IT利刃出鞘7 小时前
Docker Compose--安装WordPress--方法/示例
运维·docker·容器
企鹅的蚂蚁8 小时前
LubanCat RK3588 实时 Linux 开发(六):启用 gs_usb 驱动并完成 USB-CAN 收发
linux·rk3588·linux驱动·socketcan·gs_usb·usb-can
2601_962299888 小时前
Linux执行Python脚本方法
linux·python·脚本·解释器·shebang
snow@li8 小时前
服务器运维:Linux命令速查手册(全景梳理)
linux·服务器·网络
handler018 小时前
【Linux】线程与虚拟内存的底层世界
linux·运维·服务器·c++·线程·虚拟地址空间·共享内存
新时代牛马9 小时前
实时 Linux:PREEMPT_RT、延迟来源与观测
linux·运维·服务器
微露清风9 小时前
# Linux 进程全景:从 PCB 到 O(1) 调度队列
linux·服务器