AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

AWS 文件存储网关初体验

  • 2019-11-18
  • 本文字数:5462 字

    阅读完需:约 18 分钟

AWS文件存储网关初体验

1. 背景介绍

AWS Storage Gateway 是一项可以帮助用户实现在混合架构环境中将本地数据中心内设施与 AWS 云端存储进行无缝集成的服务。通过 Storage Gateway 可以简化本地 IT 环境与云端存储间移动数据,将数据存储到 AWS 云,并且实现备份,存档以及灾难恢复等主要功能。


Storage Gateway 家族之前已经包含有基于卷接口以及磁带接口类型的网关设备,帮助用户可以在适当的场景下选择合适的方式去将本地的数据迁移到云端,在去年 Las Vegas 举办的 re:Invent 大会上,AWS 更进一步又推出基于文件接口(支持 NFS3 和 NFS4.1)类型的存储网关,给用户提供了更多的选择,方便用户可以通过标准的文件协议将文件作为对象直接存储在 Amazon S3 上,这样不但可以借助于 S3 超高的持久性优势对文件进行持久化保存,还可以将 S3 对象的版本控制,生命周期管理以及跨区域复制等存储策略直接应用到存储对象中。


要使用文件存储网关服务,必须为存储网关下载虚拟机镜像,并从 AWS 管理控制台或存储网关 API 激活它。写入到 NFS 的文件成为 Amazon S3 中的对象, 文件与对象之间存在一对一的映射,对象使用 Amazon S3 托管的加密密钥 (SSE-S3) 在服务器端加密,所有数据传输通过 HTTPS 执行。


文件存储网关服务使用分段并行上传等技术,优化了网关与 AWS 之间的数据传输,以更好利用可用带宽。与缓存卷类似,系统维护本地缓存以提供对最近访问数据的低延迟访问,并减少数据传出成本。


新年伊始,让我们撸起袖子,一起来体验一下新型的存储网关带来的超能力,尝试如果使用文件存储网关这项新的功能来实现对本地文件的云端迁移。

2. 部署与配置存储网关

文件存储网关适用于将数据传入到 S3 以供应用日常使用、备份和存档到 AWS 云上不同类型的存储服务。



图 1


在进入具体的安装部署环节之前,我们首先来了解一下使用文件存储网关中涉及到的主要调用流程。用户的应用服务器运行在自有数据中心内,在用户环境中部署文件存储网关(File Gateway),用户或应用服务器通过 NFS 客户端连接存储网关,利用网关,可以将 S3 中的存储桶作为 NFS 装载点,从而对文件进行写入和访问。

2.1 安装部署文件存储网关

首先登录到 AWS Storage Gateway Console


https://console.amazonaws.cn/storagegateway/home?region=cn-north-1


2.1.1 选择网关类型


在导航窗格中,选择 Gateways,然后选择 Create gateway;


在 Select gateway type 页面上,选择 File gateway,然后选择 Next;



图 2


2.1.2 选择主机平台


现阶段文件存储网关只支持本地运行在 VMware ESXi 虚拟化环境中,选择 Download image,下载安装包,解压后得到.ova 类型文件;



图 3


1)通过 VMware vCenter 控制台将 Storage Gateway 虚拟机部署到用户本地的虚拟化环境中。此处省略部署 Storage Gateway 虚拟机过程,详细步骤请参考:


http://docs.aws.amazon.com/zh_cn/storagegateway/latest/userguide/deploy-gateway-vmware.html


注意: 必须满足最低的主机配置要求;


选择 Thick provisioned format 磁盘类型;


确保存储网关主机上的时钟与网络时间协议 (NTP) 服务器同步。


2)添加存储网关本地磁盘存储


存储网关至少需要添加一个磁盘以便进行缓存,客户端对文件的访问会首先在缓存中去获取文件信息,这样将大大减少通过网络去 S3 直接获取文件的延迟,文件存储网关缓存最大值为 16TB。


建议:将用于缓冲区的磁盘专门使用一个数据存储。


2.1.3 连接网关


登录到 VMware vCenter 管理界面,点击网关虚拟机,在 Summary 页面中记录下网关 IP 地址信息


切换到 AWS 控制台界面,输入文件存储网关 IP,选择 Connect to gateway



图 4


2.1.4 激活网关


选择存储网关的时区并为网关命名,最后点击 Activate gateway



图 5


2.1.5 配置本地磁盘


选择在步骤 2.1.2 中为文件存储网关配置的新挂载的磁盘作为网关的缓存,确定要用于缓存存储的磁盘。



图 6


保存并完成配置任务,观察新创建的存储网关状态是否为 Running



图 7

2.2 创建文件共享

2.2.1 Amazon S3 上创建存储桶,以便作为 NFS 挂载点保存文件;


2.2.2 创建文件共享


在 Storage Gateway 服务导航窗格上,选择 File shares,然后选 择 Create file share;


选择之前创建的网关,输入已建立好的 S3 存储桶名称,并且必须有访问存储桶的权限。我们可以创建新的 IAM role 或者通过已有的 IAM role 的方式来使用。



图 8


如果使用已有 IAM role,则请确保赋予如下的信任关系及访问权限


1)信任策略允许 Storage Gateway


{


"Version": "2012-10-17",


"Statement": [


{


"Sid": "",


"Effect": "Allow",


"Principal": {


"Service": "storagegateway.amazonaws.com"


},


"Action": "sts:AssumeRole",


"Condition": {


"StringEquals": {


"sts:ExternalId":"account-id"


}


}


}


]


}


2)将 IAM role 赋予如下 S3 访问及操作权限,请注意中国区 arn 独特的标示 以及将存储桶名替换为之前需要访问的存储桶名称


{


"Version": "2012-10-17",


"Statement": [


{


"Action": [


"s3:GetAccelerateConfiguration",


"s3:GetBucketLocation",


"s3:GetBucketVersioning",


"s3:ListBucket",


"s3:ListBucketVersions",


"s3:ListBucketMultipartUploads"


],


"Resource": "arn:aws-cn:s3:::filegatewaybucket",


"Effect": "Allow"


},


{


"Action": [


"s3:AbortMultipartUpload",


"s3:DeleteObject",


"s3:DeleteObjectVersion",


"s3:GetObject",


"s3:GetObjectVersion",


"s3:ListMultipartUploadParts",


"s3:PutObject"


],


"Resource": "arn:aws-cn:s3:::filegatewaybucket/*",


"Effect": "Allow"


}


]


}

2.3 如何使用文件存储网关

现在我们已经安装部署了文件存储网关,并且创建了 S3 存储桶作为文件共享的容器,下面我们就以 Microsoft Windows 操作系统为例,来看看如何实际使用文件存储网关。


2.3.1 将文件共享连接到 Microsoft Windows 客户端


1)在 Windows 客户端中为 NFS 启用服务;


2)在 Windows 客户端的命令提示符下,键入挂载命令,将 S3 存储桶作为 Windows 系统映射的驱动器盘符:


mount –o nolock 网关 IP 地址:/S3 存储桶名称 Windows 客户端上的驱动器盘符:


具体执行命令如下所示:


mount –o nolock 10.29.1.2:/filegatewaybucket Z: (注意命令最后的驱动器盘符的:)


2.3.2 测试文件网关


在 Windows 客户端上,导航到文件共享的驱动器盘符(Z:)。驱动器名称前面是您的 S3 存储桶的名称。


将一些文件或文件夹复制到驱动器。



图 9


在 S3 管理控制台上,导航到您映射的存储桶。此时应该看到在您指定的 S3 存储桶中复制的文件和文件夹。



图 10


通过 NFS 客户端可以对文件进行写入、读取、删除等操作。


读取操作首先访问本地磁盘中的缓存文件,如果文件不在缓存,则从 S3 中提取并添加到缓存中。写入操作,通过回写式缓存,将文件分段上传写入到 S3。


注意:如果使用 Linux 操作系统,可通过如下命令进行挂载,使用方法相似:


mount –t nfs –o nolock 网关 IP:/S3 存储桶名称 [MountPath]

3. 管理与监控存储网关

3.1 管理存储网关

除了使用 AWS Storage Gateway 管理控制台进行日常的管理和维护工作外,用户还可以通过使用默认用户名 sguser 和密码 sgpassword 来登录存储网关虚拟机的管理配置界面,下图为网关虚拟机本地控制界面。



图 11


3.1.1 测试网络连接情况


键入 3 测试网络连接情况



图 12


键入 6 ,选择测试中国区,测试 Internet 连接。当排查网关的网络问题时,此测试可能会很有用,如果提示[FAILED]信息,请检查网络或防火墙配置是否正确。



图 13


3.1.2 可用管理命令


键入 5 以打开 AWS Storage Gateway 控制台,键入 h 以打开 AVAILABLE COMMANDS (可用命令) 窗口。



图 14


可以通过控制台命令行来获取网关的 IP,修改密码以及申请支持等能力。


3.1.3 网关系统资源检查


键入 6 可以查看网关资源配置情况,如果资源配置不满足要求,则会提示资源不足错误,网关将无法正常运行。



图 15

3.2 监控存储网关

除了日常的管理工作,用户可以通过使用 CloudWatch 来监控与存储网关相关的主要参数,其中包括 CloudBytesDownloaded,CloudBytesUploaded, CacheUsed, CacheHitPercentage 等指标,通过不同指标可以监控 Storage Gateway 到云端上传及下载的使用量及 Cache 相关的使用情况,如下图所示。


用户还可以通过 CloudTrail 捕获 Storage Gateway 调用 API 的情况,并将日志文件保存在 S3 存储桶中 。



图 16

4. 小结

文件存储网关服务的推出是对当前基于数据卷和 VTL 存储网关的一个补充,通过对标准的文件系统协议的支持,使得用户可以无需修改现有应用程序便可以将文件存储在云端。大大简化了混合架构模式下用户希望借助 Amazon S3 来替代本地存储的过程,以帮助用户实现节约成本和更高持久化的保障。存储网关还通过本地缓存方式提供对数据的低延迟访问,集成 AWS Identity and Access Management (IAM) 进行访问控制,以及使用 AWS 管理控制台和 AWS Command Line Interface (AWS CLI) 进行管理操作。


当然,文件存储网关现阶段只支持 VMware ESXi 虚拟化环境,对于需要使用其他虚拟化软件的小伙伴还需要再耐心等待一下。另外,网络条件也将会成为影响文件存储网关使用体验的重要因素之一。


作者介绍:



周琦,亚马逊 AWS 解决方案架构师,拥有 10 年 IT 领域工作经验,先后在 IBM,VMware 等公司担任工程师及架构师等职位,现负责 AWS 云服务在国内的推广和支持工作,同时致力于企业混合云,DevOps 以及微服务等领域的研究。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/storage-gateway-first-experience/


2019-11-18 08:001247

评论

发布
暂无评论
发现更多内容

服务限流限流算法、限流策略以及该在哪里限流

Jokay

高可用 分布式限流 限流算法 限流 单机限流

【大牛疯狂教学】熬夜整理2021最新Android高级笔试题

欢喜学安卓

android 程序员 面试 移动开发

权威认可!腾讯云数据安全中台入选2021先锋实践案例

腾讯安全云鼎实验室

#腾讯云 数据安全中台

超好玩:使用 Erda 构建部署应用是什么体验?

尔达Erda

开源 DevOps 云原生 PaaS Go 语言

和12岁小同志搞创客开发:遥控舵机

不脱发的程序猿

DIY 创客开发 控制舵机

解读 AppStore 新功能:自定义产品页面和 A/B Test 工具

37手游iOS技术运营团队

ios apple AB testing实战 appstore 马甲包

PHA挖矿系统源码开发介绍

获客I3O6O643Z97

PHA矿机挖矿 PHA质押挖矿

Go语言,并发控制神器之Context

微客鸟窝

Go 语言

微信朋友圈高性能分析

十二万伏特皮卡丘

架构训练营

史上最全关于苹果开发者账号及上架APPStore总结

孙叫兽

苹果 APP开发 appstore app上架

【LeetCode】最高频元素的频数Java题解

Albert

算法 LeetCode 7月日更

基于 WebRTC 的1 对 1 通话实战(二)信令服务器实现

IT酷盖

音视频 WebRTC 信令服务器

星火矿池APP源码开发

获客I3O6O643Z97

区块链+

带你了解两种线性规划的方法:稀疏矩阵存储和预处理

华为云开发者联盟

矩阵 存储 线性规划 稀疏矩阵 预处理

频繁创建基于Etcd实现的分布式锁会有什么问题?

BUG侦探

分布式锁 etcd 内存泄漏

Flutter Android 工程结构及应用层编译源码深入分析

工匠若水

flutter android dart Gradle 工匠若水

穿越六年艰难转型,明道云终于再获主流投资

明道云

互联网

【大牛系列教学】2021年Android程序员职业规划

欢喜学安卓

android 程序员 面试 移动开发

mysqldump备份技巧分享

Simon

MySQL 逻辑备份

图解URL、URI和URN 区别

devpoint

API url 7月日更

策略+IOC 消灭ifelse,拿来吧你

skow

Java 设计模式 代码设计

产研效率提升-工具篇-消息中心

循环智能

效率 方法 工具 流程 消息

DAPP系统源码模式开发定制

获客I3O6O643Z97

DAPP智能合约交易系统开发 DAPP系统开发

从源码分析Hystrix工作机制

vivo互联网技术

Java 源码分析 分布式 Hystrix

一招教你数据仓库如何高效批量导入与更新数据

华为云开发者联盟

数据库 数据仓库 GaussDB(DWS) MERGE INTO

对标Shopify的千亿市值,有赞还要走多久?

ToB行业头条

SaaS 电商SaaS

详解Spring中Bean的作用域与生命周期

华为云开发者联盟

spring 容器 ioc bean Bean对象

白林学院校友会小程序前端和后台管理系统设计方案

CC同学

校友录小程序 校友会小程序 同学录小程序

物联网通信技术,那些你不知道的事

华为云开发者联盟

物联网 网络 通信 有线 无线

Triton推理服务器在阿里云机器学习PAI-EAS公测啦!!!

阿里云大数据AI技术

如何优雅地关闭SpringBoot应用程序?听我给你讲

麦洛

Spring Boot

AWS文件存储网关初体验_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章