写点什么

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

评论

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

帮助文档——助客户快速了解您的产品如何使用

小炮

帮助文档

基于场景文字的多模态融合的图像分类

华为云开发者联盟

计算机视觉 图像分类 场景文本 图像视觉 多模态融合分析

为什么 Rust 是 Stack Overflow 最受欢迎语言?

非凸科技

c++ rust 性能 Stack Overflow 内存安全

不要再焦虑了,进大厂真的没你想象的那么困难

Java架构追梦

Java java面试 后端开发

java培训MySQL一次性插入多行数据的操作

@零度

Java MySQL

TiDB 查询优化及调优系列(二)TiDB 查询计划简介

PingCAP

如何完成与龙蜥操作系统的兼容验证,看这里! | 一周动态

OpenAnolis小助手

操作系统 龙蜥社区 一周动态

IOS技术分享| ARCallPlus 开源项目(二)

anyRTC开发者

ios 开源 音视频 移动开发 呼叫邀请

毕业总结

孙强

#架构实战营

无聊科技正经事周刊(第4期):理性囤货与人工智能预测

潘大壮

程序员 科技 行业趋势 科技周刊

Enhanced SWAP内存管理 OpenHarmony构建新的内存管理优化方案——ESWAP

科技汇

【IT运维】如何又快又好的进行数据备份?

行云管家

运维 快照 数据备份 IT运维 行云管家

得物技术浅谈深入浅出的Redis分布式锁

得物技术

redis 分布式 分布式锁 CAP 一致性

小程序自动化测试框架原理剖析

百度Geek说

小程序 百度

面试突击43:lock、tryLock、lockInterruptibly有什么区别?

王磊

Java 面试题

阿里云机器学习PAI开源中文NLP算法框架EasyNLP,助力NLP大模型落地

阿里云大数据AI技术

深度学习 nlp 开源技术

好的每日站会,应该这么开 | 敏捷开发落地指南

阿里云云效

云计算 阿里云 敏捷开发 研发敏捷 每日站会

ArkUI框架又有哪些新增能力?

科技汇

圈重点!一图读懂OpenHarmony技术日

OpenHarmony开发者

OpenHarmony 技术日

稳定性领导者!阿里云获得信通院多项系统稳定性最高级认证

阿里巴巴云原生

阿里云 云原生 可观测 性能压测 获奖

深入微服务-SpringCloud调用组件Feign

janyxe

spring Spring Cloud Feign OpenFegin

浅谈小程序开源业务架构建设之路

百度Geek说

架构实战营 - 方案设计文档模板

华仔

架构实战营 文档模板 方案设计

TiFlash 源码阅读(一) TiFlash 存储层概览

PingCAP

分布式数据对象:超级终端的"全局变量"

科技汇

活动报名|OpenHarmony 战“码”先锋,PR征集令

OpenHarmony开发者

OpenHarmony

分享一个JDK批量异步任务工具Completion Service,超好用

华为云开发者联盟

jdk 线程 异步 CompletionService 批量异步任务工具

一文掌握 Docker 技术体系

博文视点Broadview

短短6小时,AI设计出40000种毒气分子,很多毒性远超战用神经毒剂

图灵教育

AI

等保2.0国家标准是什么?与等保1.0有啥变化?

行云管家

网络安全 等保 等级保护 等保2.0

10 个 web 在线前端资源,优雅永不过时~

前端 网页设计 在线资源

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