本文来源于AWS官方博客
本篇作者:AWS 解决方案架构师 李迎峰
博思云为技术经理 李军
一、概述
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 。
二、部署联想凌拓提供的NetApp Cloud Manager
要在AWS上使用NetApp CVO,首先需要在AWS上安装部署NetApp Cloud Manager,Cloud Manager的安装方式可以从NetApp官网或者AWS Marketplace China进行安装,可在 AWS 中国(北京)区域和 AWS 中国(宁夏)区域进行部署,本文截屏展示的部署和操作均在AWS 中国(宁夏)区域进行。
先在NetApp官网https://cloud.netapp.com/ONTAP-cloud注册一个账号,作为后续创建NetApp CVO的使用准备。
登录AWS控制台,安装Cloud Manager。选择EC2管理界面,单击“启动实例”,然后可以直接在AWS 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
三、部署联想凌拓提供的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 性能数据
安装上一节的测试环境进行测试,可以得到如下的性能数据:
以上是单节点下的20T盘的性能,如果需要更高性能,可以通过划分多个盘、构建HA或者增加服务器节点等方式进行扩展。
四、 配置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部署。
五、小结
在EDA混合架构部署中,当本地数据中心的本地集群算力不足时,可以通过调度平台溢出到云端,满足高算力需求。AWS云端可以提供多达几十种实例类型,极大的降低本地硬件成本。客户可以统一管理、运营、维护本地集群和AWS云端的动态集群。 在AWS云端动态构建集群,按需分配资源,提高效率,同时支持主流的EDA应用工具适配和各类工作流程,支持LSF、SLURM和SGE等调度平台。
EDA混合架构部署下,NetApp CVO可以提供高性能、高扩展的共享存储,同时保证了本地数据中心和AWS云端的数据同步,让EDA任务可以平滑的转发到云端进行执行,为客户快速研发提供强大支持。
在数据安全方面,通过专线或VPN把数据中心和AWS云端连通,保证数据传输的安全;NetApp CVO文件服务器上的数据通过KMS服务进行加密后保存在EBS。EDA混合架构下完全实现了数据的传输安全和存储安全,同时IAM服务提供了细粒度的权限管控,满足客户对执行EDA任务的高安全需要。