探索 AIX 6:新特性概述(上)

Comments

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)架构的平台和以下处理器:

  • POWER 4:pSeries p6xx 服务器
  • POWER 5/5+:pSeries p5,System p5 服务器
  • POWER 6:System p 570 和 JS22 刀片服务器
  • PowerPC 970:JS20 和 JS21 刀片服务器

以下处理器的支持已经被移除:

  • RS64
  • POWER 3
  • 604

只提供 64 位内核,32 位内核已经被去除。

在 AIX 5L 中,同时提供了 32 位和 64 位的内核。当使用 32 位内核时,系统只支持 32 位的代码,而在 64 位内核模式下,32 位和 64 应用程序都得到支持。下表给出了 AIX 各版本支持的内核。

AIX 5.2 AIX 5.3 AIX 6.1
unix_up (32 位单处理器内核) ×
unix_mp (32 位多处理器内核) × ×
unix_64 (64 位多处理器内核) × × ×

从 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 中提供了图形化安装界面的支持,要启用该方式,必须要满足以下先决条件:

  • 服务器必须安装有有受支持的显卡,键盘和鼠标,以及一个 DVD 驱动器
  • 必须使用 DVD 介质进行启动安装

图形化安装有以下限制:

  • 安装程序启动后选择语言,之后的安装进程都以默认参数进行
  • 安装过程开始后,会回到旧的文本安装界面显示安装进程
  • 如果需要设置安装参数,如安装的目标硬盘,软件、安全选项,安装模式(新安装、保留安装、迁移),则必须选择退出到传统的文本安装模式进行配置。

AIX 6.1 中的图形化安装界面为初级用户提供了一个快速和直观的安装界面,可以帮助用户在一个全新的系统上快速安装。对于高级用户,选择旧的文本安装模式则更加合适。

限制每用户的进程数量和每进程的线程数量

AIX 6.1 提供了对系统资源更加细粒度的控制手段,可以对每用户的进程数量和每进程的线程数量进行限制。与其他的 ulimit 限制一样,可以通过 chuser 命令对某个用户的资源限制进行永久修改,也可以用 ulimit 命令对当前 Shell 的限制进行动态修改。

下表给出了 AIX 5.3 和 6.1 系统上 ulimit –a 命令的输出:

AIX 5.3 AIX 6.1
ulimit -a time(seconds)unlimited
file(blocks)2097151
data(kbytes)131072
stack(kbytes)32768
memory(kbytes)32768
coredump(blocks)2097151
nofiles(descriptors) 2000
time(seconds)unlimited
file(blocks)2097151
data(kbytes)131072
stack(kbytes)32768
memory(kbytes)32768
coredump(blocks)2097151
nofiles(descriptors) 2000
threads(per process) unlimited
processes(per user)unlimited

修该用户的进程数限制可以使用命令 ulimit –a 或者 chuser nproc=X nproc_hard=Y

修改每进程的线程数可以使用命令 ulimit –r 或者 chuser threads=X threads_hard=Y

线程模型(Threading Model)默认从进程域 (M:N 模型 ) 改为系统全局域 (1:1 模型 )

在 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 信息中心:

http://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.prftungd/doc/prftungd/thread_tuning.htm

POWER 6 上的动态可变的内存页大小支持

IBM POWER 处理器支持使用不同的页面大小来管理内存,在 AIX 中也提供了各种机制来使用各种大小的内存页。

  • 4 KB 这是 POWER 4/5/6+/6 和 PowerPC 970 处理器都支持的内存页面大小,也是默认的大小。
  • 64 KB POWER 5+ 处理器开始支持此页面大小,在 AIX 5.3 TL4 中开始提供支持。
  • 16 MB 从 POWER 4 处理器开始支持,又称为大内存页(Large page),使用前需要使用 vmo 命令来设置 lgpg_regions 和 lgpg_size 两个参数。
  • 16 GB POWER 5+ 处理器开始提供支持,又称为巨内存页(Huge page),需要在 HMC 中为分区设置。

以上几种内存页大小中,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,提供了更大的内存空间,为支持更大规模的应用负载做好了准备。

NIM NFS4 支持

IBM AIX 从 5.3 开始提供了 NFS v4 协议的支持,相比于 NFS v2, v3,NFS v4 优势在于:

  • 提供更强的安全性
  • 文件锁的支持成为 NFS 协议内置的一部分
  • 提供更高的性能
  • 支持 ACL,能进行更加细致的访问控制

在 AIX 6.1 中,NIM 已经与 NFS v4 集成到了一起,在创建资源时可以指定 NFS 协议版本和认证方式,进一步提高了 NIM 的灵活性和安全性。

X-Windows 升级

AIX 6.1 中的 X-window 系统升级到了 Release 7.1,并为以前的 R5 和 R6 版本提供了兼容文件,以支持老旧的应用程序。

国际化支持加强

AIX 6.1 进一步增强了国际化支持,包括以下几个方面:

  • 对 Unicode 标准的支持升级到了 5.0,提供了更新更完整的国际化字符集支持。
  • 为 5 种新的语言提供本地化支持。
  • 时区支持数据库更新。

存储、I/O 和文件系统

LVM 配置和跟踪日志

在 AIX 6.1 中新增加了以下措施,以增强 LVM 系统的可用性:

  • lvmcfg 日志:alog 日志新增一个类型为 lvmcfg,记录了系统中所执行的 LVM 管理命令,参数,时间,进程 ID 和返回值等信息。使用 alog –t lvmcfg –o 可以查看。
  • LVM tracing 日志:通过设置环境变量 LVMT_VERBOSE 或者配置文件 /etc/lvmtlog.cfg,可以设置 LVM 操作的跟踪日志级别,共 0-9 级的日志,可以记录下大量的信息供管理员或者 IBM 支持工程师分析。LVM tracing 日志位于 /tmp/lvmt.log 文件中,可以通过 alog –t lvmt –o 命令查看。
  • gsclvmd 日志增强:gsclvmd 是 HACMP 所需要的,支持并发卷组(Concurrent VG)的服务进程。在之前的 AIX 中,它的日志记录到 /tmp 下面的多个文本文件中,并且默认是关闭的。AIX 6.1 中对其做了增强,统一到 alog 框架下,并且与 LVM tracing 日志类似,可以设置日志级别。其日志内容通过 alog –t lvmgs –o 来查看。

gsclvmd 故障管理增强

gsclvmd 子系统的故障处理和记录功能得到了增强,gsclvmd 进程会对出现的故障进行归类记录并采取相应的动作,比如关闭磁盘卷组。

JFS2 无日志模式

AIX 6.1 中的 JFS2 文件系统现在支持以无日志的模式来 mount,此模式可以提高 JFS2 I/O 性能,但是在出现故障时也无法通过日志记录来恢复文件系统错误。无日志模式适用于数据完整性不太重要,或者数据能够很容易的重新恢复的情况,如将文件备份恢复到磁盘时,将文件系统用作临时存储时。

要使用无日志模式,可以在 mount 文件系统时使用 -o log=NULL 参数,或者编辑 /etc/filesystems 文件,修改该文件系统对应的 log 属性条目。

JFS2 内联快照

从 AIX 5.2 开始,JFS2 文件系统即支持创建快照 (Snapshot)。快照是文件系统在某个时刻的状态和内容的记录,自快照创建后,它的内容即固定下来了。一个文件系统可以有多个快照,快照可以直接备份,或者供原文件系统作为回滚点。在 AIX 6.1 以前,JFS2 文件系统的快照必须保存在一个单独的逻辑卷(LV)上,从 AIX 6.1 开始新引入的内联快照(Inline Snapshot)允许快照内容保存在原文件系统上,访问和管理更加方便快捷。

内联快照保存在该文件系统的 /mount_point/.snapshot/snapshot_name 目录下,可以直接进入该目录查看和访问内容。SMIT 菜单也做了相应增强,与外部快照一样,可以对文件系统创建内联快照并直接进行备份。

加密文件系统

AIX 6.1 中新增加的 EFS( 加密文件系统 ) 提供了细粒度的文件加密支持,用户可以选择对某个文件或者目录进行透明加密,文件在写入磁盘时自动加密,从磁盘读入到内存时自动解密。只有持有密钥的用户,才被允许访问加密后的数据。在需要对敏感数据进行保护的环境中,EFS 可以提供很好的保护。

要使用 EFS,必须安装 AIX 6.1 Expansion Pack 光盘上的 Crypto Library 软件包(clic.rte 文件集),并开启 RBAC 支持(默认即处于开启状态)。

需要注意的是:

  • /,/usr,/var,/opt 不能够开启 EFS 支持。
  • 现有的 JFS2 文件系统可以通过 chfs 来开启 EFS 支持,但无法进行反向转换。
  • 开启 EFS 支持的文件系统不支持通过 NFS 输出。
  • 备份软件需要更新以支持对加密信息的正常备份。AIX 内置命令如 tar,backup,cpio 已经支持 EFS,但是需要注意,包含有加密信息的备份(如 tar 包)必须要在 AIX 6.1 上才能解开还原。
  • 加密会对文件 I/O 性能造成一定影响,在性能敏感的应用环境中需要充分考虑 EFS 带来的影响。
  • 经过加密后的文件并不会占用额外的磁盘空间,但是由于加密信息使用 EA2(Extended Attributes 2)格式存储,每个文件需要额外的 4KB 空间,对于包含大量小文件的文件系统,将有一定的影响。

iSCSI 增强

  • 支持 iSCSI 软件 target 模式,可以将一个磁盘或者 LV(逻辑卷)通过以太网 TCP/IP 方式输出给其他 iSCSI initiator 使用。
  • iSCSI 启动支持,通过软件 Initiator 或者硬件 iSCSI TOE 卡,从 iSCSI 存储设备上启动操作系统。AIX 6.1 在进行安装时,提供了一个 iSCSI 设置菜单来进行相关的配置。
  • iSNS 协议支持。iSNS(Internet Storage Name Service)协议帮助 iSCSI Initiator 和 Target 注册到网络上的一个中心数据库,查询和发现其他设备,简化 iSCSI 磁盘设备的配置。AIX 6.1 包含了对 iSNS 协议的支持,除了传统的文本文件方式配置 iSCSI target 的方式,还可以设置成通过 iSNS 协议来发现 iSCSI 存储。

AIO 动态调整

在 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 命令。


相关主题

  • 本系列的第 2 部分:在本文中,我们介绍了网络,性能,虚拟化和可管理性方面的变化。
  • 本系列的第 3 部分:本文为最后一篇,向您介绍了关于可用性、安全性以及开发方面的一些新的特性和功能。
  • 本系列的第 4 部分:在本文中,我们一起来了解使用 AIX 6 系统自带的工具(系统命令和 SMIT 菜单)对 WPAR 进行基本的管理操作,包括创建,删除,启动,停止,登录,挂起,备份和恢复等,并了解 WPAR 对系统环境的要求和安装前期应该进行的计划准备工作。
  • AIX 6 资源中心:你可以从这里找到更多和 AIX 6 相关的资源。
  • IBM AIX Version 6.1 Differences Guide:从这个红皮书中你可以得到详细的针对 AIX 6 的新特性的描述,重点向您介绍了它和 AIX V5.3 之间的一些区别和提高。
  • 访问 developerWorks AIX and UNIX 专区 以获取提高您的技能所需的资源。
  • 您是 AIX 和 UNIX 新手吗?请访问 “AIX and UNIX 新手入门”页 以了解更多信息。

评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=277024
ArticleTitle=探索 AIX 6:新特性概述(上)
publish-date=12132007