Linux-centos上如何配置管理NFS服务器?

Linux/centos上如何配置管理NFS服务器?

1 NFS基础了解

  • NFS(Network File System)即文件操作系统;
  • NFS允许网络中不同计算机相互之间共享资源。

1.1 NFS概述

  • 1980年由SUN发展出来的在UNIX&Linux系统间实现文件共享的一种方法;
  • 是一种文件系统协议,支持应用程序在客户端通过网络存取位于服务器磁盘中的数据;
  • NFS只提供网络文件共享,不提供数据传输功能;
  • NFS客户端和服务端需借助RPC(Remote Procedure Calls)实现数据传输;
  • NFS服务器目录被访问称为导出(export),客户机访问导出目录过程称为挂载(mount)或导入(import)。

2.1 NFS工作流程

第一步:访问NFS共享资源,NFS客户端发出询问请求,即客户端RPC服务通过网络向服务端RPC服务的111端口发出询问请求。

第二步: NFS服务端RPC找到对应已注册的NFSdaemon端口,通知客户端RPC;

第三步:NFS客户端获取端口,直接与NFSNFSdaemon联机存储数据。

第四步:NFS客户端吧数据存储成功后,告诉用户结果。

2 安装和启动NFS服务

  • 一般情况,系统均已安装NFS;

  • 先检查下是否安装NFS,以下两个是相关的依赖包

    rpm -qa | grep nfs-utils
    rpm -qa | grep rpcbind
    

    请添加图片描述

  • 如果系统没有安装NFS依赖包,则需要安装:

    yum clean all
    yum -y install nfs-utils rpcbind
    

2.2 启动NFS服务

  • NFS状态查看:

    systemctl status rpcbind.service
    systemctl status nfs.service
    

    在这里插入图片描述

  • 启动NFS

    systemctl start rpcbind.service
    systemctl start nfs.service
    

    在这里插入图片描述

  • 停止NFS服务:

    systemctl stop nfs.service

  • 重启NFS服务:

    systemctl restart nfs.service

  • 设置开机自启动NFS服务:

    systemctl enable rpcbind.service

    systemctl enable nfs.service

3 配置NFS服务器和客户端

3.1 配置NFS服务器

  • 配置文件在/etc/exports
  • 格式为:

    共享目录 [客户端1(参数)] [客户端2(参数)]

    共享目录:NFS服务器需要共享的实际路径(绝对路径);  
    客户端:可以访问共享目录的计算机。
    
  • 客户端常用形式:
    客户端说明
    192.168.1.111指定IP地址的主机
    192.168.1.0/24指定子网的所有主机
    192.168.1.*指定子网的所有主机
    www.xxx.com指定域名的主机
    *.xxx.com指定域中的所有主机
    *所有主机
  • 常用访问权限:
    访问权限说明
    ro只读
    rw读写

用户映射参数

  • 用户映射参数表:
    用户映射说明
    all_squash将远程访问的所有用户映射为匿名用户或用户组(nfsnobody)
    no_all_squash与上边相反(默认设置)
    root_squash将root用户… (默认设置)
    no_root_squash与上边相反
    anonuid=xxx将该匿名账号为本地账号(UID=xxx
    anongid=xxx将该匿名用户组为本地用户组(GID=xxx)

其它参数:对输出目录进行控制。

  • 常用其它参数:

    其它参数说明
    secure限制客户端只能从小于1024的TCP/IP端口链接NFS
    insecure语序客户端大于1024的TCP/IP端口连接NFS
    sync将数据同步写入内存缓冲区与磁盘中
    async将数据先保存在缓冲区中,必要时才写入磁盘
    wdelay检查是否有相关的写操作
    no_wdelay有写操作立即执行,与sync配合使用
    subtree_check若输出目录为子目录,则NFS服务器将检查父目录的权限
    no_subtree_check若输出目录为子目录,则NFS服务器不检查父目录的权限
  • 比如将/mnt/temp目录,只给IP为172.16.1.33的计算机进行读写权限:

    /mnt/temp 172.16.1.33 (rw, sync)

  • 比如将/mnt/temp01目录,只给子网中为172.16.1.0/24的计算机进行读写权限,其他计算机制只读权限:

    /mnt/temp0 172.16.1.0/24 (rw, async) * (ro)

配置中不能有空格

在这里插入图片描述

在这里插入图片描述

3.2 配置NFS客户端

  • 查看NFS服务器信息:

    showmount [选项] (参数)
    

    -d:仅显示已被NFS客户端加载的共享目录;
    -e:显示NFS服务器上所有的共享目录。
    在使用showmount时建议关闭防火墙,将SELinux设为为允许。

    systemctl stop firewalld.service
    setenforce 0
    getenforce
    
  • 挂在NFS服务器的共享目录:

    将NFS的共享目录挂在到本地:
    mount -t NFS服务器IP:输出目录 本地挂在目录

  • 比如:

    mkdir /mnt/mytemp
    mount -t nfs 192.168.0.190:/mnt/mytemp /mnt/mytemp
  • 卸载NFS服务器:

    umount 挂载点
    
  • 启动时自动挂在NFS共享目录:

    192.168.0.190: /mnt/temp /mnt/mytemp nfs defaults 0 0

4 实际示例

4.1 基本要求

  • NFS服务器192.168.0.190;
    • 要求1:共享目录/mnt/temp,允许192.168.0.0/24网段内计算机访问;
    • 要求2:共享目录/mnt/share, 允许用户zhang访问,IP为192.168.0.10;
    • 要求3:共享目录/mnt/upload,允许192.168.0.0/24网段作为上传目录,所属组为nfsupload,UID和GID均为666;
    • 要求4:共享目录/mnt/nfs,除192.168.0.0/24网段用户访问,只读,可向internet提供数据内容;

4.2 案例实现

4.2.1 NFS服务器配置

  • 安装NFS服务:

    yum -y install rpcbind
    yum -y install nfs-utils
    
  • 创建目录和测试文件:

    # 创建目录:
    mkdir -p /mnt/public
    mkdir -p /mnt/minio
  • 编辑 vi /etc/exports

    在这里插入图片描述

  • 刷新配置exportfs -r

  • 查看共享exportfs -v

  • 启动服务

    systemctl start rpcbind
    systemctl start nfs
    
  • 设置开机自动启动

    systemctl enable rpcbind.service
    systemctl enable nfs-server.service
    

showmount -e 查看NFS服务器端共享目录

4.2.2 NFS客户端配置

  1. 关闭防火墙

    systemctl stop firewalld.service
    systemctl disable firewalld.service
    
  2. 关闭selinux

    vi /etc/selinux/config
    

    把SELINUX改成disabled

  3. 安装nfs-utils和rpcbind

    yum -y install nfs-utils rpcbind
    
  4. 启动服务

    systemctl start rpcbind
    systemctl start nfs
    
  5. 设置开机自动启动

    systemctl enable rpcbind.service
    systemctl enable nfs-server.service
    
  6. 查看服务端的共享目录

    showmount -e 192.168.0.243

  7. 建立本地目录

    mkdir /mnt/243_share_dir

  8. 把服务器端的共享目录mount到本地目录

    mount -t nfs 192.168.0.243:/share_dir /mnt/243_share_dir

    验证:

    df -h

  9. 编辑/etc/fstab,开机自动挂载

    vi /etc/fstab

  10. 在结尾添加如下一行

    192.168.0.243:/share_dir /mnt/243_share_dir nfs4 defaults 0 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/203050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机组成原理-数据寻址-(相对寻址 基址寻址 变址寻址 )

文章目录 指令寻址vs数据寻址总览偏移寻址基址寻址基址寻址的作用变址寻址变址寻址的作用基址&变址复合寻址相对寻址相对寻址的作用 总结硬件如何实现数的比较 指令寻址vs数据寻址 总览 偏移寻址 变址寄存器:IX 基址寄存器:BR 基址寻址 没有基址…

YashanDB练习SQL

查询当前实例的信息: SELECT * FROM v$instance;查询数据库的信息: SELECT * FROM v$database;查询数据库名称: SELECT database_name FROM v$database;创建用户sales并授予DBA角色: CREATE USER sales IDENTIFIED BY "S…

【Flink on k8s】- 7 - 在本地运行第一个 flink wordcount job

目录 1、环境准备 2、代码开发 3、启动运行 4、在控制台找到 web ui,查看监控

Pair<T, U>

Pair<T, U> 表示一个包含两个元素的有序对&#xff08;pair&#xff09;。这是一种泛型类型&#xff0c;其中 T 和 U 分别表示有序对中第一个和第二个元素的类型。通常&#xff0c;Pair 类型用于表示两个相关联的值&#xff0c;例如一对坐标、一对键值等。 在 TypeScrip…

Django大回顾 - 9 Auth模块的使用、缓存

【1】Auth模块 auth就是django 的一个app&#xff0c;做用户管理。 Django作为一个完美主义者的终极框架&#xff0c;当然也会想到用户的这些痛点。它内置了强大的用户认证系统–auth&#xff0c;它默认使用 auth_user 表来存储用户数据 默认的用户表示auth_user # 创建一个用…

GitHub工业级开源软件:基于网络的过程可视化(SCADA/HMI/仪表板)

GitHub工业级开源软件:基于网络的过程可视化(SCADA/HMI/仪表板)  作者:本站编辑  2023-11-25 06:52:35  117 大家好,我是 Fun-Fun君,每天介绍github上最有价值的开源项目 今天介绍 FUXA 基于网络的过程可视化(SCADA/HMI/仪表板)软件 github地址:…

ChatGPT能帮助--掌握各种AI绘图工具,随意生成各类型性图像

2023年随着OpenAI开发者大会的召开&#xff0c;最重磅更新当属GPTs&#xff0c;多模态API&#xff0c;未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…

Camunda 7.x 系列【60】流程分类

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 前言2. 案例演示2.1 后端2.2 前端2.3 测试1. 前言 钉钉中的OA审批分类: 企业级的业务…

UDP多人群聊

一.创建类 二.类 1.Liao类 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.net.*; import java.io.IOException; import java.lang.String;public class Liao extends JFrame{private static final int DEFAULT_PORT8899;private JLabel st…

QT使用http通信的同步和异步

在Qt与Http通信的时候&#xff0c;会根据不同的情况使用同步或者异步的方式进行数据请求。 同步&#xff0c;即发送Http请求之后&#xff0c;会一直等待服务器返回的数据&#xff0c;接收到数据之前&#xff0c;程序一直阻塞。 异步&#xff0c;即发送Http请求之后&#xff0…

【musl-pwn】msul-pwn 刷题记录 -- musl libc 1.2.2

前言 本文不分析 musl libc 相关源码&#xff0c;仅仅为刷题记录&#xff0c;请读者自行学习相关知识&#xff08;看看源码就行了&#xff0c;代码量也不大&#xff09; starCTF2022_babynote 保护&#xff1a;保护全开 程序与漏洞分析&#xff1a; 程序实现了一个菜单堆&…

自适应局部降噪滤波器的python实现-------冈萨雷斯数字图像处理

自适应局部降噪滤波器 自适应局部降噪滤波器是一种信号处理技术&#xff0c;用于降低图像或信号中的噪声水平&#xff0c;同时保留图像或信号的细节。其原理基于局部区域内信号的统计特性和噪声的特征&#xff0c;通过动态调整滤波器的参数来适应不同区域的信号和噪声属性。 自…

Mac系统升级node.js版本和npm版本

升级node.js版本 第一步&#xff1a;查询当前node.js版本 node -v 第二步&#xff1a;清除node.js的缓存 sudo npm cache clean -f 第三步&#xff1a;验证缓存是否清空 npm cache verify 第四步&#xff1a;安装n工具&#xff0c;n工具是专门用于管理node.js版本的工具…

Day52力扣打卡

打卡记录 Collapsing Strings&#xff08;Trie树&#xff09; 链接 #include <iostream> #include <algorithm> using namespace std; const int N 2e6 10; int son[N][26], idx, cnt1[N], cnt2[N]; int main() {auto insert [&](string& str, int* c…

【Qt】在表格QTableWidget或者QTableView中,当主键Id存在时更新数据,不存在时添加数据解决方案

问题 有时在开发中&#xff0c;表格需要显示数据&#xff0c;每一行呢&#xff0c;需要记录对应的id。 当更新表格数据时&#xff0c;会根据id进行更新&#xff0c;id存在就更新行数据&#xff0c;不存在就添加一行新数据。 解决方案 如何知道id存在还是不存在呢&#xff1f…

记一次CDH集群迁移产生的问题——HIVE

背景 生产环境CDH集群迁移到新的环境&#xff0c;迁移之后使用Hive Client方执行任务一直失败。 问题1&#xff1a;metadata.SessionHiveMetaStoreClient 产生报错&#xff1a; FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.Ru…

AOP操作日志记录

AOP操作日志记录 1.创建注解 Retention(RetentionPolicy.RUNTIME) Target(ElementType.METHOD) public interface PassportLog {String operatePage();String operateType();ClassTypEnum classType();}2.创建切面 对于字典&#xff0c;可以通过注解属性去转换&#xff0c;枚举…

车联网架构设计(二)_消息缓存

在上一篇博客车联网架构设计(一)_消息平台的搭建-CSDN博客中&#xff0c;我介绍了车联网平台需要实现的一些功能&#xff0c;并介绍了如何用EMQXHAPROXY来搭建一个MQTT消息平台。车联网平台的应用需要消费车辆发布的消息&#xff0c;同时也会下发消息给车辆&#xff0c;以实现车…

SpringBoot 属性配置解析

属性配置介绍 spring官方提供的17中属性配置的方式 Devtools全局配置测试环境TestPropertySource注解测试环境properties属性命令行参数SPRING_APPLICATION_JSON属性ServletConfig初始化参数ServletContext初始化参数JNDI属性JAVA系统属性操作系统环境变量RandomValueProperty…

解释区块链技术的应用场景和优势。

区块链技术的应用场景&#xff1a; 金融行业&#xff1a;区块链可用于加强支付、结算、借贷和保险等金融业务的安全性和效率。 物流行业&#xff1a;区块链可用于追踪物流信息&#xff0c;保证货物的安全、可靠和透明。 版权保护&#xff1a;区块链可用于储存数字资产和版权信…