ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 基于SOA 的存储管理

基于SOA 的存储管理

原创 Linux操作系统 作者:isoa 时间:2010-03-04 10:38:00 0 删除 编辑

转自:http://www.ibm.com/developerworks/cn/webservices/ws-soastoragemgmt/index.html

存储管理是面向服务架构(Service-Oriented Architecture,SOA)解决方案中的一个重要组件。它支持管理以结构化方式存储的资源。存储管理的主要目的是归类客户请求并导向合适的物理存储。它还支持使用 Web 应用程序以透明的方式访问存储数据。

问题

Storage Solutions 基于面向对象架构定义了一组模块化解决方案。它包含分布于各地理位置的物理存储、异构网络和协议。各属性分别属于不同的所有者。当接收到客户的存储请求之后,我们应该如何决定使用哪一台物理存储?并且,应该如何为各种存储设备和软件请求者提供稳定的交互性?此外,不同存储设备的成本也相差甚远。我们更倾向于根据存储请求来选择合适的存储设备。在 Storage Solutions 中,存储是一种分布式环境,并且它们各自可以拥有不同的网络、协议、文件系统和操作系统,同时还要求提供安全的访问。Storage Solution 需要通过一个存储管理系统来提供数据路径交互性,同时提供存储智能。

存储解决方案

为了提供这样的系统,我们首先需要抽象所有元素,包括:Storage Network、Storage Protocol 和 Storage Array。接下来,需要引入虚拟的概念 —— 存储分组用于对元素进行分类,并且我们会将存储分组公开为 Web 服务。

存储分组

存储管理服务支持以结构化的方式来管理资源存储。它为高级应用程序提供了低级服务,并且隐藏了资源存储的细节。在创建存储解决方案目录之前,必须定义一些基本元素,比如协议、网络和存储。组合这些元素的关系定义为 “组” 。图 1 显示这种系统的结构,其中包含 A111、B212 和 C323 三个组。


图 1. 系统结构
系统结构

如图 1 所示,分组由协议、网络和存储构成。管理员可以为客户机指定特定的分组。采用这种方式,可以根据存储、网络和协议的属性创建不同的分组。

工作原则

Storage Management Service (SMS) 隐藏了存储内容的细节,并向所有外界元素提供接口。要成功开发 SMS,我们首先需要在 SMS 中存储一些预定义规则,比如说创建一些存储分组来用于虚拟化存储数组。除此之外,存储服务还从应用程序和服务接收请求(关于在何处存储系统接收到的内容),各种内容类型及其属性将存储在一个数据库中,需要使用一个查找表来交叉映射内容类型到各种应用程序和服务,需要相关信息返回给应用程序使用。存储服务还与安全服务紧密协作来维护虚拟存储库。然后,SMS 将使用这些规则来确定哪些分组最适合客户机的请求,并生成一个包含主机名、协议、用户名和密码等信息的专用路径。然后,路径和所有相关信息将返回给客户机。接下来,客户机使用此信息联系存储器。其流程如图 2 所示。


图 2. 流程
系统结构

基于 SOA 的结构

由于 Storage Management 需要管理分布于各地理位置的网络、协议和存储,因此建议通过 Web 服务来实现它。各网络、协议和存储都将被注册为 Web 服务,并且还可以通过添加接口来访问它们。

在 Storage Solutions 中,需要通过 Web 来访问 Storage 服务。这些服务将使用一种基于 XML 的描述语言来进行描述,并通过根据 Internet 协议(如 HTTP)传递的 XML 消息来与客户机通信(最终用户应用程序和其他 Web 服务)。

图 3 显示了 Storage Solutions 作为 Web 服务与其他模块通信的结构。


图 3. Storage Solutions 结构
系统结构

结束语

存储管理是 SOA 解决方案中的一个重要组件。本文重点讨论了如何成功实现分组概念来管理不同的网络、协议和存储。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14780828/viewspace-628569/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-07-07

  • 博文量
    251
  • 访问量
    296272