在 AIX 5L Version 5.3 中,对下列的 LVM 命令进行了改进以增强它们的性能,比如与以前的 AIX® 发行版中的对应命令相比,它们需要的执行时间更短:
-
extendvg
-
importvg
-
mkvg
-
varyonvg
-
chlvcopy
-
mklvcopy
-
lslv
-
lspv
经典并发模式卷组 (Volumn Group, VG) 仅支持串行 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 类型,支持最多 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 个磁盘的体系结构。
下面的介绍了不同 VG 类型的配置限制的差异。请注意,用户可定义 LV 的最大数目等于每个 VG 的 LV 最大数目减 1,因为将保留一个 LV 给系统使用。因此,系统管理员可以在常规 VG、大容量 VG 和可扩展 VG 中分别配置 255、511 和 4095 个 LV。
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 类型。
AIX 5L Version 5.3 提供了针对 LV 的 striped column 支持。这个新的特性允许 striped column 的扩展,即使磁盘阵列中的一个 PV 已满。在以前的 AIX 发行版中,只要定义磁盘阵列(独立磁盘的冗余阵列)的磁盘组中有足够的 PP,您就可以使用 extendlv
命令来增大 stripe LV 的大小。要扩展 stripe LV 以超过磁盘容量所规定的硬限制,唯一的办法就是重新构建整个 LV。您需要备份并删除该 striped LV,然后使用更大的 stripe 宽度重新创建 LV,接下来还要对 LV 数据进行相应的还原操作。为了克服这个耗时的过程所带来的缺点,AIX 5L Version 5.3 为 LV 引入了 striped column 的概念。
在 AIX 5L Version 5.3 以前,在创建 LV 时通过下列两种方法来确定 stripe LV 的 stripe 宽度:
- 所有 PV 名称的直接说明
- 分配给该 striped LV 的 PV 的最大数目的说明
在 AIX 5L 以前,对 striped LV 的配置不允许超过 stripe 宽度的上限。在 AIX 5L Version 5.3 中,该上限可以为 stripe宽度的倍数。由 stripe宽度确定的一组磁盘,将被看作一个 striped column 。请注意,如果您使用的是 RAID 10 配置,那么这个上限值与镜像副本的数目无关。
如果您使用 extendlv
命令将 stripe LV 扩展为超过第一个 striped column 的物理限制,那么 AIX 使用一整组新的磁盘来实现对附加逻辑分区的分配请求。如果您需要进一步扩展 LV,那么可以根据需要添加更多的 striped column ,只要不超过其上限。chlv -u
命令允许您增大这个上限,以便为 striped LV 的扩展提供附加的净空。您还可以使用增强的 extendlv
命令的 -u
标志,这样可以在一项操作中同时完成增大上限并扩展 LV。
对用户命令 mklv
、chlv
、extendlv
和 mklvcopy
进行了增强以支持 AIX 5L Version 5.3 中引入的 striped column 的特性。
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 的 stripe大小大于所使用的 LTG 的大小,并且显著地扩展了有效 stripe大小的范围。Version 5.3 添加了对 2 MB、4 MB、8 MB、16 MB、32 MB、64 MB 和 128 MB 的 stripe大小的支持,以对以前的 AIX 发行版中 4 KB、8 KB、16 KB、32 KB、64 KB、128 KB、256 KB、512 KB 和 1 MB 的 stripe大小选项进行补充。
在 AIX 5L Version 5.2 中,通过 chvg
或 mkvg
命令的 -L
标志来设置 LTG 大小。在 AIX 5L Version 5.3 中,通过 varyonvg
命令对其进行设置,并且使用 -M
标志。因此,所创建的 LTG 大小称为可变 LTG 大小。
下列命令将 tmpvg VG 的 LTG 大小设置为 512 KB:
# varyonvg -M512K tmpvg |
LTG 大小的单位指定为 K 或 M,分别表示 KB 或 MB。当使用 -M
标志设置 LTG 大小时,如果磁盘的最大传输大小小于该 LTG 大小,那么 varyonvg
和 extendvg
命令可能会执行失败。要找出您的磁盘所支持的最大 LTG 大小,可以使用带 -M
标志的 lquerypv
命令。其输出结果给出了以 KB 为单位的 LTG 大小,如下面的示例所示。
# /usr/sbin/lquerypv -M hdisk0 256 |
lspv
命令将这个相同的值显示为 MAX REQUEST,如下面的清单 1 所示。
# lspv hdisk0 PHYSICAL VOLUME: hdisk0 VOLUME GROUP: rootvg PV IDENTIFIER: 000bc6fdbff92812 VG IDENTIFIER 000bc6fd00004c00000000fda469279d PV STATE: active STALE PARTITIONS: 0 ALLOCATABLE: yes PP SIZE: 16 megabyte(s) LOGICAL VOLUMES: 9 TOTAL PPs: 542 (8672 megabytes) VG DESCRIPTORS: 2 FREE PPs: 431 (6896 megabytes) HOT SPARE: no USED PPs: 111 (1776 megabytes) MAX REQUEST: 256 kilobytes FREE DISTRIBUTION: 108..76..30..108..109 USED DISTRIBUTION: 01..32..78..00..00 |
通过 lsvg
命令,可以列举正在使用的 LTG 的值,如下面的清单 2 所示。
# lsvg rootvg VOLUME GROUP: rootvg VG IDENTIFIER: 000bc6fd00004c00000000fda469279d VG STATE: active PP SIZE: 16 megabyte(s) VG PERMISSION: read/write TOTAL PPs: 542 (8672 megabytes) MAX Lvs: 256 FREE PPs: 431 (6896 Megabytes) LVs: 9 USED PPs: 111 (1776 megabytes) OPEN LVs: 8 QUORUM: 2 TOTAL PVs: 1 VG DESCRIPTORS: 2 STALE PVs: 0 STALE PPs: 0 ACTIVE PVs: 1 AUTO ON: yes MAX PPs per VG: 32512 MAX PPs per PV: 1016 MAX PVs: 32 LTG size (Dynamic): 256 kilobyte(s) AUTO SYNC: no HOT SPARE: no BB POLICY: relocatable |
请注意,在 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
命令将会失败。
Geographic Logical Volume Manager (GLVM)
它扩展了 LVM 的镜像功能并支持使用 TCP/IP 网络连接的远程 AIX 系统中的逻辑卷。应用程序数据完整的副本可以在远程系统上快速地、轻松地重新联机。
这个命令用来搜索和修正无效的或无法执行 I/O 操作的物理分区。它在下列情况下非常有用:
- 基础存储上的物理分区无法执行 I/O 操作,但很长时间内并没有对该物理分区进行 I/O 操作。客户需要一种监测和修正这种情况的方法。
- 将要更换一块磁盘。客户需要确保不会从系统中删除最近的有效数据副本。
单根卷组 (root volume group) 上 AIX 的多个实例 (multibos)。
该特性允许用户在正在运行的 rootvg 中创建一个新的 AIX 基本操作系统 (BOS) 实例。建立于正在运行的 rootvg 上的这个新的实例,包含了私有的和共享的数据。备用磁盘安装中也提供了类似的特性。尽管有些相似之处,但多个基本操作系统在下列一些非常重要的方面存在着 区别:
- 新的实例构建于正在运行的根卷组(类似于 alt_disk_install 克隆操作)。
- 新的实例位于当前的根卷组(例如,相同的磁盘)中。
- rootvg 中的某些数据可以在实例之间进行共享。
在 2006 年 8 月发布的 5300-05 Technology Level 中,已对此特性的健壮性和用户友好性进行了加强。通过脚本控制增强了设置、自定义和验证操作。改善了安全硬连接和文件系统存根许可。
将整个文件系统恢复到一个有效的指定时间点的快照(目标快照)。回滚操作尝试恢复目标快照时刻的快照。该目标快照之后进行的快照将丢失。
通过实现磁盘使用配额来控制永久存储的使用,AIX 5L Version 5.3 扩展了 JFS2 的功能。
可以基于每个文件系统为单独的用户和组设置磁盘配额。
版本 5.3 还引入了限制类的概念。它允许对每个文件系统限制进行配置,提供了删除旧的或失效的配额记录的方法,并通过专用的 SMIT 面板提供了全面的支持。它还提供了一种方法来定义一组磁盘块和文件分配的硬、软限制,以及软限制强制实施为硬限制前的过渡期。
同一系统中可以同时使用 JFS2 和 JFS 的配额支持。
AIX 5L Version 5.3 支持动态地缩小 JFS2 文件系统。当文件系统的大小减少时,该文件系统所处的 LV 的大小也会减少。
AIX 5L Version 5.3 在 logredo 方面提供了下列增强,以改进性能并支持大量的文件系统:
- 支持卷组中的次要编号大于 512
- 支持写时拷贝和缓存式更新,以减少 I/O 活动
- 支持缩小文件系统
在 5300-05 Technology Level(2006 年 8 月发布)中,JFS2 的性能得到了进一步增强。我们的目标是改善处于停顿状态的文件系统的重启时间以及正常的重启。
JFS 异步提交 atime 更新 updates。在 5300-05 Technology Level(于 2006 年 8 月发布)之前,JFS2 按照与其他提交相同的方式对待它们。已对 JFS2 进行修改,使其工作方式与 JFS 相同。这减少了对日志进行 I/O 操作的数量。
AIX 5L Version 5.3 增强了 Helper 的实现,它专门为 JFS2 文件系统执行文件系统检查。新的代码更好地利用了系统资源,并且包括了提高可扩展性和性能的算法。
从 AIX 5L Version 5.3 开始,Enhanced Journaled File System 支持 NFS version 4 的 ACL。这样使得您可以为文件系统对象建立细粒度的访问控制,并且支持继承特性。