访问网络附加存储:nfs

文章目录

    • 访问网络附加存储
    • 一、网络附加存储
      • 1.1、存储类型
      • 1.3、通过NFS挂载NAS
      • 1.4、NFS挂载过程
        • 服务端
        • 客户端
    • 二、实验:搭建NFS服务端及挂载到nfs客户端
      • 服务端
      • 客户端
      • 测试
      • 命令合集
        • 服务端
        • 客户端

访问网络附加存储

一、网络附加存储

1.1、存储类型

  • DAS:Direct Attached Storage,直连附加存储,将存储设备通过总线(SCSI、PCI、
    IDE等)接口直接连接到一台服务器上使用。

  • NAS:Network Attached Storage,网络附加存储,将设备通过TCP/IP网络共享,
    提供文件存储

  • SAN:Storage Area Network,存储区域网络,将设备通过光纤通道或者TCP/IP网
    络共享出去,提供块设备。SAN存储可以进一步划分为FC-SAN和IP-SAN。

在这里插入图片描述

存储类型
### 1.2、RPC通信介绍

NFS 支持的功能相当的多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此,NFS的功能所对应的端口没有固定住,而是随机取用一些未被使用的小于1024的端口提供服务。但如此一来客户端如何获得服务器端的相关端口呢?

此时我们就得需要远程过程调用(RPC)的服务!RPC最主要的功能是注册每个NFS功能所对应的端口,并且汇报给客户端,让客户端可以连结到正确的端口。

在这里插入图片描述

RPC通信原理

1.3、通过NFS挂载NAS

NFS是Network File System的缩写,即网络文件系统。最早由Sun公司开发,用来在UNIX&Linux系统间实现磁盘文件共享的一种方法。它的主要功能是通过网络让不同的主机系统之间可以共享文件或目录。NFS客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务端共享的数据目录挂载到NFS客户端本地系统中(就是某一个挂载点下)。从NFS客户端的机器本地看,NFS服务端共享的目录就好像是客户自己的磁盘分区或者目录一样,而实际上确是远端的NFS服务端的目录。

在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频、图片、附件等静态资源文件。一般是把网站用户上传的文件都放在NFS共享里,例如,BBS产品的图片、附件、头像,特别是中小网站公司应用频率更高。

NFS服务器导出共享目录,NFS客户端将导出的共享挂载到本地。

挂载NFS共享方式:

  • 使用mount命令手动挂载。

  • 使用/etc/fstab条目在启动时自动挂载。

  • 按需挂载:使用autofs服务或systemd. automount功能。

1.4、NFS挂载过程

服务端
  1. 安装环境依赖包

    rpm -q rpcbind nfs-utils oryum -y install nfs-utils rpcbind
    
  2. 设置共享目录

    mkdir -p /opt/nfs
    chmod 777 /opt/nfsvim /etc/exports/opt/nfs *.*.*.*/*(rw,sync,no_root_squash)
    

    客户机地址可以是主机名、IP 地址、网段地址,允许使用“*”、“?”通配符。
    “rw” 表示允许读写,“ro” 表示为只读。
    sync :表示同步写入到内存与硬盘中。
    no_root_squash : 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
    root_squash :表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。

    all_squash :所有访问用户都映射为匿名用户或用户组。
    async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
    subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
    no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
    anonuid=xxx :指定NFS服务器/etc/passwd文件中匿名用户的UID 
    anongid=xxx :指定NFS服务器/etc/group文件中匿名用户的GID 
    
  3. 关闭防火墙,启动 NFS 服务程序

手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs

systemctl stop firewalld
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfsnetstat -anptu | grep 111            ##rpcbind默认使用端口111
netstat -anptu | grep 2049             ##nfs默认使用端口2049
  1. 查看本机发布的 NFS 共享目录
exportfs -rv                            #发布共享
showmount -e
客户端
  1. 安装环境依赖包

    rpm -q rpcbind nfs-utils oryum -y install nfs-utils rpcbind
    
  2. 启动 NFS 服务程序

手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs

```bash
systemctl stop firewalld
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfsnetstat -anptu | grep 111            ##rpcbind默认使用端口111
netstat -anptu | grep 2049             ##nfs默认使用端口2049
```
  1. 挂载点:使用 mkdir 在合适的位置创建挂载点。

    mkdir -p /opt/test
    
  2. 挂载:与分区上的文件系统一样,NFS共享必须先进行挂载才可用。

无论在哪种情况下,您都必须作为root用户登录,或使用sudo 命令,以超级用户身份运行这些命令。

  • 临时挂载

    mount -t nfs -o rw,sync "nfs-serverIP":/opt/nfs /opt/test-t nfs选项是NFS共享的文件系统类型(默认值)。-o sync选项使mount立即与NFS服务器同步写操作(默认值为async)。下一次系统启动时,此NFS共享将不可用 ,可用于在持久提供共享之前对挂载NFS共享进行测试。
    
  • 永久挂载

      vim /etc/fstab..."nfs-serverIP":/opt/nfs /opt/test nfs rw,sync 0 0
    
  1. 卸载

    umount "nfs-serverIP":/opt/nfsorumount mountpoint
    

二、实验:搭建NFS服务端及挂载到nfs客户端

服务端

  1. 安装环境依赖包

    在这里插入图片描述

  2. 设置共享目录

    在这里插入图片描述

    在这里插入图片描述

  3. 关闭防火墙,启动 NFS 服务程序

    在这里插入图片描述

  4. 查看本机发布的 NFS 共享目录

    在这里插入图片描述

客户端

  1. 安装环境依赖包

在这里插入图片描述

  1. 启动 NFS 服务程序

    在这里插入图片描述

  2. 创建挂载点

    在这里插入图片描述

  3. 挂载

    在这里插入图片描述

在这里插入图片描述

测试

在nfs服务端/opt/nfs下创建“wl.txt”文件,内容为“wl love to bath point 88 technician”;在nfs客户端查看是否有“wl.txt”文件,并检查文件内容是否与服务端一致。

在这里插入图片描述

在这里插入图片描述

命令合集

服务端
[root@nfs-server ~]#yum -y install nfs-utils rpcbind
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
local                                                                                                              | 3.6 kB  00:00:00     
软件包 1:nfs-utils-1.3.0-0.68.el7.2.x86_64 已安装并且是最新版本
软件包 rpcbind-0.2.0-49.el7.x86_64 已安装并且是最新版本
无须任何处理[root@nfs-server ~]#mkdir -p /opt/nfs[root@nfs-server ~]#chmod 777 /opt/nfs[root@nfs-server ~]#vim /etc/exports/opt/nfs 10.190.33.0/24(rw,sync,no_root_squash)[root@nfs-server ~]#systemctl stop firewalld[root@nfs-server ~]#systemctl start rpcbind[root@nfs-server ~]#systemctl start nfs[root@nfs-server ~]#systemctl enable rpcbind[root@nfs-server ~]#systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.[root@nfs-server ~]#netstat -anptu | grep 111
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      713/rpcbind         
tcp6       0      0 :::111                  :::*                    LISTEN      713/rpcbind         
udp        0      0 0.0.0.0:111             0.0.0.0:*                           713/rpcbind         
udp6       0      0 :::111                  :::*                                713/rpcbind         [root@nfs-server ~]#netstat -anptu | grep 2049
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
udp        0      0 0.0.0.0:2049            0.0.0.0:*                           -                   
udp6       0      0 :::2049                 :::*                                -                   [root@nfs-server ~]#exportfs -rv 
exporting 10.190.33.0/24:/opt/nfs[root@nfs-server ~]#showmount -e
Export list for nfs-server:
/opt/nfs 10.190.33.0/24[root@nfs-server ~]#echo wl love to bath point 88 technician > /opt/nfs/wl.txt[root@nfs-server ~]#cat /opt/nfs/wl.txt 
wl love to bath point 88 technician
客户端
[root@nfs-client- ~]#yum -y install nfs-utils rpcbind
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
local                                                                                                              | 3.6 kB  00:00:00     
软件包 1:nfs-utils-1.3.0-0.68.el7.2.x86_64 已安装并且是最新版本
软件包 rpcbind-0.2.0-49.el7.x86_64 已安装并且是最新版本
无须任何处理[root@nfs-client- ~]# systemctl start rpcbind[root@nfs-client- ~]# systemctl stop firewalld[root@nfs-client- ~]# systemctl start rpcbind[root@nfs-client- ~]# systemctl start nfs[root@nfs-client- ~]# systemctl enable rpcbind[root@nfs-client- ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.[root@nfs-client- ~]# mkdir -p /opt/test[root@nfs-client- ~]# mount -t nfs -o rw,sync 10.190.33.10:/opt/nfs /opt/test[root@nfs-client- ~]# mount -a[root@nfs-client- ~]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
devtmpfs                  480736       0   480736    0% /dev
tmpfs                     497816       0   497816    0% /dev/shm
tmpfs                     497816    8508   489308    2% /run
tmpfs                     497816       0   497816    0% /sys/fs/cgroup
/dev/mapper/centos-root 38770180 4585544 34184636   12% /
/dev/sda1                1038336  177468   860868   18% /boot
/dev/sr0                 4635056 4635056        0  100% /mnt/sr
tmpfs                      99564      12    99552    1% /run/user/42
tmpfs                      99564       0    99564    0% /run/user/0
10.190.33.10:/opt/nfs   38770304 4584960 34185344   12% /opt/test[root@nfs-client- ~]# vim /etc/fstab...10.190.33.10:/opt/nfs /opt/test nfs rw,sync 0 0[root@nfs-client- ~]# mount -a[root@nfs-client- ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 470M     0  470M    0% /dev
tmpfs                    487M     0  487M    0% /dev/shm
tmpfs                    487M  8.4M  478M    2% /run
tmpfs                    487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root   37G  4.4G   33G   12% /
/dev/sda1               1014M  174M  841M   18% /boot
/dev/sr0                 4.5G  4.5G     0  100% /mnt/sr
tmpfs                     98M   12K   98M    1% /run/user/42
tmpfs                     98M     0   98M    0% /run/user/0
10.190.33.10:/opt/nfs     37G  4.4G   33G   12% /opt/test[root@nfs-client- ~]# ll /opt/test/
总用量 4
-rw-r--r--. 1 root root 36 56 01:44 wl.txt[root@nfs-client- ~]# cat /opt/test/wl.txt 
wl love to bath point 88 technician

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

mysql的数据结构及索引使用情形

先来说下数据的一般存储方式:内存(适合小数据量)、磁盘(大数据量)。 磁盘的运转方式:速度 旋转,磁盘页的概念:每一页大概16KB。 1、存储结构 哈希 是通过hash函数计算出一个hash值的,哈希的优点就是查找的时间复杂度…

图片编辑工具-Gimp

一、前言 GIMP(GNU Image Manipulation Program)是一款免费开源的图像编辑软件,具有功能强大和跨平台的特性。 GIMP作为一个图像编辑器,它提供了广泛的图像处理功能,包括但不限于照片修饰、图像合成以及创建艺术作品…

SpringMVC响应数据

三、SpringMVC响应数据 3.1 handler方法分析 理解handler方法的作用和组成: /*** TODO: 一个controller的方法是控制层的一个处理器,我们称为handler* TODO: handler需要使用RequestMapping/GetMapping系列,声明路径,在HandlerMapping中注册,供DS查找!* TODO: ha…

【notepad++】使用

1 notepad 下载路径 https://notepad-plus.en.softonic.com/download 2 设置护眼模式 . 设置——语言格式设置——前景色——黑色 . 背景色——RGB :199 237 204 . 勾选“使用全局背景色”、“使用全局前景色” . 保存并关闭

Python专题:二、Python小游戏,体验Python的魅力

希望先通过一个小的游戏让大家先对Python感兴趣,兴趣是最好的老师。 小游戏的运行结果: 1、在sublime编辑器里面写如下代码: import randomnum random.randint(1, 100) # 获得一个随机数 is_done False # 是否猜中的标记 count 0 # 玩…

软件设计师-应用技术-数据结构及算法题4

考题形式: 第一题:代码填空 4-5空 8-10第二题:时间复杂度 / 代码策略第三题:拓展,跟一组数据,把数据带入代码中,求解 基础知识及技巧: 1. 分治法: 基础知识&#xff1…

美易官方:英伟达业绩将难以撑起股价?

美股市场似乎总是对各大公司的业绩表现抱有极大的期待,就像一个永远填不饱的“巨胃”。在这样的市场环境下,即使是业绩骄人的公司也可能难以支撑其股价。英伟达,这家在图形处理单元(GPU)领域享有盛誉的公司&#xff0c…

语音识别--kNN语音指令识别

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟 🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号&#xf…

英语学习笔记5——Nice to meet you.

Nice to meet you. 很高兴见到你。 词汇 Vocabulary Mr. 先生 用法:自己全名 / 姓 例如:Mr. Zhang Mingdong 或 Mr. Zhang,绝对不能是 Mr. Mingdong! Miss 女士,小姐 未婚 用法:自己全名 / 姓 例如&#…

ESP32 IDF linux下开发环境搭建

文章目录 介绍升级Python环境下载Python包配置编译环境及安装Python设置环境变量 ESPIDF环境搭建下载esp-idf 代码编译等待下载烧录成功查看串口打印 介绍 esp32 官方文档给的不是特别详细 参考多方资料 最后才完成开发 主要问题在于github下载的很慢本教程适用于ubuntu deban…

跨境支付行业研究

1. 行业基本情况 随着全球人均购买力增强、互联网普及率提升、支付渠道的进一步成熟、物流等配套设施的完善,网络购物已经成为全球兴起的消费习惯。另一方面,跨境电商对传统贸易的替代已经成为趋势。跨境电商在交易成本和便利程度上都有明显的优势 图1 …

《我的医养信息化之路》之三十二:中医馆

今年五一节的气候有点冷,走到小区又湿又暗的、寂静的小道上,树上的雨水滴到头上,不免感到孤独而寒冷。还好路很短,很快就回到办公室,开了电灯和电脑,刚刚的冷意已经消失了,我开始审核今天中医馆…

C++ 数据内存分布揭秘:从栈到堆的探索之旅

目录 1. 栈(Stack) 2. 堆(Heap) malloc和new的区别 堆与栈在C中的异同点详解 3. 数据段(Data Segment) 4. 代码段(Code Segment) 5. 动态内存分配的陷阱 当我们谈论C编程时,对内存布局的理解至关重要。本文将深入探讨C中各种变量和数据结构在内存中的分布情况…

企业加密软件有哪些:企业加密软件排行榜|常用分享汇集

在当前的数字化时代,数据的安全性成为了企业运营中至关重要的一环。因此,企业加密软件的需求也日益增长。在这个竞争激烈的市场中,各大加密软件厂商纷纷推出自己的产品,以满足企业的不同需求。 首先是Ping32加密软件。Ping32文件加…

【牛客】排列计算

原题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 如果直接涂色来计算单点权重&#xff0c;2e5*2e5必然超时。 所以用差分进行优化。 3. 代码实现 #include<bits/stdc.h> using name…

彻底解决python的pip install xxx报错(文末附所有依赖文件)

今天安装pip install django又报错了&#xff1a; C:\Users\Administrator>pip install django WARNING: Ignoring invalid distribution -ip (d:\soft\python\python38\lib\site-pac kages) Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting djan…

淤地坝安全监测预警系统解决方案

一、方案背景 淤地坝是黄土高原地区人民群众长期同水土流失斗争实践中创造的一种行之有效的水土保持工程措施&#xff0c;在拦泥保土、减少入黄泥沙、防洪减灾、淤地造田、巩固退耕还林&#xff08;草&#xff09;、保障生态安全、促进粮食生产和水资源合理利用及经济社会稳定发…

力扣:62. 不同路径

62. 不同路径 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&…

探索大模型能力--prompt工程

1 prompt工程是什么 1.1 什么是Prompt&#xff1f; LLM大语言模型终究也只是一个工具&#xff0c;我们不可能每个人都去训一个大模型&#xff0c;但是我们可以思考如何利用好大模型&#xff0c;让他提升我们的工作效率。就像计算器工具一样&#xff0c;要你算10的10倍&#x…

笔试强训Day18 字符串 排序 动态规划

[编程题]压缩字符串(一) 题目链接&#xff1a;压缩字符串(一)__牛客网 (nowcoder.com) 思路&#xff1a; 跟着思路写就完了。 AC code&#xff1a; #include <iostream> #include<string> using namespace std; string a; string ans; int main() {cin >>…