分类:
2008-05-10 22:12:20
本文从最基础的概念开始,向您讲解了 IBM 最新的虚拟化技术-动态分区迁移(Live Partition Mobility)技术。让您知道这个技术能够实现什么功能,能给您的工作带来哪些方面的方便,以及能够在工作量上,成本上为您实现那些方面的节约。本文是摘自 IBM 红皮书《IBM System p Live Partition Mobility》。
动态分区迁移 (Live Partition Mobility) 允许您将正在运行的 AIX 和 Linux 分区,以及它们所承载的应用程序从一个物理服务器迁移到另一个物理服务器,而不会对基础服务产生任何影响。这项迁移操作只需要花费几秒钟的时间即可完成,可以维护整个系统事务的完整性。这项迁移操作将传输整个系统环境,包括处理器的状态、内存、附加的虚拟设备,以及连接的用户。
IBM System p 系统旨在提供行业中最高的独立可用性。对于一些企业来说,有时候必须重组它们的基础设施,以满足新的 IT 需求。通过允许将正在运行的生产应用程序从一个物理服务器移动到另一个物理服务器,动态分区迁移允许对系统(以及您的用户)进行无干扰的维护或者更改。这减轻了以前由于临时需要关闭系统而对分区和应用程序所导致的影响。
现在,即使是小型的 IBM System p 服务器通常也都会承载许多逻辑分区。随着所承载分区数目的不断增长,要找到一个可以为所有分区所接受的维护窗口也变得越来越困难。动态分区迁移允许您对分区进行移动,这样一来,您就可以在最适合的时候(而不是在给用户带来最少不便的时候),在计算机上执行先前会产生影响的操作。
动态分区迁移可以帮助您满足越来越严格的服务水平协议 (SLA),因为它允许您主动地将正在运行的分区和应用程序从一个服务器移动到另一个服务器。
将正在运行的分区从一个服务器移动到另一个服务器的能力,为您提供了平衡工作负载和资源的能力。对于一个重要应用程序的资源需求,如果出现了意料之外的峰值,并且同时出现了对服务器资源的争用,那么您可以将它移动到一台更大的服务器,或者将其他的、不重要的分区移动到不同的服务器,并使用所释放的资源来满足这个峰值。
动态分区迁移还可以作为一种服务器整合机制来使用,因为它提供了一种简便的方法,以便将应用程序从单独的、独立的服务器移动到整合服务器。如果对于某些分区中的工作负载,其资源需求在一段时间内出现较大范围的波动(例如,在月末或者季度末出现峰值工作负载),那么您可以在非峰值时期,使用动态分区迁移将这些分区整合到一个服务器中,这样一来,您就可以关闭不使用的服务器。然后在峰值到来之前,再将这些分区移动到它们自己的、经过充分配置的服务器中。通过在非峰值时期,减少运行计算机所需的电能,以及使它们保持冷却所需的电能,这个方法还可以节省能量。
动态分区迁移可以实现自动化,并集成到系统管理工具和脚本中。对多个并发迁移的支持允许您快速地转移某些系统中的工作负载。对于单个分区、指定时间点的迁移,HMC 提供了一个易于使用的迁移向导。
动态分区迁移有助于实现连续的可用性目标。它可以实现下列功能:
动态分区迁移将是 IBM System p 虚拟化连续性架构中的下一个重要亮点。它可以和其他虚拟化技术(如逻辑分区、动态工作负载分区和 SAN 卷控制器)相结合,以提供一个全面虚拟化的计算平台,该平台提供了当今生产数据中心所需的系统和基础设施的灵活程度。
分区迁移操作既可以在关闭某个分区的时候(非活动状态)执行,也可以在某个分区正在提供服务的时候(活动状态)执行。
在活动分区迁移期间,不会对系统操作或者用户服务产生任何影响。例如,可以将承载动态生产数据库(包含常规的用户活动)的分区迁移到另一个系统,而不会损失任何数据和连接性,也不会对正在运行的事务产生任何影响。
逻辑分区可以在两个基于 POWER6™ 的系统之间进行迁移,假设目标系统具有足够的资源来承载该分区。对于非活动迁移、或者活动迁移来说,在处理单元或者分区内存大小方面都没有任何限制。
在这一章中,我们提供了有关动态分区迁移的概述,并对它的特性进行了概要性描述。
|
在设计和部署信息技术解决方案的时候,基础设施的灵活性已经成为一项重要的标准。应用程序需求经常发生变化,使得它们所依赖的硬件基础设施必须能够在很短的时间内适应新的需求,但应该尽可能对服务级别产生最少的影响。必须采用一种非常简单和安全的方式来应用配置更改,无需管理员进行过多的干预,以减少变更管理的成本,并降低相关的风险。
基于 POWER5™ 的系统中所引入的高级 POWER™ 虚拟化特性,在每个系统的内部都提供了极好的灵活性。处理器容量的虚拟化和内存的合理分布,再加上网络和磁盘的虚拟化,可以使管理员在单个系统中创建多个细粒度的逻辑分区。可以根据实际的应用程序需求,自动地、实时地在多个分区之间分布计算能力,而不需要用户进行任何操作。由基于策略的控制,或者由管理员使用非常简单和安全的操作来完成系统配置的变更,这些操作不会对服务造成中断。
尽管单个系统的虚拟化极大地改善了 IT 解决方案的灵活性,但是,客户的服务需求常常要求对整个基础设施具有比较全面的认识。在许多情况下,将跨多个系统对应用程序进行分布,从而确保全局系统资源的隔离、优化和基础设施对新的工作负载的适应性。
在复杂的环境中,最耗时的活动之一是,将工作负载从一个系统传输到另一个系统。进行这样的迁移可能有很多种原因,例如:
对于某个工作负载来说,一个系统没有足够的资源,而另一个系统具有足够的资源。
必须将正在现有系统中运行的工作负载迁移到新的、功能更强大的系统中。
当一个系统需要进行维护时,它所承载的应用程序是不允许停止的,可以将它们迁移到另一个系统中。
如果没有提供迁移分区的方法,那么所有的这些活动都需要经过认真规划,由技术娴熟的人员来执行,并且这些活动常常会导致很长的停机时间。在某些情况下,SLA 可能会相当严格,以致于无法允许实施计划的停机。
|
基于 POWER6 的系统所提供的动态分区迁移专门用于将整个逻辑分区从一个系统迁移到另一个系统。动态分区迁移使用了一种简单的自动化过程,该过程可以将配置从源系统传输到目标系统,而不会影响它所承载的应用程序,以及操作系统和应用程序的设置。
动态分区迁移使得管理员可以更好地对数据中心中资源的使用进行控制。它允许在一定程度上实现重新配置,而这在过去是无法实现的,可能是由于非常复杂、或者仅仅因为服务水平协议不允许为了体系结构变更而停止应用程序。这种迁移过程只能在关机状态或者动态分区中执行。有两种可供使用的迁移类型:
非活动迁移——关闭逻辑分区,并将其移动到目标系统中。
活动迁移——在提供服务的同时执行分区的迁移,而不会影响用户的活动。
非活动迁移将一个处于关闭状态的逻辑分区的定义及其网络和磁盘的配置,从一个系统移动到另一个系统。不需要对网络或者磁盘设置进行额外的更改,并且在迁移完成后就可以激活这个分区。
非活动迁移过程将负责有关系统的重新配置。
如果一个系统由于计划维护而停机,或者因为其他的原因而停止服务,那么就可以执行非活动迁移。它以一种受控的方式执行,并且只需要最少限度的管理员交互,这样一来,就可以在很短的时间内安全地、可靠地执行非活动迁移。
如果该分区所提供的服务不能中断,那么可以通过使用活动迁移的特性对其进行重新部署,这样就不会对服务造成任何影响。
使用活动迁移,可以将一个正在运行的分区从源系统移动到目标系统,而不会影响分区操作或者用户服务。
除了在该过程期间,不停止操作系统、应用程序和它们所提供的服务之外,活动迁移所执行的操作与非活动迁移相同。逻辑分区的物理内存内容从一个系统复制到另一个系统,这使得用户几乎感觉不到所进行的传输。
在活动迁移期间,应用程序继续处理它们的正常工作负载。可以对磁盘数据事务、正在运行的网络连接、用户上下文和完整的环境进行没有任何损失的迁移,并且可以在任何时间对任何生产分区进行迁移。
在分区的计算和内存配置方面没有任何限制,并且可以并发地执行多个迁移。非活动迁移和活动迁移可以处理各种分区,这些分区可以具有任何处理单元和内存大小配置。
|
动态分区迁移需要特定的硬件基础设施。其中包括几个平台组件。
要进行逻辑分区迁移,需要满足以下几项要求:
支持可选的、冗余 HMC 配置。
动态分区迁移需要特定的硬件和微码配置(目前仅在基于 POWER6 的系统中是可用的)。
执行迁移的过程将识别源系统中移动分区的资源配置,然后对源系统和目标系统进行相应地重新配置。因为硬件配置的重点是 HMC,所以对其进行了增强,以协调迁移分区的过程。必须使用相同的 HMC 来管理这两个系统。
在迁移期间,移动分区的配置不会发生任何变化。目标系统必须能够承载该移动分区,并且在开始迁移之前,必须具有足够的空闲处理器和内存资源,以满足该分区的需求。对移动分区的大小没有任何限制;它甚至可以使用源系统中由虚拟 I/O 服务器所提供的所有资源。
操作系统和应用程序数据必须存储于源系统的外部磁盘中,因为在完成到目标系统的迁移之后,移动分区的磁盘数据必须是可供使用的。因此,需要外部的、共享的访问存储子系统。
该移动分区不能拥有任何物理适配器,并且必须使用虚拟 I/O 服务器进行网络和外部磁盘访问。支持对使用多个虚拟 I/O 服务器的分区进行迁移。
因为移动分区的外部磁盘空间必须可用于源系统和目标系统中的虚拟 I/O 服务器,所以您不能使用存储池。每个虚拟 I/O 服务器都必须使用物理磁盘(而不是逻辑卷)来创建虚拟目标设备。
必须在激活分区迁移任务之前建立虚拟网络连接,同时通过迁移过程执行虚拟磁盘设置。
源系统和目标系统必须具有合适的、共享以太网适配器的环境,以承载正在进行移动的分区。源系统中移动分区正在使用的所有虚拟网络都必须能够作为目标系统中的虚拟网络使用。
在 VIOS 中,由 PVID 所定义的 VLAN 在服务器的范围之外没有任何意义,因为所有数据包在桥接时都是不带标记的。CEC 1 中的 VLAN 1 属于 192.168.1 网络的一部分,而 CEC 2 中的 VLAN 1 属于 10.1.1 网络的一部分,这种情况是可能的。
因为两个网络都是可能的,所以您不能确定 VLAN 1 是否存在于两个服务器中。您必须检查在这两个服务器中,VLAN 1 是否映射到相同的网络。
图 1 显示了支持动态分区迁移的基本硬件基础设施。每个基于 POWER6 的系统都经过了配置,具有一个虚拟 I/O 服务器分区。移动分区只能对网络和磁盘资源进行虚拟访问。目标系统中的虚拟 I/O 服务器连接到相同的网络,并配置为访问与移动分区所使用的相同的磁盘空间。为了进行说明,将所有设备的编号都显示为零,但在实际中,它们可能会有很大的区别。
该迁移过程将在目标系统中创建一个新的逻辑分区。这个新的分区使用目标系统的虚拟 I/O 服务器,以访问相同移动分区的网络和磁盘。在活动迁移期间,将复制移动分区的状态,如图 2 中所示。
当迁移完成之后,不再将源虚拟 I/O 服务器配置为提供对外部磁盘数据的访问。设置目标虚拟 I/O 服务器,以允许移动分区使用该存储。最终的配置如图 3 中所示。
动态分区迁移功能将更改两个相关系统的配置,并且对于活动迁移,将对迁移进行管理,而不中断由正在移动分区中运行的应用程序所提供的服务。
迁移管理器功能位于 HMC 中,并且负责两个系统的配置。它负责检查是否满足所有的硬件和软件先决条件。在向用户提供迁移状态的同时,它在两个系统中执行所需的命令,以完成迁移工作。
当执行非活动迁移的时候,HMC 将引起两个系统中的配置更改。在活动迁移期间,在迁移过程中将传输移动分区的运行状态(内存、寄存器等等)。
将活动迁移的内存管理分配给每个系统中的移动者服务分区(mover service partition )。在活动分区迁移期间,源移动者服务分区从源系统中提取移动分区的状态,并将其通过网络发送到目标移动者服务分区,该分区则更新目标系统中的内存状态。
任何虚拟 I/O 服务器分区都可以配置为移动者服务分区。
动态分区迁移在移动分区的内存大小,或者连接到移动者服务分区的网络类型方面,都没有什么特定的需求。在内存传输的过程中,不会中断移动分区的活动,并且在低速网络中,如果涉及到大量的内存配置,那么该过程可能比较费时。我们建议使用较高带宽的连接,如千兆以太网。
|
分区迁移可以作为一项非活动操作或者活动操作来执行。
非活动迁移需要执行下面几个基本步骤:
1. 如果需要的话,为分区做好迁移的准备,如删除不支持的适配器、确保应用程序支持迁移。
2. 关闭该移动分区。
3. 执行由 HMC 所提供的迁移验证过程,以验证该迁移是否可以成功地执行。
4. 使用 HMC,启动非活动分区迁移。
HMC 连接到源系统和目标系统,并执行下面的迁移步骤:
a. 它将移动分区的配置从源系统传输到目标系统,包括所有的分区配置文件。
b. 它将更新目标虚拟 I/O 服务器,以提供对移动分区的虚拟 SCSI 访问。
c. 它将更新源虚拟 I/O 服务器,以删除用于提供对移动分区的虚拟 SCSI 访问的资源。
d. 它将删除源系统中移动分区的配置。
5. 当完成迁移之后,可以在目标系统中激活移动分区。
所执行的步骤类似于管理员在执行手工迁移时所遵循的步骤。这些操作通常需要精确计划,并对两个系统的配置进行全面广泛了解,因为必须在目标系统中按照虚拟化配置规则创建虚拟适配器和虚拟目标设备。
非活动迁移任务将负责所有的计划和验证工作,并执行所需的活动,而无需用户操作。这将减轻由人工错误而引起的风险,并能够以实时的方式执行移动。
活动迁移需要执行下面几个基本步骤:
1. 为分区做好迁移的准备,保持其处于活动状态,如删除不支持的适配器、确保应用程序支持迁移。
2. 执行由 HMC 所提供的迁移验证过程,以验证该迁移是否可以成功地执行。
3. 使用 HMC,启动活动分区的迁移。
HMC 连接到源系统和目标系统,并执行下面的迁移步骤:
a. 它将移动分区的配置从源系统传输到目标系统,包括所有的分区配置文件。
b. 它将更新目标虚拟 I/O 服务器,以提供对移动分区的虚拟 SCSI 访问。
c. 它将激活源虚拟 I/O 服务器和目标虚拟 I/O 服务器的移动者服务分区功能。移动者服务分区将移动分区的状态从源系统复制到目标系统。
d. 它将激活目标系统中的移动分区。
e. 它将更新源虚拟 I/O 服务器,以删除用于提供对移动分区的虚拟 SCSI 访问的资源。
f. 它将删除源系统中该移动分区的配置。
活动迁移执行与非活动迁移类似的步骤,但同时还将物理内存复制到目标系统。它保持应用程序处于运行状态,无论分区所使用的内存大小如何;服务都不会中断,对磁盘的 I/O 继续进行,并且网络连接可以不断地传输数据。
|
有许多种方式可以利用动态分区迁移。可以利用它来执行某些先前由于非常复杂、或者由于时间限制等因素而不可能执行的操作。迁移是一种新的功能,可以与现有的 IBM System p 特性和软件相结合,以提供更好的、更加灵活的服务。
对于计划停机时间,仅具有较小窗口的环境可以使用动态分区迁移,以管理多项计划活动,通过非活动迁移来减少停机时间,或者通过活动迁移来避免服务中断。
例如,如果一个系统由于计划停机而必须关闭,那么可以在关闭之前,将它所承载的分区迁移到处于打开状态的系统中。图 4 显示了这种情况,其中必须关闭系统 A。将生产数据库分区活动地迁移到系统 B,同时将生产 Web 应用程序分区活动地迁移到系统 C。我们认为这个测试环境并不是非常重要,并且将在停机期间关闭。
动态分区迁移是一个可靠的过程,可用于系统的重新配置,并且它可以用于提高整个系统的可用性。
高可用性环境还需要定义一些自动化的过程,用于检测软件和硬件事件、激活恢复计划以尽可能快地重新启动失效的服务。
动态分区迁移提高了全局可用性,但它并不是一种高可用性的解决方案。它要求源系统和目标系统都处于运行状态,并且分区不处于失效状态。此外,它不会监视操作系统和应用程序的状态,并且它是由用户发起的操作。
对于预料之外的停机,仍然需要一些特定的操作,这些操作通常通过集群解决方案(如 IBM HACMP)来执行。
集群软件和动态分区迁移提供了不同的功能,可以将这些功能组合在一起,以提高应用程序的可用性和正常运行时间。它们可以简化管理工作,从而降低相关的成本。
AIX 版本 6 允许您对正在相同的 AIX 映像中运行的应用程序(以及它们的磁盘数据和网络配置)进行分组。每个组称为一个工作负载分区。
可以对动态工作负载分区进行迁移。对于两个共享公共文件系统的、正在运行的 AIX 版本 6 映像,管理员可以决定在操作系统之间活动地迁移工作负载,并保持其中的应用程序处于运行状态。
尽管工作负载分区迁移与活动的动态分区迁移非常类似,但它是一种纯 AIX 功能。它不需要进行任何分区配置更改,并且可以在任何正在运行 AIX 版本 6 的服务器(包括基于 POWER4™ 和 POWER5 的服务器)中执行。动态工作负载分区是 AIX 版本 6 中的一个特性,它可以在所有支持 AIX 版本 6 的系统中运行,然而,动态分区迁移是高级 POWER 虚拟化特性,它仅适用于在基于 POWER6 的 System p 服务器中运行的所有操作系统。
工作负载分区迁移功能不需要在源系统和目标系统中配置虚拟设备。AIX 在两个系统中都保持运行状态,并继续使用分配给它的资源。执行动态分区重新配置操作,以减少源分区的空间占用,并扩大目标分区,这是系统管理员的任务。在开始工作负载分区迁移之前,目标分区必须已经存在,并且正在运行。
图 5 给出了一个动态工作负载分区使用的示例。系统 B 是一个 POWER6 系统,具有三个不同的工作负载。它们中的每一个都可以迁移到另一个 AIX 版本 6 映像,即使它们运行于不同的硬件平台。
尽管动态分区迁移和 AIX 工作负载分区迁移具有类似的特征,但其适用范围不同。甚至可以将它们组合在一起使用,以便在 POWER6 环境中提供更高的灵活性。
学习
Mitchell Harding 是 IBM 美国 p 系列主机测试组织的软件工程师。他拥有得克萨斯大学的计算机科学学位。他涉及的领域包括:AIX,SAN,虚拟化和软件测试。 |