借助 NetApp CVO 实现 EDA 混合架构下的统一数据存储

2020 年 8 月 27 日

借助 NetApp CVO 实现 EDA 混合架构下的统一数据存储

1. 概述


1.1 业务的新挑战


随着半导体行业先进制程的快速发展,EDA 业务对计算资源的要求越来越高。企业所拥有的计算资源毕竟有限,当研发或业务出现高峰时,需要短期内大量扩展计算资源来满足需求。公有云的兴起,使得企业用户考虑是否可以借助公有云的计算资源,将云端虚拟机作为计算节点加入到 EDA 集群,来满足企业的高峰作业需求。所以,有越来越多的半导体行业客户将 EDA 业务搬到云上,EDA 混合架构部署逐渐成为一个趋势。


企业客户的本地数据中心如何与云上的业务数据打通,如何保持本地集群与云上集群的数据同步,如何借助云上的优势来实现云上的数据灾备方案,这对数据存储提出了新的挑战。


AWS 提供了多种存储服务,包括 EBS 块存储服务、S3 对象存储服务、EFS 共享文件服务和 FSx for Lustre 高性能文件系统服务等,可以为客户提供不同场景下的数据存储。当然,客户也可以通过在 EC2 上自己部署存储软件的方式来构建 NAS 服务器。


本文主要介绍 AWS 如何与 NetApp 结合,在企业内部 IT 环境和公有云的 EDA 混合架构的场景下,提供高性能、高安全和可扩展的企业级统一数据存储,帮助客户更快更好的进行研发,随时随地从云上和云下的数据中发掘更多价值。


1.2 EDA 混合架构部署


在以下的架构图中可以看到,在本地数据中心和 AWS 云结合时常见的 EDA 混合架构部署。



本地数据中心通过专线或者 VPN 等方式与 AWS 云进行连通。在本地数据中心部署有一套 EDA 集群,使用 LSF 或 SLURM 等主流的作业调度管理平台,数据存储使用 NetApp ONTAP,还有配套的认证服务器和 license 服务器等。


在 AWS 上也有一套 EDA 集群,包括调度器、Login 服务器和弹性扩展的计算节点;认证和用户都和本地数据中心进行同步; 数据存储方面,采用 NetApp 的 NAS 存储软件方案,部署两台 EC2 实例:一台 EC2 部署 NetApp Cloud Manager,另一台 EC2 部署 NetApp Cloud Volumes ONTP 简称 CVO 。CVO 挂载 AWS 上的 EBS 卷,作为控制器后端存储空间,并通过 NFS、SMB、iSCSI 协议,将 EBS 卷挂载给 AWS 上的其他业务系统使用。


在 EDA 混合架构下,用户无需改变习惯,还是登录到本地数据中心的的 EDA 集群,根据需要选择一个本地队列或者转发队列提交任务,本地队列会调用本地的计算节点,如果是转发队列,本地集群会转发到 AWS 云端的 EDA 集群,动态调用多个计算节点进行计算。


本地数据中心存储上的数据与 AWS 上的数据传输、数据同步方面,Cloud Volumes ONTAP 使用 NetApp 复制协议(即 SnapMirror 技术)将云存储与自有数据中心相无缝连接。


在安全方面,AWS 也提供了多个层面的云服务,比如用于认证和授权的 IAM、用于监控和日志管理的 CloudWatch、用于数据加密的 KMS、用于系统运维管理的 System Manager 和用于域名解析的 Route53 等,为客户的数据安全提供了完善的保障。更多安全服务,请参考:https://aws.amazon.com/cn/products/security/?nc=sn&loc=2


2. 部署 NetApp Cloud Manager


要在 AWS 上使用 NetApp CVO,首先需要在 AWS 上安装部署 NetApp Cloud Manager,Cloud Manager 的安装方式可以从 NetApp 官网或者 AWS Marketplace 进行安装, 在国内目前仅支持 AWS Marketplace 进行安装,本文的部署和操作都在宁夏区域进行。


先在 NetApp 官网https://cloud.netapp.com/ONTAP-cloud注册一个账号,作为后续创建 NetApp CVO 的使用准备。


登录 AWS 控制台,安装 Cloud Manager。选择 EC2 管理界面,单击“启动实例”,然后可以直接在 MarketPlace 中来搜索 Cloud Manager 进行安装:



1、选择 NetApp Cloud Manager 镜像之后,就可以选择 EC2 实例类型,在 AWS 中启动 NetApp Cloud Manager 软件实例。


注:当您启动实例时,需要将其关联到一个 IAM 角色,用于提供 Cloud Manager IAM 策略中定义的 AWS 权限:https://mysupport.netapp.com/info/web/ECMP11022837.html


Cloud Manger 会通过此角色,在后续的安装 CVO 步骤中,自己来创建 CVO 实例,创建 EBS 卷等操作。


2、在 Cloud Manger 实例启动完成之后,通过在 Web 浏览器中输入 Cloud Manger 实例的 IP 地址访问 Cloud Manager。



账号密码是最开始 NetApp 官网中注册的账号。


注:Cloud Manager 实例需要部署在 VPC 的公有子网,或者拥有 NAT 网关的私有子网中,如果 Cloud Manager 实例无法访问外网的 NetApp 官方网站,则访问 Cloud Manager 实例的 IP 时无法正常登录。


(1) Cloud Manager 需要访问的公网 IP 和 DNS,请参见 https://docs.netapp.com/us-en/occm/reference_networking_cloud_manager.html#outbound-internet-access


(2) Cloud Manager 所需要开放的端口和安全组配置参见:https://docs.netapp.com/us-en/occm/reference_security_groups.html#rules-for-cloud-manager


3、完成设置向导之后,在”存储系统视图”中使用 Cloud Manager 启动 Cloud Volumes ONTAP 实例,或在”卷视图”中使用 Cloud Manager 直接创建卷。


4、可以在资源门户上找到有关 Cloud Manager 和 Cloud Volumes ONTAP 的更多详细安装文档和视频:https://docs.netapp.com/us-en/occm/task_getting_started_aws.html


3. 部署 NetApp CVO


完成 Cloud Manager 的部署之后,即可使用 Cloud Manager 的控制台界面来安装部署 NetApp Cloud Volumes ONTAP(简称 CVO)。


3.1 创建 CVO


创建 CVO 主要是通过访问上一章安装好的 cloud manager 实例,在 web 页面上操作


1、在 cloud manager 中选中左侧栏中的 ONTAP



2、选择创建一个 CVO



3、选中 AWS,并选择 CVO



4、设置 work enviroment 的名称,还有 system manager 的 admin 用户密码。



5、设置备份信息



6、设置 CVO 创建时所需要的 VPC、安全组、密钥对等环境。密钥对的权限需要有创建 EC2 和 EBS 等权限。



7、设置 CVO 的 EBS 卷数据加密方式



8、填写左边需要的 license 即可,右边可忽略



9、选择需要部署的 CVO 实例类型,也可以选择右边 Create my own 自己选择实例类型



10、选择 Create my own 的话,可以自己选择实例类型,详细实例类型可以参考 EC2 的实例配置根据需要来定。



11、下一步需要在 AWS 账号中订阅 CVO



12、设置 CVO 磁盘大小,S3 的存储层类型



13、设置读写速率


通常情况下,选择 Normal 模式,保证数据不丢失;如果为了极致性能,部分场景可以选择 High 模式,使用内存缓存数据,但在断电等情况下,可能会有几秒钟的数据丢失的风险。



14、设置 NFS 卷的大小,以及允许访问挂载目录的 IP 段



15、最后确认即可开始部署 CVO



也可以查看 NetApp 官网上 AWS CVO 的部署文档:


https://docs.netapp.com/us-en/occm/task_deploying_otc_aws.html#launching-a-cloud-volumes-ONTAP-ha-pair-in-aws


注:NetApp CVO 的 HA 部署即将在中国区推出,可以为客户提供更好的高可用和性能。


3.2 查看 CVO


CVO 部署完成之后,可以在 cloud manager 中选中左侧栏中的 ONTAP,可以看到刚刚已经部署好的 CVO 信息,并点击 resources,可以查看到当前 CVO 的资源信息,包括磁盘、实例、复制等信息:



点击右侧栏中的 information,可以查看到 CVO 的基本信息:



在 information 中主要显示 CVO 的版本,AWS CVO 的实例信息等:



其中中间一栏的 IP,是在部署 CVO 时,自动在 AWS 的实例上配置了辅助 IP,在 AWS CVO 实例上也可以查看到这些 IP:



Cluster Management:10.200.0.12 对应的 IP 是用户管理 CVO 集群的,可以直接访问 10.200.0.12 来进行管理:



System manager 这个管理界面,用户名是 admin,密码是在创建 CVO 的章节第 4 步中 设置的密码。


SVM Management:10.200.0.245 对应的 IP 是虚拟存储管理的 IP


Node Management : 10.200.0.171 对应的 IP 是节点管理的 IP


Data (NFS,CIFS) :10.200.0.174 对应的 IP 是 CVO 实例上 NFS 的 ip,其他的 EC2 实例可以 mount 此 IP,来访问 NFS 上的数据。


Intercluster:10.200.0.63 对应的 IP 是用于数据复制的 IP,后面章节配置的本地与 AWS 上的数据复制技术 SnapMirror 也是使用此 IP 来进行复制。


3.3 CVO 的性能


3.3.1 测试环境


NFS 服务器进行压力测试的测试环境:


NFS 服务器: ONTAP server 配置选择 C5d.18xlarge (72vCPU,144GB 内存,带 2*900G SSD 实例存储)


存储配置: 1 aggregate 6*6TB EBS GP2 ,划分一个 20T 的 volume


客户端:6 个 C5d.9xlarge(36vCPU,72GB 内存,带 1*900G SSD 实例存储)


测试工具: fio 3.19


加密方式: EBS 加密


3.3.2 性能数据


安装上一节的测试环境进行测试,可以得到如下的性能数据:


IOPS(K)吞吐(MB/s)时延(ms)备注
4K 100%read196.68091
4K 100%write103.9425.71
4K 60%write138.2565.11
4K 50%write150.36231
4K 40%write161.7662.11
64k seq 100read4227602
64k seq 100write13.79112
64k radom 60write19.11284.32
64k radom 50write21.714554
64k radom 40write2919144


以上是单节点下的 20T 盘的性能,如果需要更高性能,可以通过划分多个盘、构建 HA 或者增加服务器节点等方式进行扩展。


4. 配置 CVO 数据复制


在 Cloud Manager 中可以设置从本地 ONTAP 系统到 AWS Cloud Volumes ONTAP 的数据复制以进行灾难恢复,可以通过选择一次数据复制(这可以帮助您将数据移入云中或从云中移出)或定期计划(这可以帮助灾难恢复或长期保留)来在 Cloud Volumes ONTAP 系统和 ONTAP 集群之间复制数据。


CVO 使用 SnapMirror 和 SnapVault 技术简化了不同系统上卷之间的数据复制。只需要标识源卷和目标卷,然后选择复制策略和计划即可。Cloud Manager 设置所需的磁盘,配置关系,应用复制策略,然后启动卷之间的基准传输。基准传输包括源数据的完整副本,后续传输包含源数据的差异副本。


4.1 数据复制的要求


在复制数据之前,应该确认 Cloud Volumes ONTAP 系统和 ONTAP 群集均满足特定要求。


版本要求


复制数据之前,应验证源卷和目标卷是否在运行兼容的 ONTAP 版本。有关详细信息,请参见Data Protection Power Guide


特定于 Cloud Volumes ONTAP 的要求


1)实例的安全组必须包括必需的入站和出站规则:特别是 ICMP 规则以及 11104 和 11105 这两个端口


2)如果要在不同子网中的两个 Cloud Volumes ONTAP 系统之间复制数据,必须将子网路由在一起


3)如果要在 AWS 的 Cloud Volumes ONTAP 系统和本地的系统之间复制数据,必须在 AWS VPC 和本地的系统之间建立 VPN 连接或者专线


4)必须安装有 SnapMirror license 许可证


4.2 配置数据复制


4.2.1 发现本地 ONTAP 集群


Cloud Manager 可以在本地环境、NetApp 私有存储配置和其他公有云中发现 ONTAP 集群。通过发现 ONTAP 群集,可以将存储,复制数据和分层冷数据从本地群集配置到云上。


Cloud Manager 使用 HTTPS 来发现 ONTAP 群集,所以本地环境的 ONTAP 群集必须允许通过端口 443 的入站 HTTPS 访问,并且 AWS 上预定义的安全组需要允许所有出站通信。


在配置本地和云上数据复制之前,首先需要发现 ONTAP 集群,其操作也很简单,只需要在 AWS 的 Cloud Manager 中 Working Environments 页面,点击 Discover 并选择 ONTAP Cluster。


如下图所示,在“ONTAP Cluster Details”页面上,输入群集管理 IP 地址,管理员用户帐户的密码以及集群的位置(本地或者其他云环境)



配置完成后,即可在界面中发现本地集群的图标:



4.2.2 配置数据复制


发现本地集群环境之后,即可配置本地与 AWS 云上的数据复制操作。


1)通过 Cloud Manager 设置复制过程只需将源工作环境实例拖放到目标工作环境即可



2)在复制设置中选择 LIFs 逻辑接口



3)选择要复制的目标卷、卷类型、传输速率等设置



选择最大传输速率以设置 SnapMirror 带宽限制时请注意,对于跨区域数据复制,建议将最大传输速率设置为近似或小于源 ONTAP 实例与目标 ONTAP 实例之间的可用带宽


4)接下来,选择最合适的复制策略,选择要使用的复制策略,我们选择 Mirror 类型


5)选择适当的 SnapMirror 复制计划,同时牢记您的 RPO 要求



6)查看设置,然后单击“GO”以建立 SnapMirror 关系并开始初始复制,可以在 Cloud Manager 的时间轴选项卡中观察复制状态



7)Cloud Manager 中的“Working Environments”选项卡将显示复制配置,并带有指示复制方向的箭头



8)可以在“复制状态”选项卡下查看各种 ONTAP 实例之间的复制状态。还可以通过此视图在所有云管理器中执行按需 SnapMirror 复制和其他各种操作。REST API 也可用于 DevOps 部署。



5. 小结


在 EDA 混合架构部署中,当本地数据中心的本地集群算力不足时,可以通过调度平台溢出到云端,满足高算力需求。AWS 云端可以提供多达几十种实例类型,极大的降低本地硬件成本。客户可以统一管理、运营、维护本地集群和 AWS 云端的动态集群。 在 AWS 云端动态构建集群,按需分配资源,提高效率,同时支持主流的 EDA 应用工具适配和各类工作流程,支持 LSF、SLURM 和 SGE 等调度平台。


EDA 混合架构部署下,NetApp CVO 可以提供高性能、高扩展的共享存储,同时保证了本地数据中心和 AWS 云端的数据同步,让 EDA 任务可以平滑的转发到云端进行执行,为客户快速研发提供强大支持。


在数据安全方面,通过专线或 VPN 把数据中心和 AWS 云端连通,保证数据传输的安全;NetApp CVO 文件服务器上的数据通过 KMS 服务进行加密后保存在 EBS。EDA 混合架构下完全实现了数据的传输安全和存储安全,同时 IAM 服务提供了细粒度的权限管控,满足客户对执行 EDA 任务的高安全需要。


作者介绍


李迎峰


AWS 解决方案架构师。负责基于 AWS 云计算解决方案架构的咨询和设计,同时致力于 AWS 云服务在国内半导体行业的应用和推广。在加入 AWS 前,拥有超过 18 年的 IT 项目经验,曾就职于 Oracle,主要服务于大中型企事业单位客户。


李军


深圳市博思云为科技有限公司技术经理 ,熟悉各类云计算产品和技术,拥有多项 AWS 高级认证及 10 多年大型企业系统架构设计经验,具备丰富的迁移上云技术实践和行业解决方案经验。目前就职于博思云为(AWS 高级合作伙伴)


本文转载自亚马逊 AWS 官方博客。


原文链接


借助 NetApp CVO 实现 EDA 混合架构下的统一数据存储


2020 年 8 月 27 日 14:00565

评论

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

理解Redis的内存回收机制和过期淘汰策略

老胡爱分享

redis LRU

架构0期Week4作业1

Nan Jiang

ARTS-week5

王钰淇

ARTS 打卡计划

小师妹学JVM之:JIT中的PrintAssembly续集

程序那些事

JVM jdk8 小师妹 JDK14 assembly

集中全世界程序员的力量,可以在三天之内实现一个手机淘宝吗?

非著名程序员

程序员 软件 程序人生 软件工程 人月神话

再有人问你分布式事务,把这篇扔给他

码哥小胖

分布式 Java 分布式

极客大学架构师训练营 系统架构 分布式缓存 一致性哈希 Hash 第9课 听课总结

John(易筋)

极客时间 极客大学 极客大学架构师训练营 分布式缓存 一致性哈希

【自学成才系列二】multipass上ubuntu安装篇

小朱

ubuntu multipass

最详细的 Spring Cloud OAuth2 单点登录使用教程送给大家

小闫

后端 JVM Java 面试 SpringCloud

谈谈容器和K8s

Gabriel

Git 的进阶操作

多选参数

git GitHub gitlab

产业数字化无法“一蹴而就”,而是“长跑冠军”。

CECBC区块链专委会

写给孩子的两本书我读得津津有味

孙苏勇

读书 陪伴 随笔杂谈

面试时被问创建多少个线程合适?你该怎么说?

小谈

面试 线程 JVM springboot SpringCloud

【自学成才系列一】multipass安装篇

小朱

multipass

如何快速将 Linux 系统制作成 ISO 镜像文件?

JackTian

Linux 运维 操作系统 镜像文件 ISO

面试腾讯被问JVM性能调优,勉强入职后,发现工资差了这么多

互联网架构师小马

Java 程序员 面试 性能优化 JVM

锦囊篇|一文摸懂SharedPreferences和MMKV(一)

ClericYi

为什么大家都说SELECT * 效率低

Java小咖秀

MySQL Java 面试 经验

架构0期Week4作业2

Nan Jiang

Linux 操作系统!开篇!!!

cxuan

Linux

腾讯的辣酱不香了 支付宝的区块链真能解决“萝卜章”问题?

CECBC区块链专委会

双链通 萝卜章 区块链方案

Java面试常用知识(附赠最新面试题)

架构大数据双料架构师

MyBatis入门

Simon郎

Java mybatis

起底印度禁用59款应用的数据表现

谢锐 | Frozen

移动应用 游戏开发 游戏出海 移动互联网 游戏制作

Gradle快速入门使用指南 - 安装篇

小隐乐乐

maven

架构师训练营第五周总结

Melo

极客大学架构师训练营

模式与重构-作业

秤须苑

架构师训练营第五周总结

陈靓-哲露

去面试Spring Cloud 被问的35个问题

小谈

Java 面试 springboot SpringCloud buffer JVM原理

重学 Java 设计模式:实战状态模式「模拟系统营销活动,状态流程审核发布上线场景」

小傅哥

Java 设计模式 小傅哥 重构 代码规范

借助 NetApp CVO 实现 EDA 混合架构下的统一数据存储-InfoQ