Cisco网络技术论 坛-> 用户名 密码
搜索
Net130.com

信息网格,第 2 部分: 蓝图与层次


http://www.net130.com  发布日期:2004-8-27
浏览次数:
 出处:IBM

规划网格的信息基础设施
   如果您的手中握有一张蓝图,那么规划网格的信息基础设施就比较容易了。本文先讨论了各个虚拟化层(数据层、文件系统层和存储层),然后为您描绘了一张如何使用每一层的蓝图。

简介
本文是有关为网格计算设计信息基础设施的三篇系列文章中的第二篇。请在 developerWorks 上阅读 第 1 部分“基础设施”。第 3 部分“应用场景”很快就会与您见面。

网格的信息基础设施
访问重要业务信息是一个组织面临的关键挑战之一,特别是当要处理的数据位于组织内外分散的分布式系统中时。

网格技术提供了应对这些挑战的解决方案,它提供了一种基础设施,允许安全地访问任何信息源,而不需要关注其位置。网格的信息基础设施 是访问异质文件、数据库、存储系统等的基础设施,并支持在计算处理和大规模协作过程中实现数据共享。

这样的基础设施允许对跨越异质硬件和软件资源的数据库、文件、存储设备等进行管理。您可以使用这一基础设施解决很大一部分信息管理难题,其中包括:

  • 访问分散的和分布式的数据。
  • 在节点之间共享文件。
  • 更有效地利用存储资源。

下面几节将介绍网格信息基础设施的蓝图。

蓝图概述
网格信息基础设施的核心思想是访问信息的时候不考虑其所在的位置。访问这样的信息意味着您可能必须处理诸如计算机、二级存储、网络、数据文件、数据库等分布式的和分散的资源。解决这一问题的方法之一是将您想要访问的资源虚拟化。

虚拟化的基本思想是使分散的和分布式的资源看起来就像是一项资源,比如说,可以让所有感兴趣的数据表现为同一个数据库。

注意:本文使用 虚拟化(virtualization) 这一术语表示将不同的实体聚集成一个虚拟的实体。虚拟化的另一种形式是划分和替换。

网格的信息基础设施可以利用不同的技术实现资源的虚拟化,让用户和应用程序能够很容易地访问到信息,降低资源管理的复杂程度。

数据库、数据文件、存储设备等资源属于不同的抽象层次,所以您需要处理不同级别的虚拟化。图 1 对网格信息基础设施中三种潜在的虚拟化层次进行了区分。最上面一层是 数据层,第二层是 文件系统层,最后一层是 存储层

图 1. 虚拟化的层次
虚拟化的层次

虚拟化的层次
从概念性的角度来看,所有这三个层次合在一起,恰好体现了实现网格信息基础设施时所要达到的目标。

但是,在一次实现中并不一定需要所有的虚拟化层次,因为这三个层次相互之间不存在直接依赖关系。比如说,可以假设一个信息网格只实现了数据层。另一个例子可以实现数据层和文件系统层。具体的实现情况依赖于您当前的基础设施,以及把这些基础设施组织起来时希望使用的手段。

数据虚拟化层
数据虚拟化层在分散的分布式数据源之上提供了一层抽象,这些数据源包括数据库管理系统 DBMS、普通文件(如用逗号分隔的文件)、结构化文件(如 XML 文档)或内容管理系统。

其目标是将用户和应用程序从访问不同数据的复杂性中分离出来,这些数据可能保存在远程的异质数据源中。通过虚拟化,您可以实现不同类型的访问透明性。比如说,异质透明性 可以将数据源不同的类型掩盖起来,使用户不知道访问的数据是在 DBMS 中,还是在普通文件中。因此,异质透明性可以屏蔽处理与数据源有关的访问机制和数据格式时面临的复杂性问题,使用户和应用程序不必知道这些信息。

有了 位置透明性名字透明性,您可以在不知道数据源位置和名称的情况下访问数据。比如说,分布透明性屏蔽了数据源的分布式本质,这样用户和应用程序就不必知道数据是从分布的数据源中来的。

有了数据的 所有权透明性,应用程序就不需要在访问单个数据时分别进行协商。

如果提供了各种层次的透明性,应用程序就可以将异质和分布式的数据看作存储在单一资源系统中,并用一种统一的方式访问这些数据。

图 2 展示了数据虚拟化是如何使不同类型的数据集成到一个 虚拟数据层 中的。信息基础设施蓝图 一节更详细地讨论了数据虚拟化及可用技术。

图 2. 数据虚拟化层
数据虚拟化层

文件系统虚拟化层
文件系统虚拟化层为网格的底层文件系统提供抽象层。它将访问不同文件系统中的远程数据时面临的复杂性与用户和应用程序隔离开来。所有的用户和应用程序都不必处理位于不同服务器上的不同类型文件系统,可以像位于一个文件系统中那样访问数据。参见图 3。

图 3. 文件系统虚拟化层
文件系统虚拟化层

存储虚拟化层
存储虚拟化层在存储设备之上提供抽象层。它允许在从计算机角度看到的存储设备和存储系统导出的存储设备之间实现一个间接访问层。

通过这一个抽象层,存储设备不再被约束到特定的计算机上。您可以将这些存储设备累积到存储池中,这个池独立于任何特定于计算机的存储布局。图 4 展示了存储虚拟化层。

图 4. 存储虚拟化层
存储虚拟化层

虚拟化允许将一台计算机看到的存储设备映射到任意存储池中。这一虚拟化层负责将存储池中的存储设备映射成计算机和存储设备所看到的样子。

计算机和存储设备之间的独立性增加了对已有处理能力的利用,将多个存储控制器的管理集中起来,从而降低了存储管理的复杂性和代价。

下一节将更详细地探讨存储虚拟化及其可用技术。

信息基础设施蓝图
网格信息基础设施需要将虚拟化作为其基本原则。虚拟化可以帮助定义一种支持访问任何信息源的架构,而不管信息的位置在何处。前面一节讲到,您可以在不同的架构层次上使用虚拟化的优势。图 5 展示了虚拟化层的详细情况。

图 5. 虚拟化层
虚拟化层

本节将探讨每一层(数据层、文件系统层和存储层)虚拟化的原则,并更详细地讨论其中的架构问题。

记住,网格信息基础设施的架构可能不会实现这里讨论的全部虚拟化概念。任何架构都必须考虑系统的应用环境,比如说参与网格的源系统的类型及其底层技术,以及可用的虚拟化技术等。

然而,任何架构都需要用某种方式支持用透明和统一的方式访问信息。因此,在任何网格实现的信息基础设施中,您都必须使用数据虚拟化层(即前面一节中讨论过的虚拟数据层概念)。不过,文件系统和存储虚拟化层则是可选的。如果加入这两层,可以帮助您降低网格中信息资源管理的复杂性。

虚拟数据层
业务数据可以存放在不同类型的数据源系统中,它的位置可以遍布整个企业,甚至可以在合作伙伴的系统中。

要利用组织中所有的数据资产,就必须能够访问结构化数据(保存在关系型 DBMS 中的数据)、半结构化数据(XML 文档或普通文件)以及非结构化的数据或内容(如文本、图形等)。

因此,网格必须应对组织中的数据多样性。一种处理方法是实现虚拟数据层。这个术语描述的信息基础设施可以提供一个透明的(虚拟化的)层次,实现像访问一个数据源那样访问多种类型的数据,而不必考虑数据的位置。请注意,拥有这部分信息的组织所制订的访问规则在此依然有效。

虚拟数据层必须处理下面的问题:

  • 分布式数据 —— 数据可以保存在远程系统中,或分布在网络上的系统中。
  • 不同的数据源系统 —— 数据存储在不同类型的数据源系统中(比如 DBMS、内容管理系统和普通文件)。
  • 不同的数据类型和格式 —— 数据源系统使用的数据类型和格式不同。
  • 数据语义 —— 数据归不同的域(比如业务单元)所有,因此在语义上可能不同(比如实体消费者可能出现同名异物)。
  • 性能 —— 在特定时间内网络的带宽有限。
  • 安全性(认证和授权)—— 数据的所有权以及认证授权的过程随数据源系统的不同而不同。
  • 完整性和一致性 —— 为保证从不同的分布式数据源获得一致的信息,您必须确保数据的完整性和一致性。

如果您想要提供安全的信息源访问机制,而不考虑信息在网格中的位置,就必须解决上面提到的问题。一种方法是通过网格中间件实现虚拟数据层,让应用程序像访问一个数据源那样访问不同的分布式数据。这种类型的中间件允许将结构化与非结构化数据集成起来,还可以提供实时的读写访问机制。更进一步讲,它可以提供一些功能,用于为业务分析和数据交换而转换数据,以及为性能、流通性和可用性而管理数据位置。

数据联邦、缓冲、复制是这一中间件的基本概念。数据联邦解决了与异质分布式数据有关的问题。缓冲和复制解决了性能和可用性的问题。

数据联邦
数据联邦的基本概念是使您能够像操纵一个数据源那样操纵多个数据源,同时保持其中每一个数据源的自治性和完整性。它所提供的透明性可以使我们更容易地访问数据源,而不必关心类型和位置。

访问透明性(或称虚拟化)是十分重要的。比如说,异质透明性可以屏蔽数据源的某些性质,如访问方法、数据格式等,或者是数据源运行的硬件和软件平台。分布透明性可以屏蔽数据源的分布式特性和访问这些数据源所需的网络通信。

这种类型的虚拟化可以让您像操纵一个数据源那样查看和操纵一组数据源,同时保持其中每一个数据源的自治性和完整性。用户可以用查询访问来自多个数据源的数据,并进行连接、限制、聚集和分析等操作。

数据缓冲和数据复制
数据联邦意味着访问在适当位置的数据。根据应用程序的类型、从远程数据源返回的数据量以及可用网络带宽的不同,可能存在不同程度的性能问题。另一种性能问题是由格式和语义的不同引起的,因此您需要马上转换某些数据。为了应对这些问题,可以将某些数据放在距离使用它们的应用程序更近的地方,比如说通过缓冲,或构建其拷贝 —— 换句话说就是实现数据复制。

有了数据缓冲,可以在执行节点上获得临时性的存储,这样可以避免在作业执行过程中访问网络。缓冲的主要目的是提高效率。程序、任何需要在激活作业之前预先准备好的模块,以及输入数据等,都是很好的缓冲对象,可以在每一个执行节点的本地存储起来。一个合适的例子是一个作业必须多次处理相同的数据(可能每一次处理时采用的参数不同)的情况。然而,使用缓冲并不总是惟一的解决方案,您应该考虑传送时间和占用的空间。

数据项的复制可以降低访问延迟,增强数据的本地性,增加分布式应用程序的健壮性、可扩展性和性能。

文件系统层
文件系统虚拟化可以为用户和应用程序屏蔽与访问异质文件系统中存储的远程数据有关的复杂性。

所有的用户和应用程序都不必处理位于不同服务器上的不同类型的文件系统,而是像访问位于一个文件系统中的数据那样处理。

网格中的文件系统可以存在于很多种系统中,这些系统使用的平台、安全和认证机制、授权策略等都可能不同。如果您想让异质的文件系统(通过虚拟化)看起来像一个,就必须处理这些问题。此外,您必须处理在多个系统中共享数据时通常会遇到的问题,如通用名称空间、锁,等等。

可行的解决方案必须解决下列问题的全部或一部分:

  • 全局单文件系统空间和单系统语义 —— 向所有的用户展现一个代表系统所有文件的单一名称空间视图,而不需要参考手册,也不需要由管理员对客户机逐个进行配置。这样,无论在哪一个系统上,都可以用相同的路径和文件名访问同一个文件。此外,您还可以对全局名称空间进行组织,这样客户机就不必指定数据的位置了(比如说,不必指出提供这项数据的服务器的名称)。这就是所谓的位置独立性。
  • 异质(多平台)的数据共享 —— 运行一个文件系统的所有系统,不论其操作系统或硬件平台如何,都可以用统一的方式访问这个系统中的数据。用户和应用程序可用一种与本地平台上的文件系统接口兼容的格式接收文件元数据(如目录项等)和文件属性(如最后修改时间)。服务器必须提供必要的锁机制,以保证在异质计算机之间共享数据的一致性。
  • 安全性 —— 数据的所有者和认证授权过程在数据源系统中各有不同。

共享的文件系统
网络文件系统和共享文件系统是解决同质和异质环境中远程数据访问问题的解决方案之一。如果要强制跨越计算节点共享数据,这两种方法会很方便,它们也是分布式计算最简单的解决方案。

共享文件系统包括如下几种类型:

  • 群集共享文件系统。
  • 网络文件系统。
  • 分布式文件系统。
  • 基于 NAS 的文件系统。
  • 基于 SAN 的文件系统。

存储层
存储虚拟化的目标是将多个存储设备聚合到一个公共的“受控”存储池中,并将服务器从物理存储中隔离出来,以屏蔽其复杂性。

存储虚拟化可以使用户实现下列目标:

  • 增加存储设备时不需要对服务器和网络进行重新设置。
  • 将存储卷定义和指派从一台存储设备上移动(或进行修改)到另一台存储设备上,以满足服务级的需求。
  • 将速率、大小、生产商都不同的硬盘驱动器聚集起来。
  • 动态重新分配存储空间。比如说,虚拟化使得要求进行额外存储的服务器可以从另一台存储设备上找到尚未使用的空间。反过来讲,如果服务器要求占用的空间变少,就会将其存储空间重新分配回存储池。

存储区域网
为了解决存储利用率低的问题,信息基础设施蓝图中使用了存储区域网(SAN)技术。这项技术可以让系统管理员为所有 SAN 存储设备创建一张虚拟视图,让这些设备看起来好像是一个同质设备组。通常情况下用户安装的是异质(生产商不同)的存储设备,每一个生产商的存储设备都具有自己的管理终端。这样,管理人员要想有效地管理数据在多个不同设备上的位置,并保证数据被均匀加载到这些设备上,就会非常困难。

数据的非均衡分布可能使得一些设备被超量使用,而另一些则使用不足。这种不平衡的情况会导致应用程序在试图获取数据时遇到瓶颈,也会使在应用程序处理数据时速度下降。

在网格中,您可以使用 SAN 功能来降低管理大量(而且可能是)异质的存储设备的复杂性。不仅如此,它还可以在存储空间分配方面提供更高的灵活性。

结束语
如果您的手中握有一张蓝图,那么规划网格的信息基础设施就更加容易了。当您了解了各个虚拟化层(数据层、文件系统层和存储层)之后,就可以从这张关于如何使用虚拟数据层、文件系统层和存储层的蓝图中获益。本系列的最后一篇文章“信息网格,第 3 部分:应用场景”将概述若干特定需求下的规划,公司可能会在自己实现信息网格时遇到这些需求。

1 2