亚马逊AWS官方博客

数据无限,基于 Amazon FSx for NetApp ONTAP 的 EDA 混合云模式加速芯片研发

EDA 行业背景与挑战

EDA(Electronic Design Automation)电子设计自动化行业是专注于电子系统、先进半导体器件和精密电路板设计。在这个竞争激烈且日新月异的领域中,IC 设计工程师团队总是置身于追赶时间的轨迹上,他们承载着实现技术突破与效能卓越双重目标的重任,同时还要在资金的紧绷绳索上巧妙平衡,以保持高效产品的同时,节省成本、增强竞争力。因此,EDA 行业对存储计算网络等 IT 资源有着极致的性能追求。

EDA 行业中 NetApp 存储系统因其高性能、可靠性和可扩展性而受到广泛应用。该系统能够高效管理和存储大量的设计文件、仿真结果等数据,同时支持高性能计算和团队间的数据共享与协作。此外,其系统设计考虑到了效率和成本控制,通过功能如自动数据分层、压缩、去重等手段减少所需存储空间,降低成本。因此,NetApp 在 EDA 行业中成为了备受青睐的存储解决方案供应商。

随着亚马逊云科技公有云的飞速发展,EDA 设计公司正逐步转向采用云技术来优化其设计流程和提高工作效率。这种转变意味着,通过云平台,公司能够利用远程服务器的强大计算能力来执行复杂的电子设计任务,从而不再受限于本地硬件资源的限制,尤其当研发或业务出现高峰时,需要短期内大量扩展计算资源来满足需求。IC 设计工程师团队利用云技术,不仅极大地加速了设计周期,减少了项目成本,从而在激烈的市场竞争中保持领先地位。因此,越来越多的 IC 设计工程师团队将 EDA 作业搬到云上,EDA 云上与云下的混合使用的架构部署逐渐成为一个趋势。同时,混合云架构对存储技术提出如下新挑战。

  1. 数据一致性和同步问题显得尤为突出。由于 EDA 行业数据量大,小文件数量多,确保数据在不同位置准确地同步是一项挑战。
  2. 数据安全与隐私问题在混合云架构下更加复杂。数据在云上的传输和存储必须遵循严格的加密和安全协议,以防数据泄露或未经授权的访问。
  3. EDA 行业特有的大规模计算和存储需求对混合云存储的性能和可扩展性提出了更高要求。高性能计算任务需要高速、低延迟的存储解决方案来支撑复杂的设计验证和仿真工作。
  4. 成本控制也是一个重要挑战。在优化混合云资源使用的同时,如何有效地管理和降低存储成本,是 EDA 企业急需解决的问题。

为了应对这些挑战,2023 年 11 月 14 日亚马逊云科技在北京区域和宁夏区域推出文件存储服务 Amazon FSx for NetApp ONTAP。Amazon FSx for NetApp ONTAP 提供轻松启动和运行的完全托管 NetApp ONTAP 文件系统服务。此服务不仅继承了原生 NetApp 文件系统的特性、性能、功能和 API,而且还融合了云服务的灵活、可拓展和易用性。它支持采用了 NetApp 的同步技术如 SnapMirror ,实现了大规模数据的存储块级别的高效同步。通过 Amazon DirectConnect 提供专线服务保障了数据传输的安全。此外,通过数据去重和压缩技术优化存储空间利用,结合 Primary SSD 与 Capacity Pool 的分层存储,既节约了存储空间,又提高了数据管理的灵活度和扩展性。

解决方案说明

面对 EDA 混合云架构所面临的挑战,使用中国区最新推出的 Amazon FSx for NetApp ONTAP,结合亚马逊云科技 EDA 设计领域的行业经验,设计了 EDA 混合云的架构全景图。

EDA 混合云架构,在云下和云上分别包含了 EDA 所需的关键组成,并且通过云上云下的同步,将云上与云下有机整合在一起,形成协调一致的环境,使用户拥有一致的用户体验。在亚马逊云科技的云上,包括如下模块:

  1. 集群调度器 Cluster Scheduler,可以根据客户选择 LSF 或者 Open PBS 调度器。Cluster Scheduler 按照弹性队列使用云上计算资源,按照静态队列来调度云下的机房的资源。
  2. 远程桌面,Remote Desktop/VDI 环境,在亚马逊云科技上采用 Nice DCV。
  3. 计算,亚马逊云科技提供了一系列 EC2 实例类型,满足各种计算需求。这包括具有高性能 CPU、大内存、高速存储以及针对机器学习和图形处理优化的实例。在中国区域,设计仿真的高主频的机型可以选择 EC2 的 z1d 系列机型;内存密集型业务可以选择 EC2 的 r、x2 等系列机型;后端验证需要高带宽时选择带 n 的机型,例如 x2iedn、c6in。EC2 这样的多样性使 IC 设计工程师能够根据具体的设计和仿真需求选择最合适的资源。
  4. 存储,亚马逊云科技提供了多种存储解决方案,针对 EDA 的高性能共享存储的需求,Amazon FSx for NetApp 有最佳的同步性能。
  5. 支撑服务,包括鉴权服务,以及用于统计分析的 AmazonOpenSearch 等。

针对关键的存储,云上使用中国区新推出的 Amazon FSx for NetApp ONTAP,可以提供优化的存储性能与最佳的同步解决方案。

1. 存储性能说明

1)容量吞吐 IOPS 指标
Amazon FSx for NetApp ONTAP 旨在提供快速、可预测且一致的性能。北京和宁夏区该服务为每个文件系统提供多达 192T 的 Primary SSD 存储空间,128MB/s 到 4GB/s 的吞吐量,并为每个文件系统提供最高 80K IOPS。要获得适合工作负载的性能,您可以为文件系统选择一个吞吐量级别,并随时向上或向下扩展。最新的 Global Region,该服务为每个文件系统提供多达 36GB/s 的吞吐,多达 1.2M IOPS。

2)响应时延指标
Amazon FSx for NetApp ONTAP 旨在在访问 SSD 存储上的数据时提供一致的亚毫秒级延迟,在访问容量池存储中的数据时提供数十毫秒的延迟。它为对延迟和性能敏感的工作负载提供快速、稳定的性能。

3)存储可扩展性说明
每个 Amazon FSx for NetApp ONTAP 文件系统的大小都可以通过分层存储的 Capacity Pool 扩展到数 PB,使您可以在单个命名空间中存储几乎无限量的数据。

2. 同步方案说明

在 EDA 混合云环境下,需要持续的同步云上与云下的数据,我们面临的挑战不仅是庞大的数据量,还有达到数亿级别的文件数量。在这种规模下,若依赖传统的数据持续同步工具,仅对比文件差异就将耗费数小时,几乎无法满足数据同步的时效性要求。

针对这一挑战,利用 Amazon FSx NetApp ONTAP 的 SnapMirror 技术实现云上云下之间的数据同步。NetApp SnapMirror 依赖于块级复制机制,在两个 ONTAP 文件系统间高效地同步数据,无论是复杂的文件目录结构、数十亿数量级的文件还是小至千字节级别的文件,SnapMirror 的块级复制都显得更为高效。此外,所有传输的数据都将在加密、去重及压缩的状态下进行,确保源 ONTAP 卷上的快照在目标位置得以完好保留。

Amazon FSx for NetApp ONTAP 在中国区上线后,已经有一部分客户采用 SnapMirror 构建两条数据同步的通道:一条通道将现有 EDA 作业输入数据 Job Input Origin Volume,通过 SnapMirror 快速传输到云上;另一条通道将云上的作业的结果 Job Result Origin Volume,通过 SnapMirror 结果数据可以传输回来本地机房。

数据同步实施步骤

使用 SnapMirror 数据迁移,并保持持续同步的步骤介绍
假设您已经创建了一个 Amazon FSx for NetApp ONTAP 文件系统和存储虚拟机(SVM),但尚未创建用于存放迁移数据的目标卷。我们将引导您完成创建源 ONTAP 集群与目标 ONTAP 集群及其各自的 SVM 之间的对等连接关系的过程,该过程使用它们的集群间逻辑接口(LIFs)。设置对等连接关系后,您将建立一个 SnapMirror 关系,以将数据从源复制到目标。此外,您可以选择在初始传输完成后执行增量更新,直到您准备好进行迁移。最后,拆除 Amazon FSx for ONTAP 卷的 SnapMirror 关系,以便它可以被挂载和读写使用。

1. 别名准备

为了方便理解如何在命令行界面(CLI)中插入你的值,我们为集群、SVM 和卷设置了以下别名:

  • FSx-Dest 是目标群集的标识符(FsxIdxxxxxxxxxxxxx)
  • OnPrem-Source 是源群集的标识符
  • DestSVM 是目标 SVM 的名称
  • SourceSVM 是源 SVM 的名称
  • 源和目标的卷的名称都是 vol1

2. 登录到目标集群并创建您的目标卷

从通过 Secure SSH 访问您的 Amazon FSx for ONTAP 文件管理系统(目标集群)开始。您可以从 Amazon 管理控制台上查看到<ManagementIP>。

$ ssh fsxadmin@<ManagementIP>

在创建 SnapMirror 关系之前,您需要在目标集群上有一个容量至少等于源上要复制的卷的卷。它还必须使用 -type DP 创建,以便它可以作为 SnapMirror 目的地。

FSx-Dest::>vol create -volume vol1 -aggregate aggr1 -size 1g -type DP

3. 收集源和目标集群间 intercluster LIFs

SnapMirror 通过 intercluster LIF 来实现源集群和目标集群之间的数据传输。建立集群对等连接时使用 intercluster LIFs,并将 intercluster LIFs 映射到 IP 地址。

对于 Amazon FSx for ONTAP 系统,请通过 Amazon 管理控制台,导航至您的文件系统,然后进入“网络与安全”部分,获取 IP 地址。在“Endpoints”下,您会找到集群间端点 – IP 地址。

您也可以通过使用以下命令从 ONTAP CLI 获取集群间 LIF IP:

OnPrem-Source::> network interface show -role intercluster
Logical                          Network 
Vserver     Interface  Status  Address/Mask
----------- ---------- ------- ------------
FSx-Dest
             inter_1    up/up  10.0.0.36/24 
             inter_2    up/up  10.0.1.69/24

保存 inter_1 和 inter_2 的 IP 地址。我们将 FSx-Dest 称为 dest_inter_1 和 dest_inter_2,将 OnPrem-Source 称为 source_inter_1 和 source_inter_2。

4. 源和目标集群之间建立 peering

在目标集群上通过提供源集群的 source_inter_1 和 source_inter_2 来建立集群 peer 关系。该命令要求您创建一个密码,当在源集群上建立集群对等时将会输入这个密码。

FSx-Dest::> cluster peer create -address-family ipv4 -peer-addrs <source_inter_1>,<source_inter_2>

接下来,在源集群上建立集群 peer 关系,并提供目标集群的 dest_inter_1 和 dest_inter_2。您需要输入之前创建的密码来进行身份验证。

OnPrem-Source::> cluster peer create -address-family ipv4 -peer-addrs <dest_inter_1>,<dest_inter_2>

使用以下命令在源集群上验证对等连接是否成功。可用性应显示为 Availability

OnPrem-Source::> cluster peer show
Peer Cluster Name  Availability   Authentication
-----------------  -------------- --------------
FSx-Dest           Available      ok

5. 创建 SVM peering 关系

建立了对等集群后,下一步是 peering SVMs。在目标集群(FSx-Dest)上使用以下命令创建一个 SVM peer 关系,在之前我们列出的别名之外,还有:

  • <DestLocalName>作为目标 SVM,在源集群上,称为 destsvm01
  • <SourceLocalName>作为源 SVM,在目标集群上,称为 sourcesvm01
FSx-Dest::> vserver peer create -vserver <DestSVM> -peer-vserver <SourceSVM> -peer-cluster <OnPrem-Source> -applications snapmirror -local-name <SourceLocalName>
Info: [Job 207] 'vserver peer create' job queued

在源集群上接受 peering 关系(OnPrem-Source):

OnPrem-Source::> vserver peer accept -vserver <SourceSVM> -peer-vserver <DestSVM> -local-name <DestLocalName>
Info: [Job 211] 'vserver peer accept' job queued

使用如下命令,验证 SVM peering 状态。Peer State 应为 peered

OnPrem-Source::> vserver peer show
Peer    Peer     Peer   Peering  Remote
vserver Vserver  State  Cluster  Applications  Vserver
------- -------- ------ -------- ------------- ---------
svm01   destsvm1 peered FSx-Dest snapmirror    svm01

6. 创建和初始化 SnapMirror 关系

在 SVM 互联后,下一步是在目标集群上创建并初始化 SnapMirror 关系。您可以选择使用-throttle 标志,该标志设置 SnapMirror 关系可以使用的最大带宽(以 KB/秒为单位)。

FSx-Dest::> snapmirror create -source-path <SourceLocalName>:vol1 -destination-path <DestSVM>:vol1 -vserver <DestSVM> -throttle unlimited
Operation succeeded: snapmirror create for the relationship with destination "DestSVM:vol1".

在创建了 SnapMirror 关系后,请使用以下命令在目标集群上初始化 SnapMirror 关系,这将开始将快照数据从源卷传输到目标卷。

FSx-Dest::> snapmirror initialize -destination-path <DestSVM>:vol1 -source-path <SourceLocalName>:vol1

7. 更新目标集群

如果您正在迁移正在使用的数据,您需要确保您的目标集群与源集群保持最新同步状态。您还需要安排一个维护窗口来完成迁移,以确保没有任何数据丢失。这些操作不会自动完成。要对目标集群执行一次性更新,请运行以下命令:

FSx-Dest::> snapmirror update -destination-path <DestSVM>:vol1

你可能希望在将客户迁移到 Amazon FSx for ONTAP 之前,根据每小时或每天的节奏安排更新。您可以使用以下命令建立 SnapMirror 计划:

FSx-Dest::> snapmirror modify -destination-path <DestSVM>:vol1 -schedule hourly

8. 拆除 SnapMirror 关系

如果您在 Amazon FSx for ONTAP 中从一个源集群向目的集群只进行一次性传输,您需要断开 SnapMirror 关系,以便将 Amazon FSx for ONTAP 作为读/写卷使用(在关系断开之前,SnapMirror 目的卷是只读的)。

执行以下命令以确保传输完成。验证 Mirror State为 Snapmirrored,且 Relationship Status 为 Idle。您还应确保 Last Transfer End Timestamp 是最近的,因为它反映了目的卷上数据的最新状态。

FSx-Dest::> snapmirror show -fields state,status,last-transfer-end-timestamp
Source     Destination   Mirror        Relationship Last Transfer End  
Path       Path          State         Status       Timestamp
---------- -----------   ----------    -------      --------------- 
Svm01:vol1 svm02:DestVol Snapmirrored  Idle         09/02 09:02:21

使用 quiesce 命令来禁用任何未来的 SnapMirror 传输

FSx-Dest::> snapmirror quiesce -destination-path <DestSVM>:vol1

使用 snapmirror show,验证 Relationship Status 修改为 Quiesced

FSx-Dest::> snapmirror show
Source           Destination   Mirror        Relationship
Path             Path          State         Status
-----------      ------------  ------------- --------
sourcesvm1:vol1  svm01:DestVol Snapmirrored  Quiesced

一旦验证通过,可以通过使用以下命令来断开 SnapMirror 关系:

FSx-Dest::> snapmirror break -destination-path <DestSVM>:vol1
Operation succeeded: snapmirror break for destination "DestSVM:vol1".

现在,源卷中的数据已完全镜像到目的卷中,并且可以进行读写。为了使客户端和应用程序能够访问这些数据,您需要挂载 NAS 共享(SMB/NFS)或 iSCSI LUNs。

FSx for NetApp ONTAP 配置建议

1. 启用重删,压缩,Tiering 与效果观察

1)启动重删和压缩配置

配置路径:亚马逊云控制台→Fsx→File System→Create file system→Amazon FSx for NetApp ONTAP→

2)启动 Tiering

3)观察重复数据删除和压缩效果

Amazon FSx for NetApp ONTAP 的重复数据删除和压缩可以帮助客户节省大比例的存储空间。 每个客户存储数据的类型不同,重复数据删除和压缩的比例是不同的。对于 EDA 场景,经常有很多重复工程代码目录,这样的目录重复数据删除率能够达到 50% 以上。

查看重复数据删除和压节约的数据量
查看亚马逊云控制台→Cloudwatch→Fsx→File System Metrics→StorageEffiiciencySavings

计算重复数据删除压缩节省比率(EfficiencyRatio)
查看亚马逊云控制台→Cloudwatch→Fsx→File System Metrics→StorageEffiiciencySavings
查看亚马逊云控制台→Cloudwatch→Fsx→File System Metrics→StorageUsed
重复数据删除和压缩节省比率(EfficiencyRatio)=StorageEffiiciencySavings/(StorageEffiiciencySavings+StorageUsed) * 100%

查看 Tiering 效果,pacity pool 中的数据量
查看亚马逊云控制台→Cloudwatch→Fsx→Detailed File System Metrics→StorageUsed StorageTier:StandardCapacityPool DataType:ALL

计算 Tiering 节省比例(TieringRatio)
查看亚马逊云控制台→Cloudwatch→Fsx→Detailed File System Metrics→StorageUsed StorageTier:StandardCapacityPool DataType:ALL
查看亚马逊云控制台→Cloudwatch→Fsx→Detailed File System Metrics→StorageUsed StorageTier:SSD DataType:ALL
Tiering 节省比例(TieringRati0)=StorageUsed StorageTier:StandardCapacityPool DataType:ALL/(StorageUsed StorageTier:StandardCapacityPool DataType:AL+StorageUsed StorageTier:SSD DataType:ALL) * 100%

查看业务逻辑数据
查看亚马逊云控制台→Cloudwatch→Fsx→File System Metrics→LogicalDataStored

2. Priamary SSD 存储空间估算与成本计算

估算成本需要考虑 Amazon FSx for  NetApp ONTAP 的 primary SSD 的存储空间、IOPS 和吞吐量等,其中 IOPS 和吞吐量根据客户的业务性能诉求单独计算,值得注意的是,primary SSD 的存储空间的计算尤为关键,由于重删压缩和 Tiering 特性,存盘空间能够大比例下降,这里给出 primary SSD 的存储空间出评估方法。一般情况下,重删压缩节省空间能达到 65%,Tiering 根据用户访问习惯最高能达到 80%。建议客户先做 Poc 测试,获取客户真实作业的重删压缩比例,以及客户访问数据的模式,获取实际统计指标进行有效评估。

Amazon FSx for  NetApp ONTAP 的 primary SSD 的存储空间的评估方法如下:

1)首先需要客户预计,存储数据的逻辑大小 LogcialData

2)重删压缩节省比率(EfficiencyRatio)和 Tiering 节省比例(TieringRatio)
Amazon FSx for  NetApp ONTAP 进行实际 Poc 测试,依据客户的实际数据负载和客户的访问模式,获取重删压缩节省比率(EfficiencyRatio)和 Tiering 节省比例(TieringRatio)。

3)需要考虑 16% 的 NetApp ONTAP 软件存储开销

4)文件系统聚合的持续利用率不要超过 80%
根据客户需求输入逻辑数据量大小 LogcialData,您预置的 SSD 存储量 ssdNeeded,还需要考虑 16% 的 NetApp ONTAP 软件存储开销,有如以下计算公式:
primary SSD 的存储空间(ssdNeeded) = LogcialData * (1 –  TieringRatio) * (1 – EfficiencyRatio) / (1 – 0.16) / 80%

根据可靠性选择对应的可用区部署方式的价目表

1)如果是是单可用区
估算存储空间成本=primary SSD 的存储空间(ssdNeeded) * Single-AZ Pricing

2)如果是是多可用区
估算存储空间成本=primary SSD 的存储空间(ssdNeeded) * Multi-AZ Pricing

注意:价目表中 Pricing 列是单价,Pricing with data deduplication enabled* 列的价格是一个预估价格,用于参考,不建议直接用于计算价格。

3. Primary SSD 容量监控和告警

监控 Amazon FSx for NetApp ONTAP 的 Primary SSD 磁盘空间,
查看亚马逊云控制台→Cloudwatch→Fsx→Detailed File System Metrics→StorageCapacityUtilization StorageTier:SSD DataType:All
当 StorageCapacityUtilization 大于 80%时,发送告警,提醒用户及时扩容。
监控告警配置方法见链接:设置存储利用率告警

4. 性能监控和告警

吞吐量和 IOPS 指标
查看亚马逊云控制台→Amazon FSx→File Ssytems →Monitoring & Performance →Performance
查看 network throughput,Disk throughput,Disk IOPS。

访问延迟指标
查看亚马逊云控制台→Amazon FSx→File Ssytems →Monitoring & Performance →Summary →Average latency
查看写操作、读操作和元数据操作的时延,正常情况时延在毫秒级别。

客户收益

在 EDA 行业混合云架构下,采用 Amazon FSx for NetApp ONTAP 可以为企业带来显著的收益。首先,Amazon FSx for NetApp ONTAP 通过提供托管式服务,免除了企业需自行维护复杂存储环境的负担,显著降低了运维压力。其次,由于 Amazon FSx for NetApp ONTAP 与现有 NetApp 存储兼容,企业可以无需重构和测试就能无缝迁移现有应用,极大地节省了时间和成本。此外,该服务还支持 SnapMirror 块级复制功能,使得处理 EDA 电子设计自动化中的海量小文件成为可能,显著提高了数据同步的效率。最后,值得一提的是,Amazon FSx for NetApp ONTAP 的实践证明可以实现高达 53%的存储成本节省,这对于任何规模的企业来说都是一个不容忽视的优势。总而言之,采用 Amazon FSx for NetApp ONTAP 不仅可以帮助企业简化存储管理,还可以在经济上带来可观的节约,已成为 EDA 行业的共享存储的最佳实践。

参考文档

Netapp 中国区 Launch
https://www.amazonaws.cn/en/newsroom/2023/1114-fsx/

Netapp 数据迁移
https://aws.amazon.com/cn/blogs/storage/migrating-on-premises-file-shares-to-amazon-fsx-for-netapp-ontap/

Netapp 在 EDA 行业的 Amazon Global Region 应用
https://aws.amazon.com/cn/blogs/industries/eda-scale-with-fsx-for-netapp-ontap-and-ibm-lsf/

EDA 混合云实践案例
https://aws.amazon.com/cn/blogs/china/best-practices-for-building-a-hybrid-cloud-chip-design-environment-based-on-aws-soca/

本篇作者

王跃

亚马逊云科技解决方案架构师,负责基于亚马逊云科技云平台的解决方案咨询和设计,在系统架构、大数据、网络、应用研发领域有丰富的研发和实践经验。

王大伟

亚马逊云科技高级存储解决方案架构师,负责数据与存储架构设计,先后服务于 EMC、NetApp 等公司,具有十五年从事数据与存储相关经验,目前主要关注在人工智能与机器学习、高性能计算领域,如 EDA、自动驾驶、基因分析等领域的存储设计与优化。