AIX 5L™ Version 5.3 集成了大量的特性,这使得它具有比以前的操作系统发行版更强大的功能。IBM® 顾问 Shiv Dutta 关注于 AIX 5L Version 5.3 中的一些特性,这些特性增强了逻辑卷管理器 (LVM) 和 Enhanced Journal File System (JFS2) 的范围、功能和性能。
引言
本文最初发表 2005 年 4 月,标题为 AIX 5L Version 5.3 中的逻辑卷管理器,其中讨论了 AIX 5L™ Version 5.3 中的一些特性,这些特性增强了逻辑卷管理器 (LVM) 的范围、功能和性能。在2005 年 9 月发布的 5300-03 维护级中对 AIX 5L 进行了重大的增强。而本文是对 2005 年 4 月发表的文章的更新和扩展。其中原有的内容几乎完全保留了下来,在此基础上本文进行了扩充,包括讨论 5300-03 维护级中引入的一些 LVM 增强。另外,对其范围进行了扩大以包括 AIX 5L Version 5.3 和 5300-03 维护级中引入的对 Enhanced Journal File System (JFS2) 的大量改进。在下面的讨论中,我使用了表达方式 (5300-03) 来表示所引用的特性仅在 5300-03 维护级和更高版本中可用。
LVM 命令增强
在 AIX 5L Version 5.3 中,对下列的 LVM 命令进行了改进以增强它们的性能,比如与以前的 AIX® 发布版中的对应命令相比,它们需要的执行时间更短:
extendvg
importvg
mkvg
varyonvg
chlvcopy
mklvcopy
lslv
lspv
并发模式(经典的和增强的)
经典并发模式卷组 (VGs) 仅支持串行 DASD 和 SSA 磁盘以及 32 位内核。通过引入了所谓的增强并发模式 VG,AIX 5L Version 5.1 克服了所支持的磁盘类型的限制,增强并发模式对并发模式进行了扩展以支持所有其他的磁盘类型。尽管 AIX 5L Version 5.2 不允许创建经典并发模式 VG,但是的确提供了对它们的支持。而在 AIX 5L Version 5.3 中则彻底地删除了对经典并发模式 VG 的支持。如果在 AIX 5L Version 5.3 中试图导入经典并发模式 VG,那么将产生一个错误消息以通知用户将该 VG 转换为增强并发模式。
VG(常规、大容量和可扩展)
通常称为标准的或常规的 VG 类型,支持最多 32 个物理卷 (PV)。一个标准的或常规的 VG 是指每个 PV 不超过 1016 个物理分区 (PP),并且每个 VG 的逻辑卷的上限为 256。随后引入了一种新的 VG 类型,即大容量 VG。一个大容量 VG 支持多达 128 个 PV 和最多 512 个 LV。
AIX 5L Version 5.3 引入了一种称为可扩展的卷组(可扩展 VG)的新的 VG 类型。一个可扩展 VG 支持最多 1024 个 PV 和 4096 个 LV。PP 的最大数目适用于整个 VG,而不再根据每个磁盘对其进行定义。这使得我们能够通过较大数量的 PP,以较少数量的磁盘和细粒度的存储分配选项来配置 VG,其中这些 PP 的容量很小。可扩展 VG 可以容纳多达 2,097,152 (2048 K) 个 PP。与旧的 VG 类型一样,其大小使用兆字节为单位,并且大小变量必须等于 2 的整数幂。PP 的大小范围从 1 (1 MB) 开始,最大为 131,072 (128 GB)。这要比 AIX 5L Version 5.2 中的常规和大容量 VG 类型的最大值 1024 (1 GB) 大两个数量级。新的最大 PP 大小提供了支持 256 PB 个磁盘的体系结构。
下面的表 1 介绍了不同 VG 类型的配置限制的差异。请注意,用户可定义 LV 的最大数目等于每个 VG 的 LV 最大数目减 1,因为将保留一个 LV 给系统使用。因此,系统管理员可以在常规 VG、大容量 VG 和可扩展 VG 中分别配置 255、511 和 4095 个 LV。
表 1. VG 的配置限制
VG 类型 | PV 最大数目 | LV 最大数目 | 每个 VG 的 PP 最大数目 | PP 最大容量 |
常规 VG | 32 | 256 | 32,512 (1016 * 32) | 1 GB |
大容量 VG | 128 | 512 | 130,048 (1016 * 128) | 1 GB |
可扩展 VG | 1024 | 4096 | 2,097,152 | 128 GB |
AIX 5L Version 5.3 中可扩展 VG 的实现,为给定的新 VG 类型的实例可以拥有的 PV 和 LV 数目提供了配置灵活性。该配置选项允许任何可扩展 VG 包含 32、64、128、256、512、768 或 1024 个磁盘以及 256、512、1024、2048 或 4096 个 LV。在为将来潜在的增长创建 VG 时,不需要配置 1024 个 PV 和 4096 个 LV 的最大值。通常可以在需要的时候增大初始设置。
System Management Interface Tool (SMIT) 和 Web-based System Manager Graphical User Interface 完全支持这种可扩展 VG。对现有的与 VG 管理任务相关的 SMIT 面板进行了更改,并且为可扩展 VG 类型添加了许多新的面板。例如,可以使用新的 SMIT 快速路径 _mksvg 来直接访问 Add a Scalable VG SMIT 菜单。
对用户命令 mkvg、chvg 和 lsvg 进行了增强以支持可扩展 VG 类型。
针对 LV 的条带列支持
AIX 5L Version 5.3 提供了针对 LV 的条带列支持。这个新的特性允许条带列的扩展,即使磁盘阵列中的一个 PV 已满。在以前的 AIX 发布版中,只要定义磁盘阵列(独立磁盘的冗余阵列)的磁盘组中有足够的 PP,您就可以使用 extendlv 命令来增大条带 LV 的大小。要扩展条带 LV 以超过磁盘容量所规定的硬限制,唯一的办法就是重新构建整个 LV。您需要备份并删除该条带 LV,然后使用更大的条带宽度重新创建 LV,接下来还要对 LV 数据进行相应的还原操作。为了克服这个耗时的过程所带来的缺点,AIX 5L Version 5.3 为 LV 引入了条带列的概念。
在 AIX 5L Version 5.3 以前,在创建 LV 时通过下列两种方法来确定条带 LV 的条带宽度:
所有 PV 名称的直接说明
分配给该条带 LV 的 PV 的最大数目的说明
在 AIX 5L 以前,对条带 LV 的配置不允许超过条带宽度的上限。在 AIX 5L Version 5.3 中,该上限可以为条带宽度的倍数。由条带宽度确定的一组磁盘,将被看作一个条带列。请注意,如果您使用的是 RAID 10 配置,那么这个上限值与镜像副本的数目无关。
如果您使用 extendlv 命令将条带 LV 扩展为超过第一个条带列的物理限制,那么 AIX 使用一整组新的磁盘来实现对附加逻辑分区的分配请求。如果您需要进一步扩展 LV,那么可以根据需要添加更多的条带列,只要不超过其上限。chlv -u 命令允许您增大这个上限,以便为条带 LV 的扩展提供附加的净空。您还可以使用增强的 extendlv 命令的 -u 标志,这样可以在一项操作中同时完成增大上限并扩展 LV。
对用户命令 mklv、chlv、extendlv 和 mklvcopy 进行了增强以支持 AIX 5L Version 5.3 中引入的条带列的特性。
卷组 pbuf 池
LVM 使用一个称为 pbuf 的组成部件来控制挂起的磁盘 I/O。pbuf 是一个固定内存缓冲区。通常,LVM 为每个单独的 I/O 请求使用一个 pbuf,而不管传输的数据量有多大。在向 VG 添加新的 PV 时,AIX 创建了额外的 pbuf。在以前的 AIX 发布版中,pbuf 池是一种系统范围的资源,但是在 AIX 5L Version 5.3 中,LVM 为每个 VG 分配和管理一个 pbuf 池。对于那些具有大量 VG 的系统来说,这种增强可以支持高级的可扩展性和性能,并且适用于所有的 VG 类型。因为有了新的 pbuf 池的实现,AIX 可以显示和管理附加的 LVM 统计信息和调整参数。
现在,AIX 5L Version 5.3 中包括了 lvmo 命令。它为与新的 pbuf 池相关的管理任务提供了支持。您可以使用 lvmo 命令来显示 pbuf 和阻塞 I/O 的统计信息和 pbuf 可调参数的设置,不管该实体的范围是系统范围还是 VG 特定的。然而,lvmo 命令只允许更改专门用于特定 VG 的LVM pbuf 可调参数的设置。ioo 命令继续管理系统范围的单独的 pbuf 可调参数。另外,与以前的 AIX 发布版一样,vmstat -v 命令仍用于显示整个系统中由于缺少空闲 pbuf 而阻塞的 I/O 的数目。
可变的逻辑磁道组
当 LVM 接收到一项 I/O 请求,在将请求传递到磁盘的设备驱动程序之前,它将 I/O 分解为逻辑磁道组 (LTG) 的大小。LTG 是 LV 的最大传输大小,并且对于 VG 中所有的 LV 都是一样的。AIX 5L Version 5.2 接受 128 KB、256 KB、512 KB 和 1024 KB 的 LTG 值。然而,现在许多磁盘都支持大于 1 MB 的传输大小。为了利用更大的传输大小并获得更好的磁盘 I/O 性能,AIX 5L Version 5.3 接受 128 KB、256 KB、512 KB、1 MB、2 MB、4 MB、8 MB 和 16 MB 的 LTG 大小值。
与以前的发布版相比,AIX 5L Version 5.3 还允许 LV 的条带大小大于所使用的 LTG 的大小,并且显著地扩展了有效条带大小的范围。Version 5.3 添加了对 2 MB、4 MB、8 MB、16 MB、32 MB、64 MB 和 128 MB 的条带大小的支持,以对以前的 AIX 发布版中 4 KB、8 KB、16 KB、32 KB、64 KB、128 KB、256 KB、512 KB 和 1 MB 的条带大小选项进行补充。
在 AIX 5L Version 5.2 中,通过 chvg 或 mkvg 命令的 -L 标志来设置 LTG 大小。在 AIX 5L Version 5.3 中,通过 varyonvg 命令对其进行设置,并且使用 -M 标志。因此,所创建的 LTG 大小称为可变 LTG 大小。
下面的命令将 tmpvg VG 的 LTG 大小设置为 512 KB:
|
LTG 大小的单位指定为 K 或 M,分别表示 KB 或 MB。当使用 -M 标志设置 LTG 大小时,如果磁盘的最大传输大小小于该 LTG 大小,那么 varyonvg 和 extendvg 命令可能会执行失败。要找出您的磁盘所支持的最大 LTG 大小,可以使用带 -M 标志的 lquerypv 命令。其输出结果给出了以 KB 为单位的 LTG 大小,如下面的示例所示。
|
lspv 命令将这个相同的值显示为 MAX REQUEST,如下面的清单 1 所示。
清单 1. lspv 命令
|
通过 lsvg 命令,可以列举正在使用的 LTG 的值,如下面的清单 2 所示。
清单 2. lsvg 命令
|
请注意,在 lsvg 命令的输出结果中,将 AIX 5L Version 5.3 中创建的 VG 的 LTG 大小显示为 Dynamic,如上面的清单 2 所示。
缺省情况下,AIX 5L Version 5.3 将创建具有可变 LTG 大小的 VG。如果您需要将其导入到以前的 AIX 发布版,您首先需要通过 mkvg 或 chvg 的 -I 选项禁用可变 LTG,然后依次使用 varyoffvg 和 exportvg 命令,否则对以前的发布版执行的 importvg 命令将会失败。
地理分布的逻辑卷管理器 (GLVM) (5300-03)
它扩展了 LVM 的镜像功能并支持使用 TCP/IP 网络连接的远程 AIX 系统中的逻辑卷。应用程序数据完整的副本可以在远程系统上快速地、轻松地重新联机。
mirscan 命令 (5300-03)
这个命令用来搜索和修正无效的或无法执行 I/O 操作的物理分区。它在下列情况下非常有用:
基础存储上的物理分区无法执行 I/O 操作,但很长时间内并没有对该物理分区进行 I/O 操作。客户需要一种监测和修正这种情况的方法。
将要更换一块磁盘。客户需要确保不会从系统中删除最近的有效数据副本。
单个根卷组上的多个 AIX 实例(多个基本操作系统)(5300-03)
该特性允许用户在正在运行的 rootvg 中创建一个新的 AIX 基本操作系统 (BOS) 实例。建立于正在运行的 rootvg 上的这个新的实例,包含了私有的和共享的数据。备用磁盘安装中也提供了类似的特性。尽管有些相似之处,但多个基本操作系统在下列一些非常重要的方面存在着区别:
新的实例构建于正在运行的根卷组(类似于 alt_disk_install 克隆操作)。
新的实例位于当前的根卷组(例如,相同的磁盘)中。
rootvg 中的某些数据可以在实例之间进行共享。
回滚功能(仅在 JFS2 文件系统中可用)(5300-03)
将整个文件系统恢复到一个有效的指定时间点的快照(目标快照)。回滚操作尝试恢复目标快照时刻的快照。该目标快照之后进行的快照将丢失。
JFS2 的磁盘配额支持
通过实现磁盘使用配额来控制永久存储的使用,AIX 5L Version 5.3 扩展了 JFS2 的功能。
可以基于每个文件系统为单独的用户和组设置磁盘配额。
版本 5.3 还引入了限制类的概念。它允许对每个文件系统限制进行配置,提供了删除旧的或失效的配额记录的方法,并通过专用的 SMIT 面板提供了全面的支持。它还提供了一种方法来定义一组磁盘块和文件分配的硬、软限制,以及软限制强制实施为硬限制前的过渡期。
同一系统中可以同时使用 JFS2 和 JFS 的配额支持。
缩小文件系统
AIX 5L Version 5.3 支持动态地缩小 JFS2 文件系统。当文件系统的大小减少时,该文件系统所处的 LV 的大小也会减少。
JFS2 logredo 的可扩展性
AIX 5L Version 5.3 在 logredo 方面提供了下列增强,以改进性能并支持大量的文件系统:
支持卷组中的次要编号大于 512
支持写时拷贝和缓存式更新,以减少 I/O 活动
支持缩小文件系统
JFS2 文件系统检查灵活性
AIX 5L Version 5.3 增强了 Helper 的实现,它专门为 JFS2 文件系统执行文件系统检查。新的代码更好地利用了系统资源,并且包括了提高可扩展性和性能的算法。
针对 NFS V4 的 JFS2 ACL 支持
从 AIX 5L Version 5.3 开始,Enhanced Journaled File System 支持 NFS version 4 的 ACL。这样使得您可以为文件系统对象建立细粒度的访问控制,并且支持继承特性。
结束语
AIX 5L Version 5.3 中具有许多本文中尚未介绍的特性。希望本文带给您的是您所期望的最新 AIX 版本的新加强功能。
关于作者
Shiv Dutta 是 IBM Systems and Technology Group 的一名技术顾问,他帮助独立软件供应商在 IBM System p 服务器上启用他们的应用程序。Shiv 有作为软件开发人员、系统管理员和讲师的丰富经验。他在 AIX 的系统管理、问题确定、性能调优和规模指导方面提供支持。Shiv 在 AIX 诞生之时就从事这方面的工作。您可以通过 sdutta@us.ibm.com 与 Shiv 联系。