如何用AI技术降噪? QCon 广州“音视频架构实践”专场给你答案! 了解详情
写点什么

Amazon FSx for Lustre

  • 2019 年 10 月 14 日
  • 本文字数:3275 字

    阅读完需:约 11 分钟

Amazon FSx for Lustre

一拍字节(PiB,等于 1,125,899,906,842,624 字节)的数据堪称巨量,仅比人脑的估计记忆容量的一半略低。数据湖、高性能计算 (HPC) 和电子设计自动化 (EDA) 应用程序通常都以此规模运行,机器学习和媒体处理等更新的数据密集型应用程序也是如此。


Amazon FSx for Lustre


今天我们正是推出 Amazon FSx for Lustre 服务,旨在满足此类应用程序以及您无疑梦寐以求的其他应用程序的需求。Amazon FSx for Lustre 基于成熟的流行开源项目 Lustre,是一个高度并行的文件系统,可以在不到一毫秒的时间内访问 PB 级的文件系统。数以千计的同步客户端(EC2 实例和本地服务器)可能会驱动百万级的 IOPS(输入/输出操作/秒)并且美妙传输数百 GB 的数据。


您可以在几分钟内创建文件系统,挂载任意数量的客户端,然后立即开始访问它。这是一种完全托管的服务,因此无任何维护和管理需求。您可以创建独立的文件系统以用于瞬时用途,也可以将它们无缝联接到 S3 存储桶,然后像 Lustre 文件系统一样访问存储桶中的内容。每个文件系统都采用 NVMe SSD 存储,以 3.6TiB 为单位递增,按照每 1TiB 预置容量 10000 IOPS 的速度,实现 200 Mbps 的总吞吐能力。


Lustre 文件系统的创建


您可以通过 AWS 管理控制台、CLI 或调用 CreateFileSystem 函数的方式来创建 Lustre 文件系统。今天我将使用 CLI;我直接指定 Lustre 终端节点的子网以及期望的存储容量:


$ aws fsx create-file-system --file-system-type LUSTRE --storage-capacity 3600 --subnet-ids subnet-009a1149----------------------------------------------------------------------------------------------|                                      CreateFileSystem                                      |+--------------------------------------------------------------------------------------------+||                                        FileSystem                                        |||+-----------------+------------------------------------------------------------------------+|||  CreationTime   |  1542666225.28                                                         ||||  DNSName        |  fs-00a2e062546ff4fce.fsx.us-east-1.amazonaws.com                      ||||  FileSystemId   |  fs-00a2e062546ff4fce                                                  ||||  FileSystemType |  LUSTRE                                                                ||||  Lifecycle      |  CREATING                                                              ||||  OwnerId        |  012345678912                                                          ||||  ResourceARN    |  arn:aws:fsx:us-east-1:012345678912:file-system/fs-00a2e062546ff4fce   ||||  StorageCapacity|  3600                                                                  ||||  VpcId          |  vpc-e68d9c81                                                          |||+-----------------+------------------------------------------------------------------------+||||                                   LustreConfiguration                                  |||||+----------------------------------------------------------------+-----------------------+|||||  WeeklyMaintenanceStartTime                                    |  5:09:00              |||||+----------------------------------------------------------------+-----------------------+|||||                                        SubnetIds                                       |||||+----------------------------------------------------------------------------------------+|||||  subnet-009a1149                                                                       |||||+----------------------------------------------------------------------------------------+||

复制代码


这将会需要大约 5 分钟的时间,然后它的状态将变为 AVAILABLE:


$ aws fsx describe-file-systems --file-system-id fs-00a2e062546ff4fce | grep Lifecycle||  Lifecycle      |  AVAILABLE                                                             ||
复制代码


我的 EC2 实例已经拥有 Lustre 内核模块并且安装了 Lustre 客户端:



我创建了一个挂载点,然后挂载我的 Lustre 文件系统:


$ sudo mkdir /fsx$ sudo mount -t lustre fs-00a2e062546ff4fce.fsx.us-east-1.amazonaws.com@tcp:/fsx /fsx
复制代码


我的 3.4 TiB Lustre 文件系统也准备好可以使用:



我可以创建一个位于 S3 存储桶(或 S3 存储桶的前缀部分)之前的文件系统。这样可以将我存储桶作为数据湖,使用基于文件的工具和应用程序进行处理。我在创建文件系统时直接包含了存储桶名称 ImportPath:


$ aws fsx create-file-system --file-system-type LUSTRE --storage-capacity 3600 \  --subnet-ids subnet-009a1149 --lustre-configuration ImportPath=s3://jbarr-src
复制代码


我的存储桶包含大约 100 万个文件,因此创建过程花费了大约 30 分钟(团队告诉我每秒大约可创建 500 个文件)。这就是我的存储桶:



这是从我的 EC2 实例中看到的样子:



这时,Lustre 文件系统包含我的对象的所有元数据(名称、日期、大小等等),但没有实际的文件数据。此数据将根据需要从 S3 中复制。因此,此命令不会访问 S3:


$ find . -type f
复制代码


而下面的这个命令将会访问,每次访问有小的延迟,因为将会根据需要将对象从 S3 复制到文件系统中:


$ find . -type f -exec grep -l -i main {} \;
复制代码


如果我理解自己代码的访问模式,则可以使用 lfs 命令的 hsm_restore 选项来预加载代码。也许我计划分析所有 C 标头文件:


$ find . -type f -name '*.h' -print0 | \  xargs -0 -n 50 -P 8 sudo lfs hsm_restore
复制代码


我对文件作出的所有更改将继续存在于文件系统中。我可以使用 lfs 命令的 hsm_archive 选项将更改后的文件导出回 S3 中:


$ sudo lfs hsm_archive README.md$ sudo lfs hsm_action README.md
复制代码


第一个命令启动了到处操作,第二个命令通过打印 NOOP 表示操作已经完成。更改后的文件将被写入同一个存储桶,并以文件系统的 ExportPath 为前缀:



我可以在命令行找到 ExportPath:


$ aws fsx describe-file-systems --file-system-id fs-086f5160a68bc158b | grep Path||||  ExportPath       |  s3://jbarr-src/FSxLustre20181120T005845Z                        ||||||||  ImportPath       |  s3://jbarr-src                                                  ||||
复制代码


每个文件系统都向 CloudWatch 发布一组丰富的指标:



当然还有更多,这里就不一一详述了! 例如,我没有演示您可以使用 Amazon FSx for Lustre 实现的规模。我使用了一个客户端,当然也可以轻松使用上千个客户端。


注意事项


对于 Amazon FSx for Lustre 需要注意以下几点:


使用控制台 — 我使用 CLI 编写了此博文;当然也完全可以使用控制台。


区域 — 您可以在美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、美国东部(俄亥俄)和欧洲(爱尔兰)等区域创建 Lustre 文件系统。


定价 — 定价基于您预置的存储量,在美国东部(弗吉尼亚北部)、美国西部(俄勒冈)和欧洲(爱尔兰)区域的价格为每月每 GiB 0.14 USD 起。


访问 — 您可以从 EC2 实例访问您的文件系统。您还可以使用 AWS Direct Connect 将现有的数据中心或并置中心连接到 AWS,然后从那里访问您的文件系统。


安全性 — 每个文件系统的访问权限均通过安全组来控制,利用 IAM 策略实现精细的访问控制。静态数据使用 256 位块加密算法加密,密钥由 Amazon FSx for Lustre 管理。


现已推出


Amazon FSx for Lustre 现已推出,您可以立即开始使用!


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/new-amazon-fsx-for-lustre/


2019 年 10 月 14 日 15:52430
用户头像

发布了 1509 篇内容, 共 55.4 次阅读, 收获喜欢 60 次。

关注

评论

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

【Flutter 专题】83 解自定义 ACEWave 波浪 Widget (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

【LeetCode】变位词组Java题解

Albert

算法 LeetCode 7月日更

你真的了解 Session 和 Cookie 吗?

陈皮的JavaLib

Java HTTP session Cookie

[架构实战营][模块二作业]

KK_TTN

架构实战营

Selenium4 Alpha-7升级体验

FunTester

maven 自动化测试 Gradle 测试开发 selenium

微信朋友圈架构设计

summer

极客时间 极客时间架构师一期

MVP on Board 没用小技巧 👌

newbe36524

.net MVP ASP.NET Core

Vue进阶(幺幺捌):CSS3 - 选择器first-child、last-child、nth-child、nth-last-child、nth-of-type

No Silver Bullet

Vue 7月日更

【架构设计模块二】:微信朋友圈的高性能复杂度

Ryoma

架构实战营

[架构实战营一期] 模块二作业

trymorewang

架构实战营

性能测试误差分析文字版-上

FunTester

性能测试 自动化测试 接口测试 测试框架 测试开发

面试算法之螺旋数组查找问题

泽睿

面试 二分查找

【硬刚Kylin】Kylin入门/原理/调优/OLAP解决方案和行业典型应用

王知无

【数据结构】Java 同步工具 AQS

Alex🐒

Java 源码 数据结构

《面试补习》--来聊聊削峰填谷!

九灵

Java 分布式 消息队列 异步削峰

架构实战营模块二作业

老猎人

架构实战营

external-resizer源码分析-pvc扩容分析

良凯尔

Kubernetes 源码分析 Ceph CSI Kubernetes Plugin

Vue进阶(幺叁贰):ES数组操作:数组合并

No Silver Bullet

Vue 7月日更 数组合并

架构实战营模块二作业

maybe

基于P4的SCION -- 构建太比特的未来互联网

俞凡

网络

【Java特性专题】JDK(8-11)特性分布变化简介

浩宇の天尚

Java Java新特性 7月日更 Java11

智能运维系列之五:总结

micklongen

AIOPS 智能运维

2.3如何设计高可用架构

Lemon

存储高可用

央视曝光APP弹窗广告三大陷阱:如何监管应用软件弹窗广告

石头IT视角

Go语言:sync包控制并发详解!

微客鸟窝

Go 语言

编程的本质是什么?

白色蜗牛

Java 编程 程序员 软件 计算机

2.2如何设计高性能架构

Lemon

高性能架构

Presto原理&调优&面试&实战全面升级版

王知无

性能测试误差统计实践

FunTester

软件测试 测试 性能测试 测试开发

性能测试误差分析文字版-下

FunTester

软件测试 性能测试 接口测试 测试框架 测试开发

Spring源码解析 -- SpringWeb请求参数获取解析

Java spring 源码解析

「云智公开课」百度沧海·存储

「云智公开课」百度沧海·存储

Amazon FSx for Lustre_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章