- 论坛徽章:
- 0
|
漫谈IBM pSeries的逻辑分区和动态逻辑分区\r\n简介:\r\n\r\nLPAR 既逻辑分区指的是将一个物理的服务器划分成若干个虚拟的或逻辑的服务器,每个虚拟的或逻辑的服务器运行自己独立的操作系统,有自己独享的处理器、内存和I/O资源。动态逻辑分区允许在不中断应用操作的情况下,增加或减少分区占用的资源。IBM将这些灵活的技术从大型机(mainframe)平台带到了基于POWER4处理器的IBM pSeries平台上从而极大的降低了该技术的价格和成本。\r\n\r\n\r\n一、IBM pSeries 支持分区的服务器的机型:\r\n\r\n LPAR 动态LPAR 最大分区的个数\r\npSeries 630 6c1 支持 支持 4\r\npSeries 630 6E1 支持 支持 3\r\npSeries 650 支持 支持 8\r\npSeries 655 支持 支持 2\r\npSeries 670 支持 支持 16\r\npSeries 690 支持 支持 16\r\n\r\n\r\n对于上面的服务器是否可以使用动态LPAR,还要看安装在服务器上的软件:\r\n\r\n可以使用动态 LPAR : 在动态 LPAR 可用状态下,调整资源的分配可以不需要停止或重新启动相关的分区。如果希望实现动态LPAR需要在相关的分区安装 AIX 5L 5.2 版本,并且HMC recovery 软件必须至少是3.1 版本(或更高)。 如果分区运行的是 AIX 5L 5.1 版本或Linux操作系统,动态逻辑分区不可用。\r\n\r\n不可以使用动态 LPAR: 如果没用动态LPAR的功能, 分区的资源是静态的。动态LPAR对于运行AIX 5L 5.1 版本或Linux操作系统是不可用的。当需要改变或重新配置分区的资源时,由于没有动态LPAR, 所有相关的分区必须被停止或重新启动以使得资源的改变生效,但是不会影响其它分区的操作。\r\n\r\n(一个服务器的分区可以同时拥有可以做动态LPAR的分区和不能做动态LPAR 的分区.)\r\n\r\n注意:Reboot一个正在运行的分区只会重新启动分区上的操作系统并不会重新启动LPAR. 如果想要重新启动LPAR,必须shut down 操作系统然后再启动操作系统,不能用reboot方式。\r\n\r\n二、每个LPAR至少需要一些资源,下面是每个LPAR的最小需求:\r\n\r\n1. 每个分区至少一个处理器。\r\n2. 至少256 MB 内存。\r\n3. 至少有一块硬盘用于安装和存储操作系统(对于AIX, 做为rootvg)。\r\n4. 至少一块硬盘适配器或集成的适配器用于连接硬盘。\r\n5. 至少一块网卡用于每个分区与HMC的连接。\r\n6. 每个分区必须有一个安装模式, 例如NIM。\r\n\r\n\r\n漫谈IBM pSeries的逻辑分区和动态逻辑分区(二)\r\n\r\n硬件管理控制台(HMC)\r\n\r\n在LPAR模式中,IBM硬件管理控制台(HMC)是必须的。可以使用一个专用的7315-C01或在p670和p690上的一个已存在的HMC(功能编号:7316)作为硬件管理控制台。如果服务器是应用于全系统分区模式(即没有做LPAR),则不需要配置HMC。\r\n\r\nHMC 是一个专用的桌面工作站,可以提供一个图形用户接口,用于配置和管理没有分区的服务器、做分区(LPAR )服务器和集群环境的pSeries 服务器的功能。它通过安装一组硬件管理应用软件在服务器上配置和划分分区。一个HMC能够控制多台pSeries 服务器。目前,一个HMC最多可以同时支持16台没有做集群的pSeries 服务器和最多64个LPAR。 \r\n\r\nHMC 通过特殊的连接线连接到服务器上。不论服务器需要划分多少个分区,均只需要一个串口将HMC连接到服务器上。 \r\n\r\n由于这些连接线有长度的限制:最长15米, 为了延伸连接长度,可以采用下面的方式:\r\n\r\n HMC可以用于远程操作。用于远程操作的HMC必须首先通过一个网络连接将HMC连接到服务器上。\r\n AIX 5L Web-based System Manager Client(WebSM)可以管理HMC的网络连接;或者使用Web-based System Manager PC client,该软件运行在Windows操作系统或Linux操作系统上。WebSM client 应用程序是一个嵌入HMC 的图形用户接口 (GUI). 通过控制面板可以访问控制网络上的其它HMC。\r\n 当使用128端口的异步控制卡时,RS-422 线缆将连接到一个RAN的盒子上, 其长度可达到330米。这个盒子可以用连接线缆将HMC端口和服务器相连。因此当使用15米连接线缆时,最远距离可达到345米,整根线缆的长度都可以用到。\r\n \r\n\r\nHMC提供一系列功能用于管理和配置LPAR。这些功能包括:\r\n\r\n 创建和存储LPAR的profile,用于定义分配给每个独立分区的处理器、 内存和I/O 资源。\r\n 启动、停止和重新设置系统分区。\r\n\r\n 通过选择一个profile启动引导一个分区或系统。\r\n\r\n 显示系统和分区状态。\r\n在不支持分区功能的系统上,LED 代码通过操作面板显示。在分区的系统上, 操作面板显示LPAR的信息而不是任何一个分区的LED代码。因此,所有系统分区的LED代码显示在HMC上.\r\n\r\n 对每一个分区或系统可以作为一个虚拟控制台\r\n每个LPAR可以通过HMC的连接访问服务器。 如果LPAR不能存取网络或者需要远程NIM安装时可以方便的使用这个功能。\r\n\r\n HMC同时对其控制的系统也提供一个服务聚焦点。它可以通过其专有的串口连接去连接系统的服务处理器。 HMC同时提供了问题定位和服务的支持,例如可以通过类似电话线的装置拨打电话和错误日志通知。\r\n\r\n漫谈IBM pSeries的逻辑分区和动态逻辑分区(三)\r\n\r\nLPAR的内存分配 \r\n\r\n在规划逻辑分区时需要额外考虑内存的因素。这些因素由于系统使用不同的操作系统而有所不同,例如:AIX 5L 5.1 版本、 AIX 5L 5.2 版本或Linux操作系统. \r\n\r\n当一台机器运行在一个整体系统分区模式(没有LPAR)时, 所有的内存为AIX独享; 当一台机器运行在一个LPAR模式时,一些被AIX使用的内存被重新部署在AIX定义的内存区域之外。 例如:p630上有一个单独的小分区, 内存为256 MB, 系统内存的第一块256 MB内存将会被分配给系统管理程序,下面的256 MB内存用于翻译控制单元(translation control entries既TCE)和系统管理程序中每个分区的页表, 后面的256 MB分配给第一个分区的第一个页表. TCE内存用于把I/O地址翻译成系统内存地址。对于额外增加的小分区的额外增加的页表将被放在页表数据块中。因此,如果只有AIX操作系统, 分配256MB内存的分区实际需要768 MB (0.75 GB)内存。\r\n\r\n基于前面内存分配的情况, 在p630上划分2个或更多的LPAR至少需要2 GB内存。当然也可以在1GB内存的机器上创建一个256MB内存的LPAR分区, 然而, 这种配置最好只用于测试目的:测试系统需要的最小配置。其它的系统应有不同的内存需求。\r\n\r\n 当从分区移走任何动态LPAR内存时,如果这些分区含有ISA或者IDE I/O,必须首先关闭所有的属于该分区的ISA或IDE设备。例如,这些设备包括:磁盘驱动器、串口、CD-ROM或DVD-ROM。\r\n\r\n 下面介绍AIX 5L的分区规则:\r\n\r\n 一个LPAR 至少256 MB内存。 内存可以以256 MB的增量增加。\r\n\r\n 内存在AIX之外的消耗从0.75 GB到2 GB,依赖于内存的数量和LPAR的个数.\r\n\r\n 对于AIX 5L 5.1版本,在一个有64 GB内存系统中,如果LPAR的内存超出16 GB,那么该系统最多只能划分2个LPAR。这是由于在AIX 5L 5.1版本中有内存排列的限制。\r\n \r\n 大于16 GB的LPAR的内存, 将会按16GB的界限划分。因为系统管理程序的内 存驻留在内存的低端,TCE驻留在内存的顶端,这里只有2个16 GB的内存边界可 用。\r\n\r\n 服务器内的内存结构也需要计算在内。每个处理器卡有自己专有的内存排 列。处理器卡1的范围是0到16 GB, 处理器卡2是从16 GB到32 GB, 处理器卡3是 从32 GB到48 GB,处理器卡4是从48 GB到64 GB. 如果处理器卡没有配置到其最 大可允许的内存, 内存分配将会有一个空洞,系统将不会有16 GB 连续内存。 例如, 如果一个系统有3块处理器卡并且配置了36 GB的内存,内存的分配范围 是:0–12、 16–28和 32–50。 在这种配置情况下,16 GB内存的边界只能分 配12 GB内存, 对于需要超出16 GB 的内存的分区这样的内存太小了。\r\n\r\n 在AIX 5L 5.2版本中, 对于超出16 GB内存的分区没有预定的限制,只有最大整体内存的限制和系统管理程序占用的内存的限制。\r\n\r\n注意: 在AIX 5L 5.2版本或Linux系统上划分超出16GB内存的LPAR时,需要选中Small Real Mode Address Region(在HMC, LPAR Profile, 内存可选对话框中) 如果运行AIX 5L 5.1版本则不需要选择此项内容.\r\n\r\n漫谈IBM pSeries的逻辑分区和动态逻辑分区(四)\r\n\r\n动态 LPAR (5.2.0) 简介和体系架构\r\n\r\n动态 LPAR (5.2.0) 简介\r\n\r\n IBM 在2001年12月发布的pSeries 690 服务器,使得pSeries平台开始支持静态逻辑分区(LPAR)。 然而,静态逻辑分区(LPAR)提供的是可以从一个分区到另外的分区逻辑的移动和分配资源的解决方案,需要操作系统重新启动(reboot)相关的分区,并且重新配置这些分区。 \r\n\r\n 目前,IBM的pSeries 服务器的动态逻辑分区(DLPAR)可以将硬件资源(例如处理器、内存和I/O插槽)从一个正在运行操作系统实例的逻辑分区移动到另外的分区而不需要重新启动(reboot)或重新配置这些分区。 \r\n \r\n如图(一)所示,一个DLPAR系统由下面几个内容组成: \r\n\r\n_ HMC\r\n_ 系统管理程序(Hypervisor)\r\n_ 全局-固件(Global-Firmware)\r\n_ 本地-固件(Local-Firmware)\r\n_ AIX\r\n\r\n \r\n\r\n图示(一) IBM eServer pSeries DLPAR 系统体系架构\r\n\r\nDLPAR 体系架构 (5.2.0)\r\n\r\n 下面的图表2显示了DLPAR的操作的例子,用户通过HMC 将资源从一个分区移动到另外的分区。\r\n\r\n下面是图表2包含的内容的描述:\r\n\r\n HMC:硬件管理控制台(HMC)是命令中心,通过它做出所有移动资源的指示。\r\n\r\n chhwres: chhwres HMC命令的功能是从分区或在分区之间动态的增加和迁移资源。该命令可以通过HMC GUI或命令行使用。\r\n\r\n DRM: 动态重配置管理器(DRM)是一个代理,用于处理DLPAR特殊的命令。DRM调用 AIX 命令去连接或断开DLPAR启用的资源。\r\n\r\n RMC:RMC远程控制和监控分布的资源类。它是一种分布式的框架用于处理所有 与网络相关的安全和连通性。与DRM结合在一起,可以启动远程命令去驱动配置的或没有配置的DLPAR可用的资源。\r\n.\r\n RTAS:RTAS(Run-Time Abstraction Services)是一个固件,可以在每个分区之间复制。它运行在开放固件设备树的对象上,例如处理器、逻辑内存块(LMB)、I/O 插槽、日期芯片和NVRAM。运行内容包括:查询、分配、电子的隔离和释放资源。\r\n\r\n 全局 FW: 一个全局固件(FW)实例生成整个系统。这个全局固件作为系统管理 程序。它包括启动和分区管理器,物理内存和I/O映射,并且为资源提供全局命名空间。它规定了DLPAR启用的资源组和开放固件设备树。AIX通过RTAS层与之连接。 \r\n\r\n\r\n \r\n 图表2:DLPAR 系统体系结构\r\n\r\n下面是图表2操作流程的描述:\r\n\r\n1. HMC上的chhwres基于释放给定的资源的请求去调用RMC。\r\n\r\n2. RMC通过以太网络和AIX上的RMC建立连接,并且传递释放被该资源的请求。 RMC到分区的连接是在启动时建立的。 \r\n\r\n3. 然后,RMC根据释放该资源的请求调用DRM。\r\n\r\n4. DRM 初始化相应的AIX 命令从操作系统释放该资源。\r\n\r\n5. AIX 命令调用内核中相应的函数。操作系统试图去停止指定的资源。如果不能停止使用该资源,系统将会返回一个错误信息给用户。 如果可以停止使用该资源, 操作系统将隔离该资源,关闭资源并且给该资源设置不可使用的状态。操作成功的信息将报告给HMC上的chhwres 命令。\r\n\r\n6. chhwres 命令调用全局固件和收回资源。\r\n\r\n7. chhwres 命令调用全局固件并把资源分配给分区。\r\n\r\n8. chhwres 命令根据配置资源的请求调用RMC。\r\n\r\n9. RMC通过网络建立同在分区上的RMC的连接并且传递该请求。该RMC的连接是在启动时建立的。\r\n\r\n10.RMC 根据配置资源的请求调用DRM。\r\n\r\n11.DRM 基于配置资源的请求通过调用相应的AIX命令为操作系统增加资源。 \r\n\r\n12.AIX命令初始化相应的操作系统函数,操作系统试图使用RTAS调用让特定的资源可用。 如果这个操作不成功,系统将会返回一个错误信息给用户。 如果操作成功, 操作系统控制该资源和固件,并将它们从资源缓冲池中移走。然后该资源被启动和解除隔离, 最后由操作系统配置\r\n\r\n漫谈IBM pSeries的逻辑分区和动态逻辑分区(五)\r\n\r\n一、时间的因素:\r\n\r\n 由于DLPAR操作的时间有可能非常长,时间对于DLPAR的操作是一个很重要的因素。例如,可能需要花费几分钟去重新配置一个大型数据库以便减少其使用的内存。系统实施DLPAR操作花费的时间依赖于请求的大小和在分区中需要改变的资源的状况。通常,移动一个CPU按秒来计算,移动1GB内存按分钟计算时间。\r\n\r\n 使用两个time-out值控制时间的超长使用,该值在一个DLPAR操作时应被考虑到。 \r\n\r\n 对于全部的操作的时间限制。\r\n\r\n 分配给需要重新配置的应用程序所需要的时间\r\n\r\n 全部的操作的时间的超时由用户通过HMC设定,缺省值是零。零值意味着操作系统会尽可能完成请求而没有时间超时的限制。 如果用户定义了一个非零值,操作系统将会在定义的时间点停止重新配置资源;然而,系统仍可以继续调用script和信号(signal),这些script和信号(signal)用于保证应用程序和操作系统一致性。如果请求的时间超出限制,资源不会被自动回滚到请求前的状态,系统会通知用户该命令只完成了一部分。\r\n\r\n 考虑到应用程序的time-out值,你必须区分两个应用程序窗口的通知。基于script机制的是同步调用(“DLPAR scripts” on page 116),调用script的drmgr命令将等待script结束或达到定义的time-out。 缺省的time-out值是10秒。但是,这个值可以通过script 重写, 也可以让用户通过用drmgr命令加上-w 选项在安装script 时重写。\r\n\r\n 基于API的管理器是异步被调用的。调用者总是在等待直到time-out值超出为止,不论管理器是否已经早些完成或根本没有完成。缺省的time-out值也是10秒但是不能显式的被重写。然而,这个API time-out值将会与总体的time-out值对比,如果总体的time-out值增加了,这个基于API管理器的time-out值也会随之增长。\r\n\r\n 注意:缺省的time-out值可以改变。\r\n\r\n二、动态 LPAR (5.2.0)如何动态分配CPU和内存\r\n\r\n 如前面介绍的,drmgr命令通过调用相应的命令处理所有动态重新配置的操作,并且控制重新配置资源的过程。\r\n\r\n下面是动态重新配置的一般流程:\r\n\r\n1. 采用ODM锁去确保ODM、 开放固件 (Open Firmware,OF)设备树和系统内核被自动更新。如果ODM锁保持了很长一段时间并且用户指明DLPAR操作有时间限制,这个步骤会失败。\r\n\r\n2. 动态重新配置命令读OF设备树。\r\n\r\n3. 动态重新配置命令调用系统内核按下面的步骤去启动DR操作:\r\n a. 确认请求。\r\n b. 锁住DR操作 ——— 在同一时刻只有处理一个操作\r\n c. 将请求存入全局系统内核的DR结构,用于传递操作信号(signal)的信息, 与DR命令异步运行。\r\n d. 开始检测阶段\r\n\r\n4. 检测被调用阶段的script。\r\n\r\n5. 检测该阶段信号(signal)的发出—在信号(signal)被发出后有条件的等待。\r\n\r\n6. 检测该阶段系统内核扩展(kernel extension)调用。 调用注册的内核扩展的Callback程序。\r\n\r\n 注意:在4、5、6步骤时,如果任何检测阶段处理的信号(signal)有错误,操作将失败。一旦检测阶段没有错误并且LPAR操作在预处理阶段,所有预处理阶段的应用控制将被调用,甚至如果应用控制调用失败,动态重新配置仍然被启动。\r\n\r\n7. 系统内核标记预预处理阶段的开始。\r\n \r\n8. 调用预处理阶段的script.\r\n\r\n9. 预处理阶段的信号(signal)被发出。\r\n\r\n10.系统内核标记“doit”阶段开始。 这是一个内部的阶段,通过它资源可以从系统内核中增加或移走。\r\n\r\n注意:11到13步骤基于请求可能会被重复。基于处理器的请求永远不会循环重复;在一次DLPAR操作中,同一时刻只有一个处理器可以被增加或移走。 如果有多于一个处理器需要增加和移走,HMC对每个处理器调用一次AIX。\r\n\r\n 基于内存的请求在逻辑内存块(LMB)级别循环,它需要256 MB内存段,直到全部的用户请求被满足。HMC在完成内存请求后远程调用AIX一次。\r\n\r\n11.此步骤只用于增加资源. 在这个过程中:OF设备树被更新;资源被分配、解除隔离和配置连接器。当资源被解除隔离时,该资源被分配给分区并且其所有权从FW转移到AIX。\r\n\r\n 对于处理器,全局和本地中断服务器信号(signal)被检测。\r\n 对于内存, 物理地址和尺寸被检测。\r\n\r\n12.调用系统内核去增加或移走资源.\r\n\r\n a. 注册系统内核扩展的Callback函数被调用。系统内核扩展被通知指定的资源正在被移走或增加。\r\n b. 系统内核的资源被移走或增加。\r\n c. 发送系统内核扩展阶段被调用。\r\n 如果a或b步骤失败,该操作将失败。\r\n\r\n13.该步骤只用于移走资源. OF被更新。资源被隔离并且不再分配。OF设备树必须保持更新以使得配置模式可以定义资源组,该资源组被配置并属于操作系统。\r\n\r\n14. 如果前面的步骤操作成功,系统内核标记发送阶段开始。\r\n\r\n15.调用配置方式,使得DR-aware应用和scripts可以看到ODM内的状态改变。\r\n\r\n16.发送script被调用。\r\n\r\n17.发送的信号(signal)被发送到注册的进程。\r\n\r\n18.系统内核清除动态重新配置的事件。\r\n\r\n19.释放ODM锁。\r\n\r\n下面内容介绍了AIX 5L 5.2版本上新增加的对动态移动和增加I/O插槽的支持的功能:\r\n\r\n三、动态 I/O 的移动和增加\r\n\r\n 动态移动和增加I/O适配器的功能在AIX 5L 5.2版本之前的热拔插功能中已经实现。为了允许动态增加和移动DLPAR系统的PCI插槽和集成的I/O设备,例如在p690、 p670和p630的DLPAR上,提供了增强型的命令:lsslot\r\n\r\n PCI插槽和集成的I/O设备可以通过lsslot命令使用新的连接类型显示出来:\r\n\r\n lsslot -c slot\r\n\r\n 命令的输出如下:\r\n \r\n \r\n# Slot Description Device(s)\r\n U1.5-P1-I1 DLPAR slot pci13 ent0\r\n U1.5-P1-I2 DLPAR slot pci14 ent1\r\n U1.5-P1-I3 DLPAR slot pci15\r\n U1.5-P1-I4 DLPAR slot pci16\r\n U1.5-P1-I5 DLPAR slot pci17 ent2\r\n U1.5-P1/Z1 DLPAR slot pci18 scsi0\r\n\r\n在上面的插槽被移走之前,PCI设备和所有相关的字节点需要先被删除。例如,在U1.5-P1-I5 插槽上的ent2设备如果现在没有使用,可以用下面的命令移走该设备:\r\n\r\nrmdev -l pci17 -d -R\r\n\r\n在设备从AIX中移走后,该插槽可以用HMC GUI或命令行接口从分区移走。\r\nGUI操作的图示如下:\r\n \r\n\r\n\r\n注意,该插槽在该分区的profile 中不能被定义为“required”状态,只能是“desired ”状态,或者在HMC 上没有给出移动此插槽的选项。如果要将前面移走的插槽再放回到系统中,需要首先用HMC将设备加到系统中,然后用cfgmgr命令将其加入到操作系统中。 |
|