AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储)
AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储)
- 1. 前言
- 2. 关于Amazon EFS
- 2.1 Amazon EFS全称
- 2.2 什么是Amazon EFS
- 2.3 优点和功能
- 2.4 参考官网
- 3. 创建文件系统
- 3.1 创建 EC2 实例
- 3.2 创建文件系统
- 4. 在Linux实例上挂载Amazon EFS文件系统
- 4.1 查看如何挂载
- 4.2 连接EC2实例
- 4.3 安装amazon-efs-utils
- 4.4 创建efs目录
- 4.5 执行挂载命令进行挂载
- 5. 简单使用
- 5.1 简单演示一下写与读
- 6. 遇到的问题
- 6.1 执行挂载命令超时
- 6.1.1 问题描述
- 6.1.2 解决问题——新建安全组
- 6.1.3 关于2049的备注
1. 前言
- 关于AWS及EC2的入门,请看上篇文章,如下:
AWS——01篇(AWS入门 以及 AWS之EC2实例及简单实用).
2. 关于Amazon EFS
2.1 Amazon EFS全称
- 如下:
- Amazon Elastic File System
- Amazon Elastic File System,可扩展且有弹性的原生云 NFS 文件系统
- Amazon Elastic File System (Amazon EFS)面向通用工作负载提供了一个简单、可扩展且有弹性的文件系统,可与 AWS 云服务和本地资源结合使用。
2.2 什么是Amazon EFS
- 简单解释
- Amazon EFS 是一种云原生数据存储,可为基于Linux的业务应用程序提供简单的可扩展共享文件存储,它可以增长到PB(petabytes),同时提供一致的低遗留数据和高水平的吞吐量,而且它是完全托管的,所以不必担心持续维护Amazon EFS。
- 易于设置,只需使用AWS管理控制平台 API 或命令界面即可创建文件系统,并使其可安全地供您的
EC2
实例的一台或多台Amazon VPC
使用,然后挂载你的文件系统来存储和访问数据,你也可以使用AWS direct connect 或 AWS VPN将本地服务器挂载到EFS,轻松将数据迁移到EFS启用云爆发 或将本地数据备份到EFS。 - EFS文件系统具有弹性,可以在你添加和删除文件时,自动增长和收缩,你可以在两种性能模式之间进行选择,以便根据应用程序需求定制文件系统性能,文件系统的吞吐量会随着容量的增长而自动扩展。对于具有高吞吐量要求和低容量需求的工作负载,吞吐量可以独立于容量进行配置,但频率较低,你可以将 EFS 配置为将数据存储在成本优化的不频繁访问存储类中。
- Amazon EFS 可与你已使用的工具和应用程序配合使用,它专为实现高可用性和持久性而设计,通过EFS可以跨多个可用区存储你冗余的数据。你可以始终这样,当你需要时提供所需的容量,而无需提前预置存储。
- 只为您使用的内容付费,没有最低费用或设置成本,它消除了存储管理任务。
- 总之,概括起来就是:
Amazon Elastic File System (Amazon EFS)提供的是简单、可扩展、完全托管的弹性 NFS 文件系统,可与 AWS 云服务和本地资源结合使用。它可在不中断应用程序的情况下按需扩展至 PB 级,并可在您添加和删除文件时自动扩展或缩减,从而使您无需预置和管理容量便可适应文件系统的增长。Amazon EFS 旨在提供对数千个 Amazon EC2 实例的大规模并行共享访问,使您的应用程序能够始终以低延迟实现高水平的聚合吞吐量和 IOPS。
2.3 优点和功能
- 动态弹性
Amazon EFS 可在您添加或删除文件时自动即时地扩大或缩小您的文件存储容量,不会中断您的应用程序,可在您需要时为您提供所需的存储空间。您只需创建文件系统和开始添加文件,无需提前预置存储。 - 可扩展的性能
Amazon EFS 旨在提供通用工作负载所需的吞吐量、IOPS 和低延迟。吞吐量和 IOPS 可以随文件系统增长而扩展,并且可以在短时间内突增到较高的吞吐量水平,以支持不可预测的文件工作负载性能需求。对于最苛刻的工作负载,Amazon EFS 可以支持超过 10 GB/秒的性能和高达 500000 次 IOPS。 - 完全托管
Amazon EFS 是一项完全托管型服务,可为通用工作负载提供共享文件系统存储。它提供简单的界面,可使您快速创建和配置文件系统并为您管理文件存储基础设施,从而消除部署、修补和维护文件系统基础的复杂性。 - 共享文件存储
Amazon EFS 可为数千个连接提供安全访问。Amazon EC2 实例和本地服务器可以使用传统的文件许可模型、文件锁定功能和分层目录结构通过 NFSv4 协议同时访问 Amazon EFS 共享文件系统。Amazon EC2 实例可以跨可用区和 AWS 区域访问您的文件系统,而本地服务器可以使用 AWS Direct Connect 或 AWS VPN 进行访问。
2.4 参考官网
- 官网地址:https://aws.amazon.com/cn/.
3. 创建文件系统
3.1 创建 EC2 实例
- 我这里已经创建过,具体怎么操作,请看上篇文章:
AWS——01篇(AWS入门 以及 AWS之EC2实例及简单实用). - 查看EC2实例
- 查看VPC ID,后面创建文件系统的时候,默认直接选这个
3.2 创建文件系统
-
创建如下:
4. 在Linux实例上挂载Amazon EFS文件系统
4.1 查看如何挂载
-
首先:
-
然后:
-
接着
-
最后,打开帮助文档
文档地址:https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-mount-helper-ec2-linux.html
4.2 连接EC2实例
- 连接两个EC2实例,一个是
Amazon Linux 2023
,一个是Amazon Linux 2 AMI
(具体怎么连接,看上篇文章),如下:
4.3 安装amazon-efs-utils
- 安装参考地址:
https://docs.aws.amazon.com/efs/latest/ug/installing-amazon-efs-utils.html
- 安装命令:
sudo yum install -y amazon-efs-utils
- 安装如下:
sudo -s yum install -y amazon-efs-utils
4.4 创建efs目录
-
使用以下命令创建一个目录efs,作为文件系统的挂载点,如下:
mkdir efs
4.5 执行挂载命令进行挂载
- 复制挂载命令,如下:
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 文件挂载系统的DNS名称:/ efs
- 执行挂载命令,挂载成功的话,如下
df -h
此步骤如有问题,请参考看下面的 《6. 遇到的问题》,找对应的解决方案。 - 挂载第二台EC2实例
用同样的方法,将另一台EC2实例也挂载上去,不多说了。
5. 简单使用
5.1 简单演示一下写与读
- 如下,可以看到,在一台EC2实例上写入的数据,在另一台EC2实例上可以读到(前提是:挂载了EFS),删除也是没问题的,都是弹性的。
6. 遇到的问题
6.1 执行挂载命令超时
6.1.1 问题描述
- 问题描述,如下:
mount.nfs4: Connection timed out
6.1.2 解决问题——新建安全组
- 开放哪个端口呢?
2049
,如下:
接下来就继续吧…… - 首先,查看
EFS系统
所用的安全组,发现用的是默认安全组,如下:
- 然后,我们查看此安全组的入站规则
端口范围已经是全部,为啥不行呢?不知道,新建一个安全组试试吧…… - 然后,再新建安全组,如下:
- 修改
EFS系统
的安全组,如下:
- 修改完成之后,然后再执行挂载命令,问题解决,如下:
6.1.3 关于2049的备注
- EC2 实例 和 EFS系统可以不用同一个安全组,上面我的EC2实例还是之前的创建的安全组,即EC2实例不用开放 2049 端口。
相关文章:

AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储)
AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储) 1. 前言2. 关于Amazon EFS2.1 Amazon EFS全称2.2 什么是Amazon EFS2.3 优点和功能2.4 参考官网 3. 创建文件系统3.1 创建 EC2 实例3.2 创建文件系统 4. 在Linux实例上挂载…...

FFmpeg 打包mediacodec 编码帧 MPEGTS
在Android平台上合成视频一般使用MediaCodec进行硬编码,使用MediaMuxer进行封装,但是因为MediaMuxer支持格式有限,一般会采用ffmpeg封装,比如监控一般使用mpeg2ts格式而非MP4,这是因为两者对帧时pts等信息封装差异导致应用场景不同…...

软件测试如何推进项目进度?
在软件研发中,有一种思想叫TDD,即测试驱动开发,TDD是敏捷方法中的一项核心实践,其原理是在开发功能代码之前,先编写单元测试用例代码,对要编写的函数或类明确测试方法后,再进行设计与编码。 本…...

首次尝试鸿蒙开发!
今天是我第一次尝试鸿蒙开发,是因为身边的学长有搞这个的,而我也觉得我也该拓宽一下技术栈! 首先配置环境,唉~真的是非常心累,下载一个DevEco Studio 3.0.0.993,然后配置环境变量这些操作不用多说ÿ…...

前端面试题-react
1 React 中 keys 的作⽤是什么? Keys 是 React ⽤于追踪哪些列表中元素被修改、被添加或者被移除的辅助标识在开发过程中,我们需要保证某个元素的 key 在其同级元素中具有唯⼀性。在 React Diff 算法中 React 会借助元素的 Key 值来判断该元素是新近创建…...

EIP-2535 Diamond standard 实用工具分享
前段时间工作对接到了这标准的协议,于是简单介绍下这个标准分享下方便前端er使用的调用工具 一、标准的诞生 在写复杂逻辑的solidity智能合约时,经常会碰到两个问题,升级和合约大小限制。 升级目前有几种proxy模式,通过delegateca…...

【LangChain】向量存储(Vector stores)
LangChain学习文档 【LangChain】向量存储(Vector stores)【LangChain】向量存储之FAISS 概要 存储和搜索非结构化数据的最常见方法之一是嵌入它并存储生成的嵌入向量,然后在查询时嵌入非结构化查询并检索与嵌入查询“最相似”的嵌入向量。向量存储负责存储嵌入数…...

Debian/Ubuntu 安装 Chrome 和 Chrome Driver 并使用 selenium 自动化测试
截至目前,Chrome 仍是最好用的浏览器,没有之一。Chrome 不仅是日常使用的利器,通过 Chrome Driver 驱动和 selenium 等工具包,在执行自动任务中也是一绝。相信大家对 selenium 在 Windows 的配置使用已经有所了解了,下…...

[SQL挖掘机] - 窗口函数 - 合计: with rollup
介绍: 在sql中,with rollup 是一种用于在查询结果中生成小计和总计的选项。它可以与 group by 子句一起使用,用于在分组查询的结果中添加附加行。 with rollup 的作用是为每个指定的分组列生成小计,并在最后添加一行总计。这样,…...

远程控制平台一之推拉流的实现
确定框架 在选用推拉流框架的时候,有了解过nginx+rtmp/rtsp,Janus,以及其他开源的推拉流框架,要么是延迟严重(延迟一分多钟),要么配置复杂,而且这些框架对于只是转发远程画面这个简单需求来说,过于庞大了。机缘巧合之下,我了解到了一个简单易用的框架,就是ZeroMQ的…...

RTT(RT-Thread)线程管理(1.2W字详细讲解)
目录 RTT线程管理 线程管理特点 线程工作机制 线程控制块 线程属性 线程状态之间切换 线程相关操作 创建和删除线程 创建线程 删除线程 动态创建线程实例 启动线程 初始化和脱离线程 初始化线程 脱离线程 静态创建线程实例 线程辅助函数 获得当前线程 让出处…...

你真的会自动化吗?Web自动化测试-PO模式实战,一文通透...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 PO模式 Page Obj…...

C# 使用堆栈实现队列
232 使用堆栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(、、、):pushpoppeekempty 实现 类:MyQueue void push(int x)将元素 x 推到队列的末尾 int pop()从队列的开头移除并返回元素 in…...

git操作:修改本地的地址
Windows下git如何修改本地默认下载仓库地址 - 简书 (jianshu.com) 详细解释: 打开终端拉取git时,会默认在git安装的地方,也就是终端前面的地址。 需要将代码 拉取到D盘的话,现在D盘创建好需要安放代码的文件夹,然后…...

【以图搜图】Python实现根据图片批量匹配(查找)相似图片
目的:可以解决在本地实现根据图片查找相似图片的功能 背景:由于需要查找别人代码保存的图像的命名,但由于数据集是cifa10图像又小又多,所以直接找很费眼睛,所以实现用该代码根据图像查找图像,从而得到保存…...

【无标题】JSP--Java的服务器页面
jsp是什么? jsp的全称是Java server pages,翻译过来就是java的服务器页面。 jsp有什么作用? jsp的主要作用是代替Servlet程序回传html页面的数据,因为Servlet程序回传html页面数据是一件非常繁琐的事情,开发成本和维护成本都非常高…...

【Linux】进程间通信——system V共享内存 | 消息队列 | 信号量
文章目录 一、system V共享内存1. 共享内存的原理2. 共享内存相关函数3. 共享内存实现通信4. 共享内存的特点 二、system V消息队列(了解)三、system V信号量(信号量) 一、system V共享内存 1. 共享内存的原理 共享内存是一种在…...

CentOS实现html转pdf
CentOS使用实现html转PDF,需安装以下软件: yum install wkhtmltopdf # 转换工具,将HTML文件或网页转换为PDFyum install xorg-x11-server-Xvfb # 虚拟的X服务器,在无图形界面环境下运行图形应用程yum install wqy-zenhei-fonts #…...

【C++】基于多设计模式下的同步异步日志系统
✍作者:阿润021 📖专栏:C 文章目录 一、项目介绍二、项目实现准备工作1.日志系统技术实现策略2.相关技术知识补充2.1 不定参函数设计2.2 设计模式 三、日志项目框架设计1.模块划分2.各模块关系图 四、详细代码实现1.实用工具类设计2.日志等级…...

防火墙监控工具
防火墙监控是跟踪在高效防火墙性能中起着关键作用的重要防火墙指标,防火墙监控通常应包括: 防火墙日志监控防火墙规则监控防火墙配置监控防火墙警报监控 防火墙监控服务的一个重要方面是它应该是主动的。主动识别内部和外部安全威胁有助于在早期阶段识…...

组合模式——树形结构的处理
1、简介 1.1、概述 树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等。如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题。组合模式通过一种巧妙的设计方案使得用户可以一致性地处理整个树形…...

从实体按键看 Android 车载的自定义事件机制
作者:TechMerger 在汽车数字化、智能化变革的进程中,越来越多的车机设计或部分、或全部地舍弃了实体按键,进而把车主操作的入口转移到了车机 UI 以及语音助手。 但统一、高效的零层级 UI 颇为困难,语音的准确率、覆盖率亦不够完善…...

nosql之redis集群
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、redis集群1.单节点redis服务器带来的问题2.集群redis3.集群的优势4.redis集群的实现方法5.redis群集的三种模式5.1 主从复制5.2 哨兵5.3 集群 二、Redis 主从复…...

SpringBoot 项目使用 Redis 对用户 IP 进行接口限流
一、思路 使用接口限流的主要目的在于提高系统的稳定性,防止接口被恶意打击(短时间内大量请求)。 比如要求某接口在1分钟内请求次数不超过1000次,那么应该如何设计代码呢? 下面讲两种思路,如果想看代码可…...

SLA探活工具EaseProbe
工具介绍 EaseProbe可以做三种工作:探测、通知和报告。 项目地址:https://github.com/megaease/easeprobe 1、安装 [rootlocalhost ]# yum -y install unzip go [rootlocalhost ]# unzip easeprobe-main.zip [rootlocalhost ]# cd easeprobe-main [r…...

[Java] 观察者模式简述
模式定义:定义了对象之间的一对多依赖,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,他的所有依赖者都会收到通知并且更新 依照这个图,简单的写一个代码 package Section1.listener;import java.ut…...

linux驱动定时器实现按键按下打印字符
#include <linux/init.h> #include <linux/module.h> #include <linux/of.h> #include <linux/of_irq.h> #include <linux/interrupt.h>struct device_node *dev; unsigned int irqno; //中断处理函数 irqreturn_t myirq_handler(int irq,void *…...

反转链表(JS)
反转链表 题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出:[2,1]示例 3&…...

[PyTorch][chapter 45][RNN_2]
目录: RNN 问题 RNN 时序链问题 RNN 词组预测的例子 RNN简洁实现 一 RNN 问题 RNN 主要有两个问题,梯度弥散和梯度爆炸 1.1 损失函数 梯度 其中: 则 1.1 梯度爆炸(Gradient Exploding) 上面矩阵进行连乘后…...

基于canvas画布的实用类Fabric.js的使用
目录 前言 一、Fabric.js简介 二、开始 1、引入Fabric.js 2、在main.js中使用 3、初始化画布 三、方法 四、事件 1、常用事件 2、事件绑定 3、事件解绑 五、canvas常用属性 六、对象属性 1、基本属性 2、扩展属性 七、图层层级操作 八、复制和粘贴 1、复制 2…...