亚马逊AWS官方博客

借助 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://thinkwithwp.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%read 196.6 809 1
4K 100%write 103.9 425.7 1
4K 60%write 138.2 565.1 1
4K 50%write 150.3 623 1
4K 40%write 161.7 662.1 1
64k seq 100read 42 2760 2
64k seq 100write 13.7 911 2
64k radom 60write 19.1 1284.3 2
64k radom 50write 21.7 1455 4
64k radom 40write 29 1914 4

以上是单节点下的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高级合作伙伴)