分类:
2008-04-20 13:07:25
刘 恺, 技术支持工程师, IBM科技产品(深圳)有限公司 2007 年 12 月 13 日 本系列文章旨在带领读者探索 AIX 6.1 中的新特性和对 AIX 5L 中已有功能的增强,并了解这些新特性对用户的影响。首先我们会做一个全面而概括的介绍,然后再针对其中一些亮点独立成篇进行详细介绍。 IBM 于 2007 年 11 月对外发布了 AIX 6.1 操作系统,在这之前曾经发布过三个 Open Beta,相信许多用户和合作伙伴已经接触到了 IBM 在新版本 AIX 中提供的新特性。本系列文章旨在带领读者探索 AIX 6.1 中的新特性和对 AIX 5L 中已有功能的增强,并了解这些新特性对用户的影响。首先我们会做一个全面而概括的介绍,然后再针对其中一些亮点独立成篇进行详细介绍。 AIX 6.1 在开发阶段时的版本代号起初是 5.4,由于 POWER 6 处理器的发布,IBM 为了突出 AIX 对 POWER 6 处理器的支持,并与新处理器的命名保持一致,后来将这个新版本定为 AIX 6。因此 AIX 6 虽然提供了很多的新特性和增强,但依然很好的保持了与 AIX 5L 之间的兼容性,绝大多数应用程序在二进制兼容的支持下,不需要做修改即可以运行。IBM 与第三方软件厂商之间也在紧密合作,对第三方软件产品(如 Oracle 数据库)进行兼容性认证,相信不用多久,许多第三方软件商即会发布自己的产品与 AIX 6.1 之间的兼容认证信息。 细心的读者可能会注意到比起之前的 AIX 5L,AIX 6 在名称中已经去掉了“L”。这并不代表 AIX 6 已经取消了对 Linux 的支持。相反,由于对 Linux 的兼容支持已经彻底融入 AIX 6,并且 Linux 操作系统也已经完全支持在 IBM POWER 平台上运行,因此 AIX 的名称上已经不再需要加上“L”来突出 Linux 支持。IBM 继续提供 AIX Toolbox for Linux Applications,为 AIX 准备了预编译好的一些常见 Linux 应用的 RPM 安装包(如 GCC,GNOME,KDE,Apache,PHP,Python 等等),可以直接在 AIX 上安装使用。 AIX 6.1 中,支持 CHRP(Common Hardware Reference Platform)架构的平台和以下处理器:
以下处理器的支持已经被移除:
在 AIX 5L 中,同时提供了 32 位和 64 位的内核。当使用 32 位内核时,系统只支持 32 位的代码,而在 64 位内核模式下,32 位和 64 应用程序都得到支持。下表给出了 AIX 各版本支持的内核。
从 AIX 5.3 开始,已经不再支持单处理器内核。而从 AIX 5.2ML 03 和 5.3 开始,新安装系统的已经默认是 64 位多处理器内核。在 AIX 6.1 中,由于老的处理器已经不再支持,因此 32 位内核也被移除。AIX 6.1 中的 64 位内核保持了对 32 位和 64 位应用程序的二进制兼容,32 位应用程序的兼容性不会受到影响。32 位的内核扩展和驱动程序则必须移植到 64 位才能与 AIX 6.1 保持兼容。 AIX 6.1 中提供了图形化安装界面的支持,要启用该方式,必须要满足以下先决条件:
图形化安装有以下限制:
AIX 6.1 中的图形化安装界面为初级用户提供了一个快速和直观的安装界面,可以帮助用户在一个全新的系统上快速安装。对于高级用户,选择旧的文本安装模式则更加合适。 AIX 6.1 提供了对系统资源更加细粒度的控制手段,可以对每用户的进程数量和每进程的线程数量进行限制。与其他的 ulimit 限制一样,可以通过 chuser 命令对某个用户的资源限制进行永久修改,也可以用 ulimit 命令对当前 Shell 的限制进行动态修改。 下表给出了 AIX 5.3 和 6.1 系统上 ulimit –a 命令的输出:
修该用户的进程数限制可以使用命令 ulimit –a 或者 chuser nproc=X nproc_hard=Y 修改每进程的线程数可以使用命令 ulimit –r 或者 chuser threads=X threads_hard=Y 在 AIX 5L 中,pthread 线程的默认模型是 m:n 方式,而从 AIX 6.1 开始,默认改为了 1:1 方式。这两种方式在系统中通过 AIXTHREAD_SCOPE 环境变量来进行控制。如果设置 AIXTHREAD_SCOPE=P,则线程模型为进程域(M:N 模型),设置 AIXTHREAD_SCOPE=S 则为系统域(1:1 模型)。 1:1 模型下,每个用户空间的线程都对应于内核中的一个线程,线程的调度由内核在系统全局范围进行;而 M:N 模型下,多个用户线程对应于内核中的多个内核线程,用户线程调度仅限于在本进程范围内进行,而对应的内核线程则交由内核进行调度。许多应用程序例如数据库和 Java 应用要求设置为 1:1 方式以提供更好的性能,在 AIX 5L 中这些应用程序会要求配置 AIXTHREAD_SCOPE 环境变量,而在 AIX 6.1 中默认即为为 1:1 方式,不再需要进行配置。 关于 AIX 线程模型的更详细信息,可以参见 AIX 信息中心: IBM POWER 处理器支持使用不同的页面大小来管理内存,在 AIX 中也提供了各种机制来使用各种大小的内存页。
以上几种内存页大小中,Large page 和 Huge page 的使用对应用程序来讲与普通的内存页不同,应用程序必须要针对其进行特别设计,并单独配置、分配和管理。64 KB 作为 POWER 5+ 处理器新增的尺寸,在 AIX 5.3 中需要通过 LDR_CNTRL 环境变量来为应用程序指定,使用时对应用透明。而在 AIX 6.1 中为 64 KB 页提供了自动的支持:当运行在 POWER 6 处理器上时,AIX 6.1 会根据情况,在需要时自动将 16 个 4 KB 页归并成为一个 64 KB 页对待,或者将一个 64 KB 页自动拆开成为 16 个 4 KB 页进行操作。使用 svmon 命令的 -P 参数可以查看进程的 64 KB 页使用的情况 AIX 6.1 支持的最大物理内存大小达到了 32TB,相比于之前版本的最大 16TB,提供了更大的内存空间,为支持更大规模的应用负载做好了准备。 IBM AIX 从 5.3 开始提供了 NFS v4 协议的支持,相比于 NFS v2, v3,NFS v4 优势在于:
在 AIX 6.1 中,NIM 已经与 NFS v4 集成到了一起,在创建资源时可以指定 NFS 协议版本和认证方式,进一步提高了 NIM 的灵活性和安全性。 AIX 6.1 中的 X-window 系统升级到了 Release 7.1,并为以前的 R5 和 R6 版本提供了兼容文件,以支持老旧的应用程序。 AIX 6.1 进一步增强了国际化支持,包括以下几个方面:
在 AIX 6.1 中新增加了以下措施,以增强 LVM 系统的可用性:
gsclvmd 子系统的故障处理和记录功能得到了增强,gsclvmd 进程会对出现的故障进行归类记录并采取相应的动作,比如关闭磁盘卷组。 AIX 6.1 中的 JFS2 文件系统现在支持以无日志的模式来 mount,此模式可以提高 JFS2 I/O 性能,但是在出现故障时也无法通过日志记录来恢复文件系统错误。无日志模式适用于数据完整性不太重要,或者数据能够很容易的重新恢复的情况,如将文件备份恢复到磁盘时,将文件系统用作临时存储时。 要使用无日志模式,可以在 mount 文件系统时使用 -o log=NULL 参数,或者编辑 /etc/filesystems 文件,修改该文件系统对应的 log 属性条目。 从 AIX 5.2 开始,JFS2 文件系统即支持创建快照 (Snapshot)。快照是文件系统在某个时刻的状态和内容的记录,自快照创建后,它的内容即固定下来了。一个文件系统可以有多个快照,快照可以直接备份,或者供原文件系统作为回滚点。在 AIX 6.1 以前,JFS2 文件系统的快照必须保存在一个单独的逻辑卷(LV)上,从 AIX 6.1 开始新引入的内联快照(Inline Snapshot)允许快照内容保存在原文件系统上,访问和管理更加方便快捷。 内联快照保存在该文件系统的 /mount_point/.snapshot/snapshot_nam e 目录下,可以直接进入该目录查看和访问内容。SMIT 菜单也做了相应增强,与外部快照一样,可以对文件系统创建内联快照并直接进行备份。 AIX 6.1 中新增加的 EFS( 加密文件系统 ) 提供了细粒度的文件加密支持,用户可以选择对某个文件或者目录进行透明加密,文件在写入磁盘时自动加密,从磁盘读入到内存时自动解密。只有持有密钥的用户,才被允许访问加密后的数据。在需要对敏感数据进行保护的环境中,EFS 可以提供很好的保护。 要使用 EFS,必须安装 AIX 6.1 Expansion Pack 光盘上的 Crypto Library 软件包(clic.rte 文件集),并开启 RBAC 支持(默认即处于开启状态)。 需要注意的是:
在 AIX 5L 中,AIO 的管理接口以 aio0 和 posix_aio0 两个设备的形式出现,AIO 子系统默认不会加载,如要启动 AIO 支持,需要将 aio 设备启用,重新启动系统后才能生效。对 AIO(minservers/maxservers/maxreqs)参数的调整,需要使用 chdev 命令修改 aio0 或者 posix_aio0 设备的属性,然后重启。从 AIX 5.3 TL5 开始,引入了 aioo 命令,使得对 minservers/maxservers/maxreqs 参数的调整可以动态进行,不需要重新启动系统。 AIX 6.1 中,AIO 的支持更加动态。AIO 子系统默认即加载,但不激活。应用程序发起 AIO 请求时,AIX 内核会自动激活 AIO 子系统。对 AIO 参数的调整与其他 I/O 参数一样统一使用 ioo 命令。 |