1. 为什么服务器需要分区
2. 什么是物理分区(PPAR)和逻辑分区(LPAR)
3. UNIX服务器分区技术比较
4. IBM UNIX服务器p690逻 辑分区的实现
1. 为什么服务器需要分区
近一、两年来,UNIX服务器的分区技术成为一个热点。分区技术在某些应用领域的确能带来实际的好处,但也不能一概而论。这些年分区技术的作用有被逐渐夸大的趋势,在有些时候还被描述成无所不能的技术。
那么,为什么需要分区?分区技术能带来多大的好处?我们从以下几方面来考虑:
- 服务器集中
服务器的集中管理和应用模式的集中可以减少总拥有成本(TCO)。这是目前的一个趋势。这种集中式的应用模式加上服务器的分区管理为客户提供了一种更好的使用服务器的方式,同时可降低系统管理方面开销。
- 隔离生产环境和测试环境
在一台物理的机器上,一个分区作为生产环境;另一个分区作为测试环境。它们有各自独立的系统环境,互不干扰。这是一个很诱人的工作模式。
- 提高硬件的使用率
当一个较大的应用实例不能充分发挥整个机器的硬件能力时,可考虑将其划分成若干个较小的应用实例,运行在机器不同的逻辑分区上,以提高整体的生产能力。
- 隔离不同的应用环境
如果应用程序需要不同的系统环境(例如时钟)时,可将其运行在不同的逻辑分区上。
- 提高硬件资源分配的灵活性
在业务高峰时,为该应用分配更多的系统资源(如CPU、内存等)。这通过调整不同逻辑分区之间的硬件资源来实现。
2. 什么是物理分区(PPAR)和逻辑分区(LPAR)
在一个大型的SMP系统中,硬件资源如CPU、内存和I/O等被组织为一个物理单元。这样的物理单元结合在一起,运行一个操作系统映像。如图1所示,三个物理单元上运行两个操作系统映像。
图1. 物理分区
逻辑分区是将SMP系统中的硬件资源(如CPU、内存和I/O等)逻辑的进行划分。它不依赖于任何的物理单元。如图2所示,八个CPU分属于三个逻辑分区中(其中一个CPU未属于任何分区)。
图2. 逻辑分区
3. UNIX服务器分区技术比较
到目前为止,IBM、SUN、HP和Compaq这四个主要UNIX服务器厂商都有相应的机型支持分区技术。图3是这四个厂家分区技术的比较。
IBM
|
Sun(E10000)
|
HP
|
Compaq
| |
Max # of partitions |
16
|
16
|
16
|
8
|
Min # CPUs/partition |
1
|
System Board(1-4)
|
4(in the1st release)
|
QBB(1-4)
|
Min Memory partition |
1GB
|
System Board(256MB-4GB)
|
All memory in a cell (4GB minimum)
|
1GB
|
Memory increments |
256MB
|
256MB
|
2GB
|
1GB
|
Max memory in a partition |
256GB
|
64GB
|
256GB
|
256GB
|
Min # of I/O slots/partition |
1
|
4 SBus or 2 PCI
|
12
|
14
|
I/O slot increment |
1
|
1
|
12
|
12
|
Max I/O slots in a partition |
120
|
64 SBus or 32 PCI
|
192
|
224
|
Multiple OS Versions indifferent partition |
Yes,starting with AIX 5.1 |
Yes
|
Yes,starting with HP-UX 11i |
Yes,Tru64 & VMS |
Dynamic reconfiguration |
Yes,startingat R2 |
Yes
|
Yes,startingwith R2
|
Not yet announced (preannounced to customers) |
图3. UNIX服务器分区技术比较
从表中我们可以看到,IBM UNIX服务器真正做到了逻辑分区。而其它厂商的UNIX服务器的分区是基于物理分区的,其逻辑分区没有摆脱物理分区的限制,即在一个物理分区中的资源(如有两个CPU)只能同属于一个逻辑分区,不能分别属于两个逻辑分区。这种限制在实际运用中会给客户带来诸多不便,甚至需要客户配置更多的硬件设备才能实现一个较实用的逻辑分区划分。
逻辑分区(LPAR)技术并不是系统上某一单独部件能完成的,它依赖于软件、硬件和固件(firmware)的协同工作才能实现。
首先,CPU能支持更多的系统调用(称作系统管理程序Hypervisor模式)。另外要求CPU实模式访问内存地址时具有寻址偏移量的能力。同样,I/O bridge也必须支持I/O卡的DMA地址到内存地址的偏移量,因为这些地址也是由Hypervisor映射的。图4是Hypervisor的功能示意图。
对于固件(firmware),必须新增支持Hypervisor的功能。主要包括:虚拟内存管理、调试寄存器/内存的访问和虚拟TTY支持。
图4. Hypervisor
除了Hypervisor之外,当系统重置后运行在Open Firmware一层(称作Global)能够访问系统中所有的设备和数据。当系统划分逻辑分区后,存在另一个Open Firmware,它运行在Global上面。每一个分区有自己的分区固件,它可以访问属于自己分区内的所有设备,但是不能访问其它分区内的设备。如图5所示,固件和AIX之间的关系。
图5. Firmware和AIX之间的关系
p690有一个专门的控制台,称作HMC(Hardware Management Console)。逻辑分区的设置也是通过HMC来完成。见图6所示。
图6. 通过HMC设置LPAR
各个逻辑分区上的系统只能操作本分区内的资源,就象自己是一个独立的系统一样。如果某一分区内的系统瘫痪,不会影响到其它分区内的系统运行。
另外,从p690硬件的高可靠性设计来看,已经将硬件故障造成整个系统瘫痪的可能性降到了最低点。即使在某个分区内发生了不可自动修复的硬件故障,只能造成这一分区的系统停止,而不会影响到其它分区内的系统。
这里简单介绍了IBM UNIX服务器逻辑分区技术,更详细的内容请参见IBM技术白皮书和相关的技术文档。