在Rocky Linux 9上部署NFS服务并对其进行权限配额管理以及监控

devtools/2024/11/7 22:21:46/

NFS(Network File System)是一种分布式文件系统协议,最初由Sun Microsystems公司开发,用于在不同计算机之间通过网络共享文件。NFS允许客户端访问位于服务器上的文件,就像这些文件存储在本地一样。它通常用于Unix和类Unix操作系统(如Linux),但也有适用于Windows等其他操作系统的实现。

NFS的主要特点包括:

        跨平台支持:虽然NFS起源于Unix环境,但它可以跨多种不同的操作系统工作。
透明性:用户和应用程序可以像使用本地文件系统一样使用NFS挂载的目录,无需特别编程或修改。
        共享资源:多个客户端可以同时访问同一文件或目录,便于协作和资源共享。
灵活性:管理员可以根据需要调整权限设置,控制哪些用户或主机能够访问特定的文件或目录。


常见的应用场景:

        数据共享:企业内部网络中,NFS常用于提供集中式的文件存储服务,使得不同部门或团队能够方便地共享文档、代码或其他重要资料。
        Web托管:在多台Web服务器上部署相同的内容时,可以通过NFS将静态文件(如图片、CSS文件等)集中存储在一个位置,简化管理和维护工作。
        备份与恢复:利用NFS作为备份目标,可以更高效地执行定期备份任务,并且在灾难发生时快速恢复数据。
        集群计算:在高性能计算环境中,NFS可以为计算节点提供统一的数据访问接口,确保所有节点都能访问相同的输入数据集。
        开发环境:对于开发团队来说,使用NFS可以创建一个共享的开发环境,促进代码共享和版本控制。

今天我们就来介绍下NFS的安装部署以及权限配额监控等知识

更多运维以及部署相关的资料可以查看 :https://www.yuque.com/liqingluo/dskagg/znz4u2re4i167elk

服务安装部署服务

的详细步骤如下:

1. 安装NFS组件

首先,你需要在两台Rocky Linux 9服务器上安装nfs-utils包,这个包包含了NFS服务所需的工具和守护进程。

  • 在主机(Host)上
    sudo dnf install nfs-utils
  • 在客户端(Client)上
    sudo dnf install nfs-utils

2. 配置NFS服务

  • 在主机(Host)上,编辑/etc/exports文件来配置共享目录。例如,如果你想要共享/nfs目录,可以添加如下配置:
    echo "/nfs *(rw,insecure,sync,no_root_squash)" | sudo tee -a /etc/exports
    这里*表示允许任何IP地址访问,rw表示读写权限,insecure允许非NFSv4客户端访问,sync表示同步写入,no_root_squash允许远程root用户具有与本地root用户相同的权限。

3. 启动NFS服务

  • 在主机(Host)上,启动并启用NFS服务:
    sudo systemctl enable nfs-server
    sudo systemctl start nfs-server
    检查服务状态:
    sudo systemctl status nfs-server

4. 调整防火墙设置

  • 在主机(Host)上,如果你使用的是firewalld防火墙,需要添加NFS服务的防火墙规则:
    sudo firewall-cmd --permanent --add-service=nfs
    sudo firewall-cmd --permanent --add-service=mountd
    sudo firewall-cmd --permanent --add-service=rpc-bind
    sudo firewall-cmd --reload

5. 创建挂载点并挂载目录

  • 在客户端(Client)上,创建挂载点并挂载NFS共享目录。例如,如果你想挂载到/mnt/nfs
    sudo mkdir -p /mnt/nfs
    sudo mount -t nfs <host_ip>:/nfs /mnt/nfs
    替换<host_ip>为主机的实际IP地址。

以上步骤完成后,你应该能够在客户端访问主机上共享的NFS目录了。这些步骤涵盖了从安装到配置再到启动NFS服务的全过程,确保了NFS服务的正常运行和网络访问的安全性。

权限配额管理

对服务进行部署完毕之后,我们需要在Rocky Linux 9上设置NFS服务的权限和配额管理,可以按照以下步骤进行:

设置权限

  1. 编辑/etc/exports文件:这个文件定义了哪些目录可以被共享,以及共享的权限。例如,你可以添加如下行来设置权限:

    /share/webs 192.168.80.0/24(ro,sync)

    这里/share/webs是共享目录,192.168.80.0/24是允许访问的客户端网段,ro表示只读权限,sync表示数据同步写入硬盘。其他权限选项包括:

    • rw:读写权限
    • sync:数据同步写入内存和硬盘
    • no_root_squash:如果客户端用户是root,对共享目录也具有root权限(不推荐设置,增加安全隐患)
    • root_squash:如果客户端用户是root,其权限会被压缩为nfsnobody用户权限
    • all_squash:无论客户端用户是谁,权限都被压缩为nfsnobody用户权限。
  2. 重启NFS服务:修改配置后,需要重启NFS服务以应用更改:

    sudo systemctl restart nfs-server

配额管理

  1. 编辑/etc/fstab文件:启用硬盘配额,例如对于/home目录,可以添加如下行:

    /dev/mapper/rhel-home /home xfs defaults,usrquota,grpquota 0 0

    这里usrquota表示对/home启用了用户硬盘配额,grpquota表示对/home启用了组硬盘配额。

  2. 设置磁盘配额:使用xfs_quota命令设置磁盘配额。例如,为用户myquota1设置软限制为250M,硬限制为300M的磁盘配额:

    xfs_quota -x -c 'limit bsoft=250M bhard=300M isoft=100 ihard=150 myquota1' /home/

    其中bsoftbhard分别代表块的软限制和硬限制,isoftihard分别代表inode的软限制和硬限制。

  3. 验证配额设置:使用xfs_quota命令查看配额设置情况:

    xfs_quota -x -c report /home/

通过上述步骤,你可以在Rocky Linux 9上对NFS服务进行权限设置和配额管理,确保共享资源的安全性和合理使用。

说完了安装部署以及权限配额,下边我们来说下如何监控:

监控管理

监控NFS服务的性能可以通过多种方法和工具来实现。以下是一些关键的监控技术和工具,可以帮助你监控NFS服务的性能:

1. 使用nfsstat命令

nfsstat是一个用于监控NFS性能的实用工具。它可以显示NFS客户端和服务器的统计信息。例如,你可以使用以下命令来检查网络层面的统计信息,包括丢包情况:

nfsstat -o net

这个命令可以帮助你识别网络层面的问题,比如高延迟或丢包,这些因素都可能影响NFS的性能。

2. 使用nfsiostat命令

nfsiostat命令类似于iostat,但它专门用于监控系统上挂载的NFS共享的输入/输出性能。它使用/proc/self/mountstats文件作为输入,提供关于NFS共享挂载点的性能信息。例如,你可以运行以下命令来检查NFS客户端与服务器通信的性能:

nfsiostat

输出中的关键统计数据包括:

  • retrans:重传次数,高重传率可能表明网络延迟高或不稳定。
  • avg RTT (ms):从客户端发送RPC请求到接收回复的时间,高RTT值表明网络延迟高。
  • avg exe (ms):从NFS客户端发起RPC请求到请求完成的时间,包括RTT。这个值高可能意味着I/O性能问题。

3. 使用系统工具监控服务状态

  • 使用systemctl命令:监控NFS服务的状态,确保服务正常运行。
    systemctl status nfs-server
  • 使用journalctl命令:查看NFS服务的日志信息,以识别可能的问题。
    journalctl -u nfs-server

4. 使用第三方监控工具

  • 部署Nagios、Zabbix等监控工具:设置监控NFS服务的指标,如响应时间、吞吐量等。
  • 使用Prometheus和Grafana:进行可视化的性能监控,这可以帮助你更直观地理解NFS服务的性能趋势和问题。

5. 日志分析

  • 定期分析NFS服务的日志文件:如/var/log/messages/var/log/nfs/*,查找异常信息。
  • 使用ELK(Elasticsearch, Logstash, Kibana)堆栈:进行日志收集和分析,以识别性能问题和异常。

通过上述方法和工具,你可以有效地监控NFS服务的性能,及时发现并解决性能问题。


http://www.ppmy.cn/devtools/132137.html

相关文章

蓝桥杯-网络安全比赛题目-遗漏的压缩包

小蓝同学给你发来了他自己开发的网站链接&#xff0c; 他说他故意留下了一个压缩包文件&#xff0c;里面有网站的源代码&#xff0c; 他想考验一下你的网络安全技能。 &#xff08;点击“下发赛题”后&#xff0c;你将得到一个http链接。如果该链接自动跳转到https&#xff0c;…

基于SSM(Spring + Spring MVC + MyBatis)框架的咖啡馆管理系统

基于SSM&#xff08;Spring Spring MVC MyBatis&#xff09;框架的咖啡馆管理系统是一个综合性的Web应用程序&#xff0c;用于管理和优化咖啡馆的运营。下面我将提供一个详细的案例程序概述&#xff0c;包括主要的功能模块和技术栈介绍。 项目概述 功能需求 用户管理&…

WPF+MVVM案例实战(二十一)- 制作一个侧边弹窗栏(AB类)

文章目录 1、案例效果1、侧边栏分类2、AB类侧边弹窗实现1.文件创建2、样式代码与功能代码实现3、功能代码实现 3 运行效果4、源代码获取 1、案例效果 1、侧边栏分类 A类 &#xff1a;左侧弹出侧边栏B类 &#xff1a;右侧弹出侧边栏C类 &#xff1a;顶部弹出侧边栏D类 &#xf…

Redis实战-利用Lua解决批量插入防重方案

需求场景 一个最简单的插入需求&#xff0c;但是因为考虑写入性能&#xff0c;采用批量插入Mysql的方式&#xff0c;但是这引申了一个并发问题&#xff0c;假如网络抖动等其它原因造成了接口重复请求&#xff0c;批量插入情况下如何对一条条数据做好防重处理。 防重 OR 幂等 …

动态规划 之 斐波那契数列模型 算法专题

动态规划 分析:(五步) 状态表示 状态表示是什么? dp表里面的值锁表示的含义 状态表示怎么来的? 题目要求经验 题目要求线性状态表经验: 以i位置为结尾 以i位置为起点分析问题的过程中, 发现重复子问题 状态转移方程 dp[i] 等于什么(一个公式) 用之前或者之后的状态, 推…

Windows 命令提示符(cmd)中输入 mysql 并收到错误消息“MySQL不是内部或外部命令,也不是可运行的程序或批处理文件?

目录 背景: 过程&#xff1a; 1.找到MySQL安装的路径 2.编辑环境变量 3.打开cmd&#xff0c;输入mysql --version测试成功 总结: 背景: 很早之前安装了Mysql数据库&#xff0c;想查询一下当前安装的MySQL客户端的版本号&#xff0c;我在命令行界面输入mysql --verion命令回…

使用 Python 和 OpenCV 实现实时人脸识别

概述 人脸识别是一项重要的计算机视觉任务&#xff0c;广泛应用于安全监控、身份验证等领域。本文将详细介绍如何使用 Python 和 OpenCV 库实现实时人脸识别&#xff0c;并通过具体的代码示例来展示整个过程。 环境准备 在开始编写代码之前&#xff0c;确保已经安装了 OpenC…

《Vue3 报错》Uncaught TypeError: s.finally is not a function

解决方案&#xff1a; 新建文件 my-polyfill.js // 当浏览器环境不支持Promise.prototype.finally if (!Promise.prototype[finally]) {Promise.prototype[finally] function(callback) {let P this.constructor;return this.then(value > P.resolve(callback()).then(…