写点什么

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:001008

评论

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

基于 Flink 打造的伴鱼实时计算平台 Palink 的设计与实现

Apache Flink

flink

揭秘视频千倍压缩背后的技术原理之预测技术

拍乐云Pano

教你三种jQuery框架实现元素显示及隐藏动画方式

华为云开发者联盟

jquery 动画 元素 JQuery框架 网页

【FlinkSQL】Flink Table & SQL 数据类型

Alex🐒

flink 翻译 FlinkSQL flink1.13

2021年马士兵老师1000道Java大厂面试真题视频解析+笔记+源码

Java架构追梦

Java 架构 面试 马士兵

5分钟带你玩转国内首款研发自动化工具PingCode Flow

PingCode研发中心

研发管理 研发效能 自动化管理 研发工具

一款超牛的 Linux 终端复用神器(附安装、使用教程)

学神来啦

Linux 学习 运维 安全

百度大规模Service Mesh落地实践

百度Geek说

Service Mesh 软件架构

微服务架构中的两款流量防卫兵

悟空聊架构

sentinel 高并发 Hystrix 6月日更 流量防控

MTU带来的问题

BUG侦探

网络技术 网络运维 GRE 隧道

从零开始学习3D可视化之场景层级(1)

ThingJS数字孪生引擎

大前端 物联网 可视化 3D可视化 数字孪生

奇亚矿机系统,Bzz分币系统,云算力APP开发

36氪企服点评|中国企服软件金榜-项目管理系列榜单揭晓,Worktile夺魁!

爱吃小舅的鱼

项目管理 研发管理 研发工具 项目管理工具

QCon演讲| 从团伙到团队,PingCode研发团队敏捷实践血泪史

爱吃小舅的鱼

敏捷 研发管理 研发效能 开发

【FlinkSQL】Flink Table & SQL 时间属性

Alex🐒

flink 翻译 FlinkSQL flink1.13

竞赛|数据竞赛Top解决方案开源整理

不脱发的程序猿

开源 数据竞赛

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之EXCEL数据导入(九)

crudapi

Vue crud crudapi qusar 数据导入

北京人工智能产业联盟成立,百度CTO王海峰出任联盟理事长

百度大脑

人工智能

都啥年代了,求你别再说Redis是单线程了!

Java redis 编程 程序员

👋 Agora Flat 开源教室 Web 版上线啦~

千竹

开源 音视频 在线教育 互动白板 互动课堂

JAVA中的浮点数与二进制

加百利

Java 后端 二进制 6月日更

4面拿华为offer的水平,面试阿里居然一面就被吊打?

Java架构师迁哥

阿里最新发布的 Spring Cloud ALiBaBa 全解第三版,一睹庐山真面目!

Java 程序员 架构 微服务

爱奇艺于首届MediaAIAC与首届高新视频创新应用大赛斩获三项权威大奖,技术实践领跑行业创新

爱奇艺技术产品团队

一文你带快速认识Vue-Router路由

华为云开发者联盟

html Vue vue-router 路由 路由管理器

对话吴军:人工智能如何推动金融行业的数字化转型

索信达控股

人工智能 大数据 金融科技 数字化转型 金融

汽车之家:基于 Flink + Iceberg 的湖仓一体架构实践

Apache Flink

flink

淘宝“618”双11系统架构是如何设计的呢?这份Java千亿级并发系统架构设计笔记告诉你答案

Java 程序员 架构 计算机

智慧工厂|全方位监控管理,可视化让生产变的透明

一只数据鲸鱼

数据可视化 工业互联网 智慧农业 智慧工厂 纺织企业

6月18日华为云携手中科院上海药物所,深度解读AI药物研发技术

华为云开发者联盟

AI 华为云 药物 TechWave EIHealth

【布道API】API端点/资源命名最佳实践

devpoint

RESTful Rest API 6月日更

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