NetApp为应用程序的开发和测试提供存储架构
Bikash R. Choudhury 发表于:07年11月26日 15:02 [转载]
作者简介
Bikash R. Choudhury
NetApp的NFS产品合作伙伴工程师
Bikash 于七年前在 NetApp 开始担任技术支持工程师,之后为 NetApp 的最大客户之一担任全球技术顾问 (TGA)。作为全球技术顾问,他致力于建立稳固的客户关系并提供技术解决方案。Bikash 目前担任 NFS 产品合作伙伴工程师,主要职责是进行功能测试和认证、撰文论述最佳实践以及向客户提供体系结构和配置方面的建议。
无论是构建商业应用程序,还是进行室内开发工作,确保开发和测试工作的有效性非常重要。随着应用程序在容量和复杂性方面不断增加,简纯地配置开发和测试环境可能占用大量的存储并成为主要瓶颈。
针对 Oracle 的 Proven Data Center 解决方案 在本文中,我将分析某个客户在其开发环境中创建快速而可靠的 Oracle 主数据库和应用程序副本所使用的方法。
概述:客户开发环境
该客户是负责开发 Oracle 数据库中运行的业务应用程序的大型开发商。它的开发服务组织支持世界各地的数千位工程师。为了提高工作效率,IT 团队已集中了共享服务。事实证明,将所开发资源和工具集中到可从世界各地进行全天候访问的中心位置,这比分布式环境更具成本效益、更强的可扩展性且更容易管理。
主环境包括所需的 Oracle 数据库版本,并且创建了应用程序来充当模板。使用一种专用工具来管理和配置原始模板的副本,以满足特定的开发和测试需求。创建这些副本的方法已得到逐步发展,以适应增长并提高效率。
难题:传统复制方法缺乏可扩展性
过去,主开发环境依赖光纤通道 SAN 或直连存储 (DAS) 系统,大小为 150-200GB。开发人员使用主环境的副本来验证他们的工作。这些副本是使用"rsync" 和"cp"等基本的 UNIX 复制命令来创建的。可针对这些副本运行自定义脚本,从而根据每个开发商的需求对其进行进一步配置。
但是,由于副本的大小不断增加,现有的存储解决方案不能进行扩展以满足开发人员的需求。
配置副本的备份和保存也开始变得困难。由于部署了多种存储产品并且使用了多个备份应用程序,这个过程很难管理,基于磁带的解决方案不能适应数据增长步伐。备份所花时间太长,并且恢复也不可靠。
图 1 传统复制方法:对每个测试和开发环境完全复制主卷
中间解决方案:转移到 NFS
为了打破该传统方法的局限性,这个开发服务组织决定通过网络存储 (NAS) 后端转移到 NFS。
做出这种决定主要是为了降低配置和管理存储的复杂性。使用 NFS,IT 团队可为大量重复的开发环境加快部署并简化支持。
在每年的数据增长超过 67% 的情况下,NAS 环境中的 NFS 证明了具有很高的成本效益。基于以太网的 NAS 更易于理解和实施,并且已经可与大多数现有基础设施兼容。数百例 Oracle 数据库部署证明,NetApp NAS 符合团队对反应时间低于 15 毫秒的性能要求,并赋予了 IT 团队多主机文件系统访问权、文件级数据共享和必要的安全级别。
他们为该部署选择了 NetApp 存储系统,以确保高可用性。他们将现有数据转移到位于 NetApp 系统上大型存储卷中的称为配额树的分区。主开发环境在单个配额树中进行分级。然后可将主环境的副本放入相同卷中的其他配额树、同一存储系统上的其它卷,或放入另一个存储系统中。之后将创建一个工具,用来复制主环境并对副本进行自定义配置。该工具使用背景中的 NDMPCOPY 根据开发人员的要求来复制主环境。
可以使用 NetApp Snapshot 副本以热备份模式来备份主数据库和测试数据库,该副本仅复制增量数据并可快速、无缝地进行备份和恢复。使用该方法,可以在数分钟内恢复 4TB 数据库并使数百个 Snapshot 副本(因而也有数百个恢复点)保持联机。请查看核心NetApp DNA 详细了解 NetApp 独特的 Snapshot 方法。
尽管具有以上优点,但关于该基础设施还是要提出下列警告:
1.复制过程需要数小时才能完成, 有时 IT 团队在复制主环境时会用完所有空间,因为自动空间配置不够直观。
2.确保每位开发人员在适当时进行适当设置仍然很难, 尤其是因为公司在世界各地拥有数百位开发人员,而且在过去的五年中这个数目已经翻了一番。
3.在相同卷的不同分区中维护主环境的副本产生了性能问题(基本上是磁盘瓶颈)。
4.如果开发人员想返回到先前配置并重新启动,则要求助于 IT 团队。 如果开发人员希望刷新测试环境,则必须启动另一个 NDMPCOPY 进程。
5.删除不再需要的分区是一个冗长而繁琐的过程, 且测试完成后,IT 团队每个月需要完成多次刷新循环。
最终解决方案:极具空间效益的克隆
随着 Data ONTAP 7G 操作系统的发布,NetApp 引入了聚合精灵卷(FlexVol 卷)和精灵卷副本(FlexClone 副本)的概念。如果您不了解 NetApp 技术,那么这基本上可概括为在运行时进行自动空间配置和卷大小调整。
聚合中包含 FlexVol 卷和 FlexClone 副本,它包括通过 NetApp 双奇偶校验 RAID 实施 (RAID-DP) 分配到 RAID 组的大量物理磁盘。RAID-DP 是一种极具成本效益的高级故障/错误保护解决方案,用于防止同一 RAID 组内出现双磁盘故障。
只要聚合具有足够的空间,存储管理员就以使用 FlexVol 来增长和压缩卷。由于聚合包含大量磁盘条带,从而大大减少了性能瓶颈;甚至是聚合内最小的 FlexVol 卷也分布在所有的条带中。最后,Data ONTAP 7G 提供了 ZAPI 来帮助管理员构建工具,从而使用这些基本功能自动创建开发和测试环境。(请参阅TR 3373,了解更多有关对数据库应用程序使用 Data ONTAP 7G 的信息。
如下表所示,这些功能针对 IT 团队仍然面临的问题提供了一流的解决方案。
客户面临的难题 | Data ONTAP 7G 的优点 |
复制太耗时间 | FlexClone 可消除复制的需要 |
确保开发人员进行适当的设置 | ZAPI 使用自定义工具集成存储;FlexClone 加快了复制 |
性能问题 | FlexVol 将所有卷分布在大量条带中 |
开发人员无法保存时间点映像 | 开发人员可为个 FlexClone 副本制作 Snapshot 副本,以便轻松回滚 |
刷新周期太耗时间 | 可即时扩展、设定或删除 FlexVol 卷;可根据需要配置空间 |
为了实施新解决方案,可在具有大量物理磁盘的聚合内的 FlexVol 中为主环境分级。FlexVol 的 Snapshot 主副本支持创建副本或克隆。
这就节约了巨量的存储空间。整个体系结构还提供如下优势:
1.可快速地刷新测试环境。如果用户在环境中遇到故障,他只是破坏了克隆,只需请求主环境的另一份副本,数分钟而非数小时就可重新回到工作状态
2.IT 咨询目前已减少了 50% 以上,开发人员可创建指定克隆卷的 Snapshot 副本来为作出更改的测试环境保留时间点映像,必要时可恢复到任意点。
3.磁盘到磁盘备份提供了一个易于管理的集中化解决方案来保证备份、灾难恢复和保存。文件恢复非常迅速,并且在主存储无法利用时可从备份访问数据。总之,升级至 Data ONTAP 7.2.2 后,停机时间减少了 80%;该团队除了计划维护外没有遇到过停机情况,并且节省了大量成本。
4.如果不小心删除了克隆卷中的任何文件,开发人员不需花费太多时间,可以使用 Single File SnapRestore 来恢复该文件。该功能每个月为每个开发人员省去了约五个帮助台请求,帮助缩短了上市时间。
图 2 使用 FlexClone 可随时即时地克隆主环境,只有变更数据才会占用额外存储
图 3 FlexClone 典型测试环境 根据要求,可使用 FlexClone 即时克隆主环境的 Snapshot 副本。
创建的克隆卷仅增量式地占用更改原始映像所需的空间。
从传统存储转移到 NetApp 帮助该客户进行了有效扩展,从而更好地满足了业务需求;同时整合了存储,从而缩小了数据中心所占空间。借助 Data ONTAP 7G 和运行 NFS 的 NetApp NAS 存储,客户可快速地配置测试、开发、维护及分级环境,加快了测试周期,从而提高了质量,缩短了上市时间。
许多客户曾使用类似的方法进行应用程序开发和测试,并且在培训环境以及必须定期克隆固定数据集的其它情形中也使用该方法。