如何使用 NetApp ONTAP REST API 结合 Amazon FSx for NetAp
使用 NetApp ONTAP REST API 与 Amazon FSx for NetApp ONTAP
关键要点
在本文中,我们将探讨如何使用 NetApp ONTAP REST API 来创建卷和共享资源,以及如何通过 SnapMirror 保护这些卷。FSMx for ONTAP 提供了一个方便的 REST API,可以简化从本地 NetApp 存储迁移到 Amazon FSx 的过程,帮助用户专注于其核心业务而不是基础设施管理。
开发人员长期以来一直使用 GET、POST 和 DELETE 等 HTTP 方法与 RESTful API 交互。这些方法因其易用性而被广泛接受。FSx for ONTAP 是一个理想的解决方案,适合需要完全托管文件系统并支持多种协议的用户。
ONTAP REST API 实现自动化
FSx for ONTAP 文件系统可以通过 REST API 进行管理,用户可以选择使用本地的 Amazon FSx API 或 ONTAP REST API。NetApp BlueXP API 提供了一个统一的控制面板,可以在本地和云环境中同时管理 NetApp 存储和数据服务。尽管使用 AWS 原生 API 可管理 FSx for ONTAP 及其资源,但 ONTAP REST API 提供了更全面的存储自动化能力。
通过使用 REST API,用户可以轻松创建和管理存储资源,而不必依赖存储团队的手动操作。我们将以创建卷、共享以及配置 SnapMirror 复制为例来说明如何使用 ONTAP REST API。
值得注意的是,当管理 FSx for ONTAP 时,也可以使用 AWS 管理控制台 和 AWS 命令行接口 (AWS CLI)。此外,用户还可以使用 NetApp 的管理工具,如 NetApp BlueXP 和 NetApp ONTAP CLI。
组件概览
FSx for ONTAP 是一个完全托管的服务,提供高可靠性、可扩展性、高性能和功能丰富的文件存储,基于 NetApp 的 ONTAP 文件系统。FSx for ONTAP 允许组织专注于核心业务活动,而无需过多管理复杂的基础设施。以下是 FSx for ONTAP 中的主要组件:
组件描述文件系统文件系统是主要的 Amazon FSx 资源,类似于本地的 ONTAP 集群存储虚拟机 (SVM)SVM 是一个独立的文件服务器,具有自己的管理凭据和数据访问端点卷ONTAP 的数据通过名为卷的逻辑容器服务于客户端和主机如何使用 ONTAP REST API 进行自动化
使用 REST API,开发人员或应用团队能够自行创建卷、SMB 共享和复制,而无需请求存储团队提供支持。以下是使用 ONTAP REST API 进行自动化的步骤。
先决条件
在继续之前,请确保满足以下先决条件:
在机器上运行 Curl。在 AWS 账户下部署在不同 AWS 区域的两个 FSx for ONTAP 文件系统。具备 fsxadmin 凭据。假设已经在两个文件系统上配置了集群对等和 SVM 对等。解决方案流程
创建卷创建 SMB 共享创建目标卷创建 SnapMirror 关系使用 SnapMirror 创建 API 的 UUID 来初始化 SnapMirror1 创建卷使用以下有效负载格式和 POST API 请求来创建卷,所需的参数包括 SVM存储虚拟机 主机、卷名称、卷大小字节以及卷的安全样式如 ntfs/unix。
pythonpayload = { aggregates [{name aggr1}] svm {name “SourceSVM”} name “Sourcevol” size “10737418240” nas {securitystyle ntfs path “/smbfileshare”}}
url2 = https//{}/api/storage/volumesformat([ManagementIPofsourceFSxN])
执行 Curl 命令bashcurl k X POST u usernamepassword https//ltManagementIPofsourceFSxNgt/api/storage/volumes H accept application/json H ContentType text/plain d {aggregates [{name aggr1}] svm {name SourceSVM} name Sourcevol size 10737418240 nas {securitystyle ntfs path /smbfileshare}}
2 创建 SMB 共享使用以下有效负载格式和 POST API 请求创建 SMB 共享,所需参数包括 SVM 名称、SMB 共享名称及卷的连接路径。
pythonpayload = { path /smbfileshare svm { name “SourceSVM” } name “smbfileshare”}
url3 = https//{}/api/protocols/cifs/sharesformat(ManagementIPofsourceFSxN)
执行 Curl 命令bashcurl k X POST u usernamepassword https//ltManagementIPofsourceFSxNgt/api/protocols/cifs/sharesreturntimeout=0ampreturnrecords=false H ContentType text/plain d {path /smbfilesharesvm {name SourceSVM}name smbfileshare}
3 创建目标卷创建目标卷时需确保大小与源卷相同或更大。使用以下有效负载格式:
pythonpayload = { svmname “DestinationSVM” aggregatesname [aggr1] name “Destinationvol” type “DP” size “10737418240” }url = https//{}/api/storage/volumesformat(ManagementIPtargetFSxN)
执行 Curl 命令bashcurl k X POST u usernamepassword https//ltManagementIPoftargetFSxNgt/api/storage/volumes H accept application/json H ContentType text/plain d {svmname DestinationSVM aggregatesname [aggr1] name Destinationvol type DP size 10737418240 }
4 创建 SnapMirror 关系使用以下有效负载格式和 POST API 请求创建 SnapMirror 关系:
pythonpayload = { source { path SourceSVMSourcevol} destination { path DestinationSVMDestinationvol}}
url = https//{}/api/snapmirror/relationships/format(ManagementIPoftargetFSxN)
执行 Curl 命令bashcurl k X POST u usernamepassword https//ltManagementIPoftargetFSxNgt/api/snapmirror/relationships/ H accept application/json H ContentType text/plain d {source {path SourceSVMSourcevol} destination {path DestinationSVMDestinationvol}}
5 初始化 SnapMirror
使用创建 SnapMirror 时返回的 UUID 来初始化 SnapMirror:
pythonurl = https//{}/api/snapmirror/relationships/{}/transfersformat(ManagementIPtargetFSxN” snapmirroruuid)
ytb加速器执行 Curl 命令bashcurl k X POST u usernamepassword https//ltManagementIPoftargetFSxNgt/api/snapmirror/relationships/ltsnapmirroruuidgt/transfers H accept application/json H ContentType text/plain
清理工作
为了减少费用,按以下顺序清理资源:
停止并静默 SnapMirror 关系。删除源和目标文件系统中的 SMB 共享。删除源和目标卷。删除 SVM 对等关系。删除集群对等关系。删除本文创建的源和目标集群。结论
本文提供了 ONTAP REST API 的概述,以及如何利用其实现 FSx for ONTAP 自动化的示例。使用 Amazon FSx for NetApp ONTAP 的 REST API 支持可以提供完整的堆栈自动化,减少手动错误的风险,同时使 IT 团队能专注于更具战略性的任务。除了 REST API,FSx for ONTAP 还支持其他自动化工具,更多信息可以参考本文的“附加阅读”部分。
如有任何意见或问题,请随时在评论区留言。
附加阅读
使用 AWS CloudFormation 部署 Amazon FSx for NetApp ONTAP使用 HashiCorp Terraform 部署 Amazon FSx for NetApp ONTAP如何使用 Ansible 管理 Amazon FSx for NetApp ONTAP标签Amazon FSx for NetApp ONTAP,AWS Cloud Storage
关于作者
Madhu Vinod DiwakarMadhu 是亚马逊云服务AWS的云基础设施架构师,专注于存储迁移、性能和客户工作负载的优化。在工作之外,Madhu 喜欢打羽毛球和乒乓球等球类运动。
Sandeep VadapalliSandeep 是亚马逊云服务专业服务部的云基础设施架构师。他直接与客户合作,加速他们迁移到基于云的解决方案。工作之余,他喜欢徒步旅行和享受大自然。
在 PostgreSQL 中管理对象依赖关系 概述及有用的检查查询第一部分数据库博客
PostgreSQL中的对象依赖管理概述与有用的检查查询第1部分主要信息本文介绍了在PostgreSQL中对象依赖的概念及其重要性,探讨了不同类型的依赖关系,并提供了相关查询用于检查对象之间的依赖性。这些依赖关系对于数据库对象的管理和修改至关重要,可以确保对一个对象的更改不会对其他依赖对象造成意外的...
数字身份验证将在2025年迎来爆发性增长
数字身份验证的重要性与未来趋势关键要点身份欺诈专家已多次发出警告,强调实时准确的数字身份验证的重要性。过去一年,随着技术的迅猛发展和国家间的紧张关系,加大了欺诈的风险,显示出我们当前的身份验证系统存在的脆弱性以及政府需采取行动的紧迫性。预计2025年,美国数字身份验证将获得应有的关注。以下是五个将定...