当前位置: 首页 > news >正文

NFS资源共享服务

前情提要

FTP服务

  • 支持文件传输
  • 可跨平台
  • 是集中式服务(FTP服务中心化)

NFS服务(不向外暴露端口)

  • 支持文件共享(即在客户端像操作本地文件一样操作服务端文件)
  • 方式:通过挂载来实现
  • 是一个轻量级的Linux共享文件
  • 类似于分布式存储

数据库级别(从小到大):Mysql,SQLserver,oracle

网络存储:将共享资源存储在网络,满足客户需求【NAS——文件级(NFS),SAN(块级)】

NFS简介

  • NFS:网络文件系统
  • 作用:将NFS服务器的数据共享到不同的客户端,分布式存储

1.NFS原理

在文件传输和信息传送过程中依赖RPC协议(远程过程调用)

  • 远程调用:两个进程不在一台机器上
  • 本地调用:两个进程在一台机器上

结果:

  • nfs:是NFS服务的守护进程,管理客户机连接上服务器
  • rpcbind:进行端口映射

2.过程

  1. 服务端启动RPC,开启111端口
  2. 启动NFS,向RPC中注册端口信息
  3. 客户端启动RPC,向服务端RPC请求NFS端口
  4. 服务端PRC反馈NFS端口给客户端
  5. 客户端通过获取到的NFS端口,和服务端NFS建立连接,并进行数据传输

注:查看映射信息的命令:rpcinfo -p

3.NFS服务参数

  • 软件名:nfs-utils(包括NFS命令和监控程序),rpcbind(支持安全NFS,RPC服务的连接)
  • 服务名:nfs-server
  • 端口号:111(RPC)
  • 配置文件:/etc/exports
  • 日志文件:/var/log/messages

NFS基本功能

1.NFS配置参数

vim /etc/exports——共享目录        客户端(访问权限、用户映射、其他)

选项:

  • 共享目录:nfs服务端共享给客户机的数据目录(showmount -e serviceIP——展示可共享目录)
  • 指定客户端:192.168.77.77或192.168.77.0/24或www.xxhf.com或*(指代所有主机)

权限类型:

注:在no_root_squash映射下,普通用户访问,如果服务器端有相同用户名,则映射该用户(即指向对应uid的用户),否者客户端用户在共享目录创建文件,所有者和所属组都是当前uid和gid

       在all_squash映射下,root用户和普通用户都会被映射成nobody用户,除非用anonuid指定

2.配置生效

  • 方法一:重启nfs服务
  • 方法二:使用exportfs命令(-au:全部取消/etc/exports里的内容;-ra:重新加载/etc/exports)

3.NFS客户端配置

  • 查看服务器共享点:showmount -e 服务器端IP
  • 挂载到客户端:mount  -t  nfs  serverIP:分享目录  挂载点(也可以永久挂载)
  • 查看客户端挂载:df -h 或mount

NFS基本功能搭建

1.服务端

$ dnf -y install rpcbind nfs-utils
#/etc/exports可以写多行,每行当做一个客户端挂载设置
#每行的网段和后面括号的权限要紧挨着、不能有空格;否则挂载后是只读文件系统
$ vim /etc/exports
#设置只读权限
共享目录1 192.168.66.0/24(ro,async,root_squash)
#可写、将客户端登录的用户在服务器映射为匿名用户
共享目录2 192.168.66.0/24(rw,async,root_squash)
#可写、将客户端登录的用户在服务器保留root身份
共享目录3 192.168.66.0/24(rw,async,no_root_squash)
#可写、将客户端登录的用户在服务器映射为指定的用户
共享目录4 192.168.66.0/24(rw,async,all_squash,anonuid=xx,anongid=xx)
$ mkdir -p 共享目录n
$ echo "123" >>共享目录n/index.html
$ systemctl restart rpcbind #不用每次引导、第一次启动重启、慢时重启
$ systemctl restart nfs-server

2.客户端

#客户端不安装、直接挂载,报错:
#mount: /beifen: 选项错误;对某些文件系统(如 nfs、cifs)您可能需要一款 /sbin/mount.<类
型> 的帮助程序.
$ dnf -y install rpcbind nfs-utils
#查看服务器端的分享目录
$ showmount -e 服务器端ip
#挂载一个分享目录
$ mkdir 挂载点
$ mount -t nfs nfs服务器IP:共享目录 挂载点
#查看挂载情况
$ df -h
#进入挂载点,查看分享数据
$ cd 挂载点
$ cat index.html
#可以在该挂载点里创建目录或文件,并写入数据。该数据会在多个客户端即服务器端共享。

搭建共享网站资源

1.准备工作

服务端(77.77):搭建NFS共享资源平台,存放网页文件

服务端(77.78):搭建web服务,使用共享资源平台存放的网页文件

服务端(77.79):搭建web服务,使用共享资源平台存放的网页文件

2.准备共享目录和网页文件

$ dnf -y install rpcbind nfs-utils
$ vim /etc/exports
/shares 192.168.77.0/24 (rw,async,no_root_squash)
$ mkdir /shares
$ echo "hello world" >> /shares/index.html
$ systemctl restart rpcbind
$ systemctl restart nfs-server

3.挂载共享目录

77.78和77.79

[root@localhost ~]# mount -t nfs 192.168.77.77:/shares /var/www/html/
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
index.html

4.测试网页


文章转载自:

http://kvU7A2Cy.hwLjx.cn
http://xoFM7ZHY.hwLjx.cn
http://32bkkfjV.hwLjx.cn
http://jmgokcmc.hwLjx.cn
http://Hok341rA.hwLjx.cn
http://i03cBjlQ.hwLjx.cn
http://i3lGodjI.hwLjx.cn
http://JVPpDdAe.hwLjx.cn
http://ttp3zmH3.hwLjx.cn
http://XeDq6ydF.hwLjx.cn
http://qxn8S5Hg.hwLjx.cn
http://iDUdMs24.hwLjx.cn
http://UZFoZcvc.hwLjx.cn
http://FIFThqV8.hwLjx.cn
http://yoNGHWhF.hwLjx.cn
http://AUmXZOgo.hwLjx.cn
http://guvcqdis.hwLjx.cn
http://4WslwmTk.hwLjx.cn
http://UIIfgWoh.hwLjx.cn
http://XIxYU5L4.hwLjx.cn
http://nwVbgOFh.hwLjx.cn
http://foneD75Y.hwLjx.cn
http://yCwafm1I.hwLjx.cn
http://yEmv3lrq.hwLjx.cn
http://EkEwH6v3.hwLjx.cn
http://Jig65VVM.hwLjx.cn
http://sgEgNSY1.hwLjx.cn
http://ozIkNjOs.hwLjx.cn
http://fKEurva0.hwLjx.cn
http://pf4RZYDJ.hwLjx.cn
http://www.dtcms.com/a/375680.html

相关文章:

  • 新手向:Python网络编程,搭建简易HTTP服务器
  • RNN循环神经网络(一):基础RNN结构、双向RNN
  • 牛刀小试之设计模式
  • openCV3.0 C++ 学习笔记补充(自用 代码+注释)---持续更新 四(91-)
  • leetcode-python-1941检查是否所有字符出现次数相同
  • python内存分析memory_profiler简单应用
  • 9.9 json-server
  • excel中筛选条件,数字筛选和文本筛选相互转换
  • zsh: no matches found: /Users/xxx/.ssh/id_rsa*
  • 【EPGF 白皮书】路径治理驱动的多版本 Python 架构—— Windows 环境治理与 AI 教学开发体系
  • C语言面向对象编程:模拟实现封装、继承、多态
  • 设计 模式
  • 【Scientific Data 】紫茎泽兰的染色体水平基因组组装
  • MVCC-多版本并发控制
  • 【MybatisPlus】SpringBoot3整合MybatisPlus
  • 如何在FastAPI中玩转“时光倒流”的数据库事务回滚测试?
  • MySQL数据库面试题整理
  • PostgreSQL 大对象管理指南:pg_largeobject 从原理到实践
  • 传统项目管理的局限性有哪些
  • 内核函数:copy_process
  • 《UE5_C++多人TPS完整教程》学习笔记50 ——《P51 多人游戏中的俯仰角(Pitch in Multiplayer)》
  • RL【5】:Monte Carlo Learning
  • 深度解析HTTPS:从加密原理到SSL/TLS的演进之路
  • minio 文件批量下载
  • 【算法专题训练】19、哈希表
  • AJAX入门-URL、参数查询、案例查询
  • 安装ultralytics
  • Eino ChatModel 组件指南摘要
  • 腾讯codebuddy-cli重磅上线-国内首家支持全形态AI编程工具!
  • 基于PCL(Point Cloud Library)的点云高效处理方法