CentOS系统安装NFS

news/2025/2/24 17:21:26

目录

一、NFS简介

二、NFS 的工作原理

服务器端

客户端

通信协议

三、NFS安装

NFS服务端安装

1.安装服务端NFS软件包

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

3.创建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 共享目录

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

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 权限。
[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文件后,需要重新加载配置使更改生效。

exportfs -r

NFS客户端安装

1.安装客户端软件包 

yum install -y nfs-utils

2.查看服务端共享目录

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

showmount -e 192.168.5.10

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

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

mkdir -p /mnt/nfs_share
mount 192.168.5.10:/data/nfs_share /mnt/nfs_share

 4.验证挂载

[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.设置开机自动挂载

vim /etc/fstab
192.168.5.10:/data/nfs_share /mnt/nfs_share nfs defaults 0 0

 6.测试NFS共享

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

touch /mnt/nfs_share/testfile


http://www.niftyadmin.cn/n/5864641.html

相关文章

如何在 macOS 上配置 MySQL 环境变量

如何在 macOS 上配置 MySQL 环境变量 步骤 1: 查找 MySQL 安装路径 打开终端,使用以下命令查找 mysql 的可执行文件路径: which mysql如果该命令没有返回结果,可以使用 find 命令: sudo find / -name "mysql" 2>/de…

小波变换背景预测matlab和python样例

小波变换使用matlab和python 注意1d和2d的函数区别。注意默认参数问题。最终三个版本结果能够对齐。 matlab load(wave_in.mat)% res: image of 1536 x 1536 th1; dlevel7; wavenamedb6;[m,n] wavedec2(res, dlevel, wavename);vec zeros(size(m)); vec(1:n(1)*n(1)*1) m…

C语言多人聊天室 ---chat(客户端聊天)

head.h #ifndef __HEAD_H #define __HEAD_H// 常用头文件 #include <stdio.h> #include <stdlib.h> #include <string.h>// 网络编程涉及的头文件 #include <sys/socket.h> #include <netinet/in.h> #include <netinet/ip.h>#include <…

给小米/红米手机root(工具基本为官方工具)——KernelSU篇

目录 前言准备工作下载刷机包xiaomirom下载刷机包【适用于MIUI和hyperOS】“hyper更新”微信小程序【只适用于hyperOS】 下载KernelSU刷机所需程序和驱动文件 开始刷机设置手机第一种刷机方式【KMI】推荐提取boot或init_boot分区 第二种刷机方式【GKI】不推荐 结语 前言 刷机需…

【HeadFirst系列之HeadFirst设计模式】第10天之迭代器与组合模式:遍历与管理的艺术

迭代器与组合模式&#xff1a;遍历与管理的艺术 在《Head First 设计模式》中&#xff0c;**迭代器模式&#xff08;Iterator Pattern&#xff09;和组合模式&#xff08;Composite Pattern&#xff09;**是两个非常重要的设计模式。迭代器模式帮助我们遍历集合中的元素&#…

pikachu靶场搭建教程

需要的东西 phpStudy&#xff1a; 链接&#xff1a; https://pan.baidu.com/s/1fJ-5TNtdDZGUf5FhTm245g 提取码&#xff1a;0278 pikachu-master&#xff1a; Github链接&#xff1a;https://github.com/zhuifengshaonianhanlu/pikachu 链接&#xff1a; https://pan.baidu.c…

Java实现斗地主-做牌以及对牌排序

卡牌类 public class Card {private String size;//大小private String color;//花色private int value;//权值public Card() {}public Card(String size, String color, int value) {this.size size;this.color color;this.value value;}public String toString(){return …

vue2 和 vue3 中 computer 计算属性的用法

Vue 2 中的 computed 在 Vue 2 中&#xff0c;计算属性是响应式的&#xff0c;并且基于 getter 进行缓存&#xff0c;只有依赖的响应式数据发生变化时才会重新计算。 基本用法 <template><div><p>原始消息&#xff1a;{{ message }}</p><p>反…