在 IBM SmartCloud Enterprise 中恢复数据

探讨 IBM Cloud 中的备份与恢复选项

恢复 “数据” 的能力几乎是所有解决方案中的一项关键要求。它在解决方案的整个生命周期(设计、开发、测试和生产)中都非常关键,在公共云环境中尤为重要,因为该环境中的服务水平协议往往不如传统的内部或托管部署中见到的那样定义清晰。在本文中,作者将关注 IBM® SmartCloud Enterprise 提供的能够用于为 IBM Cloud 资源提供的各种水平的数据恢复的功能。另外,还将探讨您在云中部署数据时可能会考虑使用的其他服务与技术。

Mitchell DeKeyrel, 技术解决方案架构师, IBM

Mitchell DeKeyrel 是在 IBM 的一名技术解决方案架构师,拥有 13 年以上工作经验。他曾花费了 5 年时间专攻大型实验室环境和生产数据中心的基础设施与系统管理的研究。他是 IBM CIO 企业内容管理解决方案的首席应用程序架构师,在 IBM CIO office 工作了 7 年。他跨多行业工作以了解和分析终端用户的需求,并根据行业趋势为 ECM 应用程序变更设定路线图。Mitchell 还与跨 ECM 领域的主题专家合作,挖掘将其与其他战略应用程序以及 IBM 产品集成的机会。Mitchell 目前为 IBM 的 GTS 部门开发 Cloud Service Enablement 产品。



Andrew Jones, 高级云解决方案架构师, IBM

/developerworks/i/p-anjones.jpgAndrew R. Jones 是在 IBM 的一名高级解决方案架构师,拥有 22 年以上工作经验。在过去 16 年间,他一直致力于云计算、电信、无线技术与网络计算机领域中的 IBM 中间件解决方案的客户与业务合作伙伴支持的相关工作。Andrew 还是 IBM 首席发明家和 IT 认证架构师。



Ryan Sumner, 云部署负责人, IBM

Ryan Sumner 担任 IBM 的基础设施与应用程序专家,拥有 13 年以上的工作经验,应用自己在操作系统、中间件、服务器与存储方面的实践客户经验帮助客户、业务合作伙伴和 IBMer 在 “IBM 云上” 规划、构建和运行可靠的托管解决方案。Ryan 目前是 IBM 全球技术服务部门的云部署负责人。



Dominique Vernier, IT 架构师, IBM

/developerworks/i/p-dvernier.jpg最近几年,Dominique Vernier 主要致力于 Java 技术与云架构的相关工作。他还曾在相关公司工作过很久,在那里,他积累了关于消息传递、数据库、SOA、EAI、客户端/服务器、C/C++、以及现有框架等方面广博的知识。Dominique 还对电信、CRM、物流、以及保险等行业领域的知识有深入了解。他是 4 个有关状态引擎和资源管理的专利的拥有者或共同拥有者。目前,Dominique 正在 South-West Europe Cloud Center of Excellence 管理着用于私有或公有解决方案的智慧业务开发与测试云计算。



2012 年 11 月 05 日 (最初于 2011 年 12 月 08 日)

当您制定软件解决方案时,恢复数据的能力在解决方案的整个生命周期(包括设计、开发、测试与生产)中尤为重要。在本地云环境中也很重要,在公共云环境中尤为重要,因为其中的服务水平协议通常不如传统的内部或托管部署中见到的那样定义清晰。

我们将向您说明 IBM® SmartCloud Enterprise 提供的能够用于为 IBM Cloud 资源提供各种水平的数据恢复的功能。另外,我们还将帮助您探讨在云中部署数据时可能会考虑使用的其他服务与技术。

首先,让我们回顾 IBM 云的一些基础知识。

IBM 云的基础知识

阅读本文时您需要了解的一些数据恢复基础知识包括:

  • 实例与映像之间的区别。
  • 什么是临时性存储。什么是持久性存储。什么是对象存储。
  • 配给 (provisioning) 和关联 (association) 的工作原理。
  • 如何使用存储。
  • 存在哪几种备份类型。

实例与映像

在 IBM SmartCloud Enterprise 中,实例 就是基于映像运行的虚拟机。与实例相关的是虚拟 CPU、内存与本地(临时性)存储的配置组件。实例的本地存储包括操作系统、软件应用程序、数据,以及为实例添加的配置。

映像 是之前运行实例已保存的表现形式。映像是基于实例停止后的版本,要与快照 区分开,后者是正在运行的实例的副本,包括其内存状态在内。

临时性存储、持久性存储和对象存储

让我们了解一下 IBM SmartCloud Enterprise 上可用的各种类型的存储。在 IBM Cloud 上存在三种存储:

  • 临时性存储 是嵌入在虚拟机中的存储。它的生命周期与虚拟机息息相关。当您删除虚拟机时,临时性存储会被删除,因此该存储中保存的数据也将随之被删除。
  • 持久性存储 是您在创建实例过程中可以使用并附加给实例的存储。它的生命周期与虚拟机并无关联。删除虚拟机的同时并不会删除持久性存储,因此您可以将持久性存储重新附加给新的虚拟机并在此访问您的数据。
  • 对象存储 是可以通过 SmartCloud Enterprise Additional Services Order Form 申请的一种存储方式。对象存储是一种可以通过 Web 或者 CloudNAS 接口访问的基于 Web 的存储方式。它的生命周期与虚拟机并无关联。删除虚拟机的同时并不会删除对象存储。您可以通过其他新的虚拟机重新连接到对象存储,从而再次访问您的数据。

下表显示了以上两类存储的数据生命周期以及在相关的实例与存储设备上所采取的操作。

存储类型的数据生命周期
存储类型/ 操作重启实例删除实例删除存储
临时性存储数据保留数据丢失不适用
持久性存储数据保留数据保留数据丢失
对象存储数据保留数据保留数据丢失

配给和关联

持久性存储:

目前,最多能将三个持久性存储单元关联到一个给定实例,如图 1 中所示。其中一个存储单元可以在配给实例的时候附加。最多可以动态附加三个存储单元(如果在配给实例的时候附加了一个存储单元,那么只需附加两个存储单元)。持久性存储单元是动态附加的,也可以从实例中动态脱离。动态附加或脱离持久性存储单元的能力可通过 SCE Application Programming Interfaces (API) 实现,而不能通过 SCE Portal 实现。

图 1. 一个实例最多附加三个持久性存储单元
一个实例最多附加三个持久性存储单元

还要知道不能将持久性存储并发地附加到多个实例,这一点很重要。因为持久性存储是一种块设备,锁定是由它指定的主机来控制的 。

图 2. 一次只能附加到一台虚拟机并挂载一个持久性存储块
一次只能附加到一台虚拟机并挂载一个持久性存储块

持久性存储的配给或创建可以通过门户接口或 IBM Cloud API 来完成。配给一个存储单元所需的时间根据请求的存储大小、类型和特定云环境(或数据中心)的当前行为而决定的。

由于存储实际上是使用后端系统上的扇区,所以原始持久性存储类型的配给时间会比较短。因为现存的存储上不存在任何底层文件系统或数据,所以在后端存储子系统上进行分配只需要几秒种。

持久性存储只有在没有附加给任何实例的时候才能被解除配给。如前面所述,如果已经将存储单元动态地附加给实例,那么也可以动态地将它解除配给。如果已在配给实例时附加了存储单元 ,那么必须先将实例解除配给,然后才能为存储单元解除配给。

对象存储

对象存储没有特别严格的存储显示;它是一个非常灵活的存储特性,可由多个 SmartCloud Enterprise 实例使用。对象存储允许您创建不限定数量的应用程序名称来隔离数据。从传统的存储理念上讲,可以将这些应用程序名称想象成为存储池。除了创建每个应用程序名称之外,您还能够创建必要的相关子访问帐号。

图 3. 与分配的对象存储应用程序有关联的一个实例,使用了一个相关子帐户
与分配的对象存储应用程序有关联的一个实例
图 4. 与分配的对象存储应用程序有关联的两个实例,使用了两个独立的子帐户
与分配的对象存储应用程序有关联的两个实例

对象存储并没有提供文件锁定功能(该功能由解决方案提供),理解这一点很重要。每个应用程序名称下创建的子帐户都有自己的用于存储消费的独特目录。在上面的图 4 中,尽管使用了相同的应用程序名称,子帐户 1 仍然无法看到子帐户 2 的数据。可以尝试使用相同的子帐户凭据将两个实例连接到相同的应用程序,这会导致数据同步问题,并且几乎所有的情况都会导致数据损坏。

图 5. 只有一个虚拟机可以使用相关的子帐户附加到已分配的对象存储应用程序
只有一个虚拟机可以附加到已分配的对象存储应用程序

持久性存储

目前,持久性存储块的容量最大被限定在 2TB,而且一次只能将一个持久性存储单元附加给一个虚拟实例。虚拟实例可以通过诸如 NFS/GPFS 和 SAMBA 等文件共享技术来共享持久性存储。

通过使用此种解决方案,您可以克服这些限制。可以在云配给多台文件服务器,每台文件服务器的持久性存储为 2TB。类似地,每台文件服务器可以将持久性存储 NFS 导出到其他服务器,从而克服一个实例只能直接挂载一个持久性存储的限制 。

图 6. 实例之间对持久性存储的网络共享
实例之间对持久性存储的网络共享

对象存储

如本文前面所述,可以在没有最低使用限制的情况下通过许多 VM 实例来访问对象存储。您可以通过代码访问 API 或者通过一个称为 CloudNAS 的应用程序开始使用对象存储。让我们来查看这些访问方法中的每种方法。

使用基于 Web REST API 开发对象存储应用程序

SmartCloud Enterprise 对象存储完全可以使用 RESTful Web 服务来管理和访问。该 API 允许您登录您的帐户、上传和下载文件、创建子帐户和使用监视器。这使得从各种应用程序或者从使用常见的、易于使用的界面连接到对象存储成为可能。The Developer API Reference 文档不仅提供了一个 API 参考,还提供了使用基于 Web 的 API 的全面指导。该文档可在登录后从 SCE Asset Catalog 中获得。

使用对象存储和 CloudNAS

CloudNAS 软件允许您像在 Windows 的服务器上访问一个本地驱动,或者在一个 Linux 服务器上访问一个本地挂载点一样访问 SmartCloud 的存储。在使用 CloudNAS 时,仅有一个实例可让 CloudNAS 运行特殊的应用程序名称/子帐户,理解这一点很重要,如图 5 所示。当需要在实例之间共享数据时,或者需要进行协作的时候,对于虚拟实例而言,有可能会使用文件共享技术(比如 CIFS)来共享对象存储。

图 7. 实例之间的对象存储的网络共享
实例之间的对象存储的网络共享

IBM SmartCloud Enterprise 为自己的客户端提供了在客户现场环境和 SCE 环境之间部署一个 VPN 的能力。借助该配置,还为客户端帐户提供了一个私有的虚拟局域网 (VLAN)。该 VLAN 为这之后配给的实例提供了一个网络隔离层。对于在此 VLAN 上部署实例并且还需要使用对象存储的客户,需要建立一个实例,用该实例充当对象存储入站和出站流量的网关。为此,需要提供一个既有面向 VLAN 的公共网络,也有面向 VLAN 的私有网络的实例。

在配备了用于同时跨越公共和私有 VLAN 的实例之后,建议您配置防火墙来保障 IBM SmartCloud Enterprise 环境中的部署的安全。

IBM SmartCloud Enterprise Release 1.4 中引入了能够在公共和私有 VLAN 之间跨越的实例。有关此功能的更多信息,请参阅文章 IBM SmartCloud Enterprise tip: Span virtual local area networks

图 8. VLAN 内的实例之间的对象存储的网络共享
VLAN 内的实例之间的对象存储的网络共享

备份类型

存在两种类型的备份:

  • 在线备份:是动态进行的,因此不需要停止应用程序就能创建一致的备份。
  • 离线备份:实现起来要简单得多,但要求停止应用程序才能创建备份。

重点:IBM 云用户负责实现他们自己的备份解决方案。IBM 云平台提供各种类型的本地功能,帮助实现备份解决方案。


IBM SmartCloud Enterprise 的内置功能

IBM SmartCloud Enterprise 提供了对位于实例(临时性存储)中或位于持久性存储中的数据进行离线备份的功能。让我们先了解实例备份功能,然后再了解持久性存储备份功能。

捕捉实例的映像

IBM Cloud API 与映像目录

IBM 云提供三种类型的 API

  • RESTful
  • Java™
  • 命令行

所有这三种类型的 API 均提供从实例创建映像的能力。

IBM 云为映像提供各种目录:

  • 公共目录包含 IBM 或 IBM 业务合作伙伴支持的所有映像。
  • 私有目录包含所有的私有用户映像(从用户实例捕捉而来的映像)。
  • 企业目录包含用户已经自行定制、升级用以与相同 IBM 云帐户中其他用户共享的用户映像。

注意:私有目录与企业目录是特定于数据中心的。在数据中心中创建的映像只能在同一个数据中心内进行实例化。

IBM SmartCloud Enterprise 提供为实例创建映像的能力。这是保存在指定时间点处于指定状态的定制实例的一种手段。映像捕捉的优点在于,用户可以修改实例(比如增加用户,设定策略,安装软件,以及配置软件),然后将它保存为一个映像。然后可以使用这个映像来配给新的实例,并保存所有用户的修改与定制。

IBM SmartCloud Enterprise 1.4 版本中所提供的相关 反托管 (anti-colocation) 功能 可用于创建备份或冗余的虚拟机。在实例化虚拟机的克隆时,可以保证它位于不同的独立物理节点上。您要备份一台虚拟机,从该映像配给一个实例,然后使用反托管功能在另一个物理节点上配给第二个实例。完成这些工作之后,如果有一个虚拟机或节点出现问题,那么它不会对其他实例造成影响。

捕捉映像

在 IBM Cloud 平台上捕捉映像有两个选项:

  • 通过门户
  • 通过 API

注意:IBM 云映像捕捉过程将暂时停止要捕捉的运行实例。映像是已停止实例而非运行实例的表示。这不是实例的 “快照”。

要从门户捕捉一个映像:

  1. 在门户中单击 Control panel 选项卡,然后选择 Instance 子选项卡。
    图 9. Instances 子选项卡
    Instances 子选项卡
  2. 选择您的实例,然后单击 Create private image
    图 10. 配置私有映像
    配置私有映像
  3. 提供一个名称和一段描述,然后单击 Submit。创建映像并将其保存在您的私有目录中。不要忘记在捕捉过程中,您的实例将被停止并重新启动。

要从命令行 API 捕捉一个映像:

  1. 让我们看一看命令行 API,并使用 ic-save-instance 命令行。
    图 11. ic-save-instance 命令行
    ic-save-instance 命令行
  2. 运行 ic-save-instance 命令。
    图 12. ic-save-instance 命令结果
    ic-save-instance 命令结果

在您的私有目录中生成了一个新的映像。该映像包含临时性存储中保存的所有数据。

相同的操作也可通过 Java 或 RESTful API 来完成。

配给一个私有映像

您可以列出所有来自门户的私有映像,并重新配给其中之一。

  1. 访问门户的 Control panel,并选择 Instance 子选项卡。
  2. 单击 Add instance 按钮。
  3. Add instance 窗口会打开。选择您的映像所在的私有目录 My Images 和数据中心。
    图 13. 配给一个私有映像
    配给一个私有映像

您可以使用针对任意其他映像的相同方式来继续配给过程。

克隆持久性存储

IBM SmartCloud Enterprise 提供克隆持久性存储的功能。简而言之,此功能就是将一个持久性存储块的内容复制给一个新的持久性存储块。应该注意持久性存储克隆功能的以下方面:

  • 要克隆的存储单元必须处于 Non-Attached 状态。
  • 克隆只能在数据中心内完成。
  • 克隆过程中创建的新存储单元与原始(被克隆的)存储单元大小相同。

创建克隆

您可以从 IBM 云门户或通过 API 来创建持久性存储的克隆。

要从门户创建一个克隆:

  1. 在 Control panel 选项卡中选择 Storage 子选项卡,您将看到现有存储的列表。
    图 14. 现有存储的列表
    现有存储的列表
  2. 选择您需要克隆的存储,然后单击 Clone Storage。为您的存储提供一个名称,然后提交。
    图 15. 配置克隆存储
    配置克隆存储的窗口

要从 API 创建一个克隆:

命令行 API 提供 ic-clone-volume 命令。还可以通过使用 RESTFul 或 Java API 来执行这项操作。

图 16. ic-clone-volume 命令
ic-clone-volume 命令

提供必要的参数给命令行界面。

图 17. ic-clone-volume 命令结果
ic-clone-volume 命令结果

门户显示状态。

图 18. 您已经成功克隆了持久性存储
您已经成功克隆了持久性存储

对象存储数据保护策略

IBM SmartCloud Enterprise 对象存储允许您利用多个存储节点。节点是用来存储对象的单个副本的地方。在通过 Additional Services Order Form 注册对象存储和选择用来存储对象副本的节点的时候,您可以决定想要维护多少个对象副本。这为您提供了定义满足您的业务需求的数据保护策略的能力。默认策略是在建立对象存储帐户时在存储池级别上设置的。客户不能直接更改这些策略。要调整您的数据保护策略,或者添加/删除某个位置,则必须提交一个新的 Additional Services Order Form。

对于有一个多节点数据保护策略的客户,在将对象成功上传到客户策略中的最近节点以后,数据复制对于所有这些节点是异步的。

注意:在完成复制之后,才能在完整副本所在的节点中执行读取或写入请求。

如果您希望修改处于数据保护策略中的节点,则必须提交一个客户支持请求。

注意:如果您想在数据保护策略中添加或删除节点,只需填写一个新的 Additional Services Order Form 即可。


IBM 云备份与恢复功能的替代方案

大量备份与恢复解决方案同时以服务与单机产品的形式存在。IBM SmartCloud Enterprise 不会阻止您使用这些类型的解决方案。

除了确保您选择的解决方案满足您的功能性与非功能性需求之外,还要确保它能支持您在 IBM 云实例上使用的操作系统,并满足所有许可证条款。

请注意,当把一个持久性存储单元附加给一个活动实例时,应用程序可以像本地或临时性存储一样访问实例的数据。任何备份软件或服务都可以访问这些数据,就好比访问运行实例上的任意其他数据一样。除了我们描述的使用 IBM 云功能克隆持久性存储单元的方法之外,再无其他途径可以访问未附加的持久性存储单元。

下面给出了一些可以替代备份/恢复功能的解决方案:

  • The IBM Business Continuity and Resiliency Service (BCRS) 可以帮助您确保业务操作的连续性,并帮助改进法规符合性、系统可用性、数据保护,以及 IT 操作风险管理策略的集成。它经由实例中安装的代理,能够通过 远程数据保护 将您的实例远程备份到一个 IBM 数据中心。
  • 其他的第三方产品包括:
    • IBM Tivoli® Storage Manager 可以用于将数据从一个实例复制到另一个位置。
    • Asigra Cloud Backup 软件已经过验证,可在 IBM Smartcloud 上运行。Asigra 提供了 Smartcloud 上的备份与恢复,以及全面的平台支持,包括 Windows 和 Linux 操作系统、针对数据库和企业应用程序的应用一致的备份,这些企业应用程序包括 DB2、Oracle、MS SQL Server、Lotus、MS Exchange、MS Sharepoint 和其他关键应用程序。
  • 也可以将用户自行开发的解决方案与实例操作系统提供的基本功能结合使用。这可以包括使用复制命令的解决方案,比如 cprsync,它们允许您将数据从一个位置复制到另一个位置(从本地存储到持久性存储),或者从一个实例到另一个实例。
  • 对于数据存储,有一些第三方网关产品,它们提供了快照功能,并实现了用户托管文件恢复功能。例如,Twinstrata CloudArray(现在可在 IBM Cloud 上使用)提供了易于使用的云存储和数据保护技术。

根据您选择的解决方案,它可以在 IBM 云环境内部或一些其他的服务器或服务之外备份数据。注意,如果解决方案通过实例的网络连接从外部复制数据,那么数据传输就需要收费。


数据库

数据库可能对备份与恢复解决方案提出独特要求。大多数情况下,数据库系统本身将提供一种或多种备份与恢复机制,作为产品的组成部分。您还可以使用为数据库提供备份与恢复功能的第三方工具。

数据库备份与恢复解决方案可能同时提供在线(数据库可以保持活动)与离线(数据库必须不活动)备份功能,二者各有优缺点。大多数情况下,这两种解决方案在云环境中的效果应该都不错;不过,您应该咨询您的数据库管理员,以确保数据库创建时所做的一些选择不会导致所使用的备份与恢复解决方案出现问题。例如,数据库管理员可能已经选择对数据库日志文件使用持久性存储,而对真正的数据表使用本地/临时性存储。因为这两种存储系统在性能方面具有不同的特性,可能对备份与恢复解决方案造成影响。另外,可以使用 IBM 云中克隆持久性存储单元的功能来创建一个定制的备份与恢复解决方案,或许可以带来额外的好处。


结束语

本文向您介绍了 IBM SmartCloud Enterprise 备份与数据恢复功能的基础知识。我们为您提供了各个方面(内部与外部)的信息,让您开始了解并探索许多在处理 IBM 云中的实例与映像时能够用到的数据备份与恢复方法。

参考资料

学习

获得产品和技术

  • 参考 IBM SmartCloud Enterprise 的可用 产品映像

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing
ArticleID=779872
ArticleTitle=在 IBM SmartCloud Enterprise 中恢复数据
publish-date=11052012