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.rhkb.cn/news/214079.html

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

相关文章

键盘打字盲打练习系列之反复练习——3

一.欢迎来到我的酒馆 盲打,反复练习! 目录 一.欢迎来到我的酒馆二.数字&符号键位指法1.数字键位指法2.符号键位指法 三.反复练习 二.数字&符号键位指法 前面的一个章节重点介绍了主键盘区字母键位的指法:基准键位指法、" QWERTY…

计算机基础知识65

cookie和session的使用 # 概念:cookie 是客户端浏览器上的键值对 # 目的:为了做会话保持 # 来源:服务端写入的,服务端再返回的响应头中写入,浏览器会自动取出来 存起来是以key value 形式,有过期时间、path…

【11】Qt Designer

目录 VSCode添加外部工具 QtDesigner PyUIC PyRCC 加载UI文件模板代码 QMainWindow QWidget 常用知识点 1. 修改标题图标 2. 图片资源管理 3. 图片按钮 4. 加载对话框 5. 动态加载Widget 6. 修改主题 其他注意事项 事件被多次触发 PyQt5提供了一个可视化图形工…

02 CSS基础入门

文章目录 一、CSS介绍1. 简介2. 相关网站3. HTML引入方式 二、选择器1. 标签选择器2. 类选择器3. ID选择器4. 群组选择器 四、样式1. 字体样式2. 文本样式3. 边框样式4. 表格样式 五、模型和布局1. 盒子模型2. 网页布局 一、CSS介绍 1. 简介 CSS主要用于控制网页的外观&#…

联合基于信息论的安全和隐蔽通信的框架

这个标题很帅 abstractintroductionsystem modelPROPOSED JOINT OPTIMIZATION OF ITS AND COVERT TRANSMISSION RATE信息论安全 (ITS)隐蔽通信需要(CC)Joint Information-Theoretic Secrecy and Covert Communication in the Presence of an Untrusted User and Warden 202…

章鱼网络进展月报 | 2023.11.1-11.30

章鱼网络大事摘要 1、2023年12月,Octopus 2.0 将会正式启动。 2、隐私协议 Secret Network 宣布使用 Octopus Network 构建的 NEAR-IBC 连接 NEAR 生态。 3、Louis 受邀作为嘉宾,在 NEARCON2023 的多链网络主题沙龙中发言:我们依然处于区…

2022年第十一届数学建模国际赛小美赛C题人类活动分类解题全过程文档及程序

2022年第十一届数学建模国际赛小美赛 C题 人类活动分类 原题再现: 人类行为理解的一个重要方面是对日常活动的识别和监控。可穿戴式活动识别系统可以改善许多关键领域的生活质量,如动态监测、家庭康复和跌倒检测。基于惯性传感器的活动识别系统用于通过…

2.postman环境变量及接口关联

一、环境变量以及全局变量 操作流程 1.点击environment 2.点击environment右侧号,新增环境变量 3.在变量中输入变量名以及变量值 4.回到collection页面,修改变量环境 5.在collection中通过{{变量名}}调用变量 变量定义 环境变量:环境变量…

音视频之旅 - 基础知识

图像基础知识 像素 像素是图像的基本单元,一个个像素就组成了图像。你可以认为像素就是图像中的一个点。在下面这张图中,你可以看到一个个方块,这些方块就是像素 分辨率 图像(或视频)的分辨率是指图像的大小或尺寸。…

Linux系统---简易伙伴系统

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、题目要求 1.采用C语言实现 2.伙伴系统采用free_area[11]数组来组织。要求伙伴内存最小为一个页面,页面大小为4KB…

利用阿里云 DDoS、WAF、CDN 和云防火墙为在线业务赋能

在这篇博客中,我们将详细讨论使用阿里云 CDN 和安全产品保护您的在线业务所需的步骤。 方案描述 创新技术的快速发展为世界各地的在线业务带来了新的机遇。今天的人们不仅习惯了,而且依靠互联网来开展他们的日常生活,包括购物、玩游戏、看电…

排序:归并排序

目录 归并排序——有递归的: 基本思想: 思路分析: 代码分析: 划分区间思路: 代码思路分析: 归并排序——有递归的: 基本思想: 归并排序(MERGE-SORT&#xff…

单点登录方案调研与实现

作用 在一个系统登录后,其他系统也能共享该登录状态,无需重新登录。 演进 cookie → session → token →单点登录 Cookie 可以实现浏览器和服务器状态的记录,但Cookie会出现存储体积过大和可以在前后端修改的问题 Session 为了解决Co…

企业微信配置可信域名

首先去申请一个域名,然后将域名绑定到有公网ip的云服务器上,绑定到具体的网站;然后再企业微信,管理后台,点击具体的应用,进【网页授权及JS-SDK】;点击底部的【申请校验域名】点击下载文件&#…

数据可视化|jupyter notebook运行pyecharts,无法正常显示“可视化图形”,怎么解决?

前言 本文是该专栏的第39篇,后面会持续分享python数据分析的干货知识,记得关注。 相信有些同学在本地使用jupyter notebook运行pyecharts的时候,在代码没有任何异常的情况下,无论是html还是notebook区域,都无法显示“可视化图形”,界面区域只有空白一片。遇到这种情况,…

UniGui使用CSSUniTreeMenu滚动条

有些人反应UniTreeMenu当菜单项目比较多的时候会超出但是没有出滚动条,只需要添加如下CSS 老规矩,unitreemeu的layout的componentcls里添加bbtreemenu,然后在css里添加 .bbtreemenu .x-box-item{ overflow-y: auto; } 然后当内容超出后就会…

TypeScript中的单件设计模式

基本概念 (1) 了解设计模式 设计模式通俗的讲,就是一种更好的编写代码方案,打个比喻:从上海到武汉,你可以选择做飞机,做轮船,开车,骑摩托车多种方式,把出行…

ubuntu安装docker及docker常用命令

docker里有三个部分 daemon 镜像 和 容器 我们需要了解的概念 容器 镜像 数据卷 文章目录 docker命令docker镜像相关命令docker容器相关命令数据卷ubuntu安装docker docker命令 #启动,停止,重启docker systemctl start docker systemctl stop docker s…

pytorch:YOLOV1的pytorch实现

pytorch:YOLOV1的pytorch实现 注:本篇仅为学习记录、学习笔记,请谨慎参考,如果有错误请评论指出。 参考: 动手学习深度学习pytorch版——从零开始实现YOLOv1 目标检测模型YOLO-V1损失函数详解 3.1 YOLO系列理论合集(Y…

Notes数据直接在Excel中统计

大家好,才是真的好。 我希望你看过前面两篇内容《Domino REST API安装和运行》和《Domino REST API安装和运行》,因为今天我们正是使用REST API方式在Excel中查询和统计Notes数据。 不过首先你得知道一个OData协议,全名Open Data Protocol(…