ITPub博客

首页 > Linux操作系统 > Linux操作系统 > aix_2

aix_2

原创 Linux操作系统 作者:wangzhensheng 时间:2008-03-25 11:53:36 0 删除 编辑
aix_2[@more@]

===========================================

AIX 5L V5.3 中的存储管理
Shiv Dutta, 技术顾问, IBM

2005 年 4 月 14 日
2006 年 12 月 14 日 更新
AIX 5L? Version 5.3 集成了大量的特性,这使得它比以前的操作系统发布版具有更强大的功能。IBM? 顾问 Shiv Dutta 关注于 AIX 5L Version 5.3 中的一些特性,这些特性增强了逻辑卷管理器 (LVM) 和 Enhanced Journal File System (JFS2) 的范围、功能和性能。
引言
本文是对 2006 年 6 月发布的“AIX 5L V5.3 中的存储管理”这篇文章的更新。其中简要介绍了逻辑卷管理器 (LVM) 的范围、功能和性能,以及 Enhanced Journal Filesystem (JFS2) 的某些特性,Enhanced Journal Filesystem (JFS2) 在 5300-05 Technology Level (TL)(2006 年 8 月发布)的 AIX 5L? 中可用。在下面的讨论中,将对仅在 5300-05 TL 中可用的特性加以区分。
LVM 命令增强
在 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(常规、大容量和可扩展)
通常称为标准的或常规的 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 的 striped column 支持
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 的特性。


卷组 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 的 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 所示。

清单 1. lspv 命令
# 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 所示。

清单 2. lsvg 命令
# 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 系统中的逻辑卷。应用程序数据完整的副本可以在远程系统上快速地、轻松地重新联机。
mirscan 命令
这个命令用来搜索和修正无效的或无法执行 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 中,已对此特性的健壮性和用户友好性进行了加强。通过脚本控制增强了设置、自定义和验证操作。改善了安全硬连接和文件系统存根许可。
回滚功能(仅对 JFS2 文件系统可用)
将整个文件系统恢复到一个有效的指定时间点的快照(目标快照)。回滚操作尝试恢复目标快照时刻的快照。该目标快照之后进行的快照将丢失。
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 活动
支持缩小文件系统
在 5300-05 Technology Level(2006 年 8 月发布)中,JFS2 的性能得到了进一步增强。我们的目标是改善处于停顿状态的文件系统的重启时间以及正常的重启。
访问时间 (atime) 更新
JFS 异步提交 atime 更新 updates。在 5300-05 Technology Level(于 2006 年 8 月发布)之前,JFS2 按照与其他提交相同的方式对待它们。已对 JFS2 进行修改,使其工作方式与 JFS 相同。这减少了对日志进行 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 中获得的某些增强特性。有关这些增强的详细描述,请访问参考资料部分中列出的 Web 站点。



=================================================

系统管理员工具包: 交换空间管理和技巧
Martin C Brown (mailto:questions@mcslp.com), 自由撰稿人和顾问, MCslp

2006 年 12 月 31 日
配置交换空间(包括在紧急情况下添加空间)以充分利用您的系统。在本文中,您将了解如何监视系统以确定有效的交换空间配置数据,并研究将交换空间不只是用作辅助随机访问存储器 (RAM) 的方法。
关于本系列
典型的 UNIX? 管理员拥有一套经常用于辅助管理过程的关键实用工具、诀窍和系统。存在各种用于简化不同过程的关键实用工具、命令行链和脚本。其中一些工具来自于操作系统,而大部分的诀窍则来源于长期的经验积累和减轻系统管理员工作压力的要求。本系列文章主要专注于最大限度地利用各种 UNIX 环境中可用的工具,包括简化异构环境中的管理任务的方法。

UNIX 如何使用交换空间
所有 UNIX 操作系统都支持某种虚拟内存 (VM) 系统。使用 VM 系统,您有两个主要区域来存储有关活动应用程序及其使用的数据的信息——物理随机访问存储器 (RAM) 和硬盘驱动器上分配的空间。
在具有 VM 的计算机中,可加载到内存中的应用程序和数据量可以大于物理 RAM,因为没有活动地使用的应用程序和信息被交换 到了磁盘上(交换空间 这个术语由此得名)。
VM 系统的优点在于,物理 RAM 得到了更有效的利用——这是因为它仅包含正在执行的应用程序和正在使用的数据。由于 RAM 比硬盘空间快,您从活动地加载的应用程序中获得了所需的性能,同时还得益于能够运行比通常所支持的更多的应用程序。
其结果是您获得了大得多的可寻址内存空间(在 32 为系统上为 4GB,在 64 位系统上则更大),从而使得应用程序开发更加容易,同时仍然提供高性能。


设置交换空间值
您在计算机上配置的交换空间量主要取决于应用程序和操作系统。如果交换空间太小,则可能无法运行您希望运行的所有应用程序,而如果交换空间太大,则可能在浪费那些从未使用的磁盘空间。您可能还会间接地使得系统过载,因为与太小的交换空间相比,太大的交换空间会导致糟糕的性能,这是由于与系统执行实际处理所花的时间相比,它在换入和换出页面上所花的时间更多。
不同的 UNIX 变体以不同的方式使用它们的交换空间。有些变体仅在已经使用完物理内存时才使用交换空间。其他变体则对所有非活动的应用程序和未使用的页面使用交换空间。有些变体保留所有应用程序中的数据副本——同时包括内存和交换空间中的应用程序。缺省情况下,有些变体避免使用交换空间,并尽可能提供某种机制来允许您调整交换空间的使用方式。许多变体使用这些不同安排的组合来充分利用它们的交换空间。
例如在 Linux? 中,当您使用 2.6 内核时,可以通过设置 /etc/sysctl.conf 中的 vm.swappiness 值来调整系统的 swappiness。较高的值导致交换更多页面,较低的值导致将更多应用程序保留在内存中(即使这些应用程序处于空闲状态)。
除了这些基础之外,还有许多关于应该如何配置 VM 和应该分配多少磁盘空间的观点和规则。下面总结了其中一些方法:
有些管理员认为,您的交换空间决不应该少于物理 RAM。由于其中的 VM 使用方式,这是较旧的 UNIX 版本(尤其是 SunOS)的一个要求。从理论上讲,拥有比物理 RAM 更多的 VM 可以使操作系统能够在系统变得空闲时将所有当前进程换出到磁盘上,并且能够提高系统的性能,因为可以将新进程直接加载到 RAM 中,而不必预先交换应用程序。
对于开发系统,许多管理员都赞成应该有与 RAM 一样多的 VM。采用这种方法的原因在于,交换空间还在系统故障期间用作转储活动内存的位置;然后可以在启动期间重新加载所存储的内存转储,并将其保存为内核核心文件。如果所配置的交换空间小于物理 RAM,此类转储就无法实现。
在高性能部署环境中,由于您只希望将应用程序活动地保留在内存中,并且不需要大量的交换,您可以配置尽可能小的 VM。崩溃恢复不是必需的,而确定物理 RAM 的潜在缺乏(由于交换空间用尽)的能力可以提供警告,使您知道应用程序环境未得到优化或者您需要升级 RAM。
对于桌面环境,拥有非常大的 VM 分配可能对您有利,因为它使您能够运行大量的应用程序(其中许多应用程序可能是空闲的,可以容易地交换,从而使更多 RAM 对活动应用程序可用)。
选择正确的交换空间量很大程度上取决于您所配置的平台——其预期用途和您希望如何处理可用 VM 缺乏的情况。
下面是一些保守值:
在桌面系统上,至少分配与物理 RAM 一样多的交换空间。
在服务器上,至少分配可用 RAM 的 50% 作为交换空间。一旦头脑中有了大体数字,您就需要配置交换空间。


配置交换空间
所有 UNIX 系统都有多种类型的交换空间。主交换空间是通常在启动时配置的交换空间,并且通常是作为操作系统安装的一部分来设置的。所有 UNIX 系统通常都有一个主交换空间分配。
交换空间的创建和配置方式随不同的系统而异。在 Linux 下,用于交换的磁盘分区是通过分区 ID 来标识的,该分区必须通过 mkswap 命令来初始化: $ mkswap /dev/sda2

在大多数传统 UNIX 环境中,您可以使用任何可用分区而无需进行任何准备工作。在 HP-UX、AIX? 和 Linux 上,您可以使用 swapon 命令来将分区添加到可用的交换空间: $ swapon /dev/sda2

在 Solaris 上,您可以使用 swap 命令来将交换空间添加到系统: $ swap -a /dev/dsk/c0t0d0s2

请注意,以这种方式添加的交换空间在重新启动后不会保留。若要永久地将交换空间添加到系统,您必须配置启动配置文件之一来自动启用交换空间分配。
添加启动时交换空间
在大多数 UNIX 变体下,交换空间都是作为内核初始化的一部分在启动时自动添加的。大多数变体使用文件系统安装文件(/etc/fstab、/etc/vfstab 或 /etc/filesystems)中的行来指定要用作交换空间的分区。您可以从 Solaris 的 /etc/vfstab 文件中看到这样一个示例(请参见清单 1)。

清单 1. 在 Solaris 中指定要用作交换空间的分区
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/dsk/c0d0s1 - - swap - no -
/dev/dsk/c0d0s0 /dev/rdsk/c0d0s0 / ufs 1 no -
/dev/dsk/c0d0s7 /dev/rdsk/c0d0s7 /export/home ufs 2 yes -
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -


清单 2 显示了 Linux 中的 /etc/fstab 文件示例。

清单 2. 在 Linux 中指定要用作交换空间的分区
#

/dev/sda1 /boot ext2 noauto,noatime 1 1
/dev/sda3 / ext3 noatime 0 0
/dev/sda2 none swap sw 0 0
/dev/hda1 /var/lib/mysql ext3 noatime 1 2
/dev/hdb1 /export/data ext3 noatime 1 2
/dev/hde1 /export/home ext3 noatime 1 2
/dev/hde2 /var/tmp ext3 noatime 1 2
/dev/hde3 /usr/portage/distfiles ext3 noatime 1 2
/dev/hde4 /tmp ext3 noatime 1 2

/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
none /proc proc defaults 0 0


最后,您可以在 AIX 中使用 /etc/swapspaces 文件来配置交换空间分区(请参见清单 3)。

清单 3. 使用 /etc/swappspaces 文件来配置交换空间分区
* This file is modified by the chps, mkps and rmps commands and referenced
* by the lsps and swapon commands.

hd6:
dev = /dev/hd6

paging00:
dev = /dev/paging00

paging01:
dev = /dev/paging01


您应该使用对应的命令或 Smitty 工具来修改该文件内容,而不要直接编辑该文件。
若要删除额外的交换空间,您可以使用对应的 swapoff 或 swap -d 命令来禁用该交换分区。然而要注意,您只能禁用当前未使用的交换分区,并且不能禁用主交换分区。


添加临时交换容量
有时您可能会用尽已配置的交换空间分区,从而在短时间内需要更多 VM,直到您能够组织某种更永久性的解决方案。如果有某个分区可用,您可以按照上面在配置交换分区部分中的介绍来准备它。
如果没有空余的分区可用,您可以创建一个或多个文件,并将它们临时添加到可用交换池中。大多数系统甚至允许您在 NFS 安装的文件系统上使用交换文件,当您没有本地磁盘空间可用时,就可以使用这样的文件系统。
若要将文件用于交换空间,请首先创建一个适当的文件。mkfile> 命令在这里最合适,因为它提供了创建大型文件的简单方法。您可以在命令行指定文件名和文件大小: $ mkfile 512m /export/data/swapfile

然后可以像添加分区一样添加该文件: $ swap -a /export/data/swapfile
or
$ swapon /export/data/swapfile

以这种方式使用的交换文件通常决不是针对交换空间问题的长期解决方案。您应该尽快为交换空间配置专用分区。
监视交换空间使用情况
交换空间及其使用情况的监视包括两个方面:当前使用情况和活动使用情况。您可以在各种 UNIX 变体中找到一批不同的工具,它们报告可用空闲内存和 VM 使用情况以及当前使用情况。
在 Solaris 下,swap 工具提供了大多数交换接口功能,包括报告使用情况和可用设备。例如,若要获得已配置的交换设备列表,可参见清单 4。

清单 4. 在 Solaris 下监视交换空间使用情况
$ swap -l
swapfile dev swaplo blocks free
/dev/dsk/c0d0s1 102,1 8 1220928 1220928


在 清单 4 中,您可以看到您有一个完全未使用的交换设备。
在 AIX 下,您可以使用 lsps 工具来获得同样的信息(请参见清单 5)。

清单 5. 在 AIX 下使用 lsps 来监视交换空间
$ lsps -a

Page Space Physical Volume Volume Group Size %Used Active Auto
hd6 hdisk0 rootvg 2048MB 3 yes yes


在 Linux 下,您可以使用 swapon 工具,如清单 6 所示。

清单 6. 在 Linux 下使用 swapon 工具
$ swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 1004052 319744 -1


对于 HP-UX,您可以使用 swapinfo,如清单 7 所示。

清单 7. 使用 swapinfo 来监视交换空间

swapinfo -t
Kb Kb Kb PCT START/ Kb
TYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAME
dev 2097152 0 2097152 0% 0 - 1 /dev/vg00/lvol2
reserve - 1468224 -1468224
memory 3299740 1220268 2079472 37%
total 5396892 2688492 2708400 50% - 0 -


在上述每个示例中,您都可以看到可用交换空间位置列表及其用途,并大致了解交换空间的当前使用量情况。
这些快照视图非常有用,但它们仅显示了当前使用情况。其中有关交换空间的定期或全面使用情况的信息非常少。出于性能的考虑,或者在诊断您怀疑可能与交换空间有关的问题时,您通常需要内存和分页使用情况的更加交互式的视图。


活动 VM 监视
vmstat 命令可以提供虚拟内存使用情况的长期视图,包括提供有关交换空间与 RAM 之间正在活动地交换的内存量的信息。在命令行上,您需要指定要在报告统计信息时使用的间隔(以秒为单位)。结果输出显示了大量的信息,并且可用于做出有关 VM 配置和分配的决策。
清单 8 显示了针对 Solaris 计算机的输出示例(间隔为五秒)。

清单 8. 针对 Solaris 计算机的示例输出

kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr cd cd cd cd in sy cs us sy id
0 0 0 945932 385632 9 36 13 0 1 0 100 3 0 0 0 413 172 87 0 36 63
0 0 0 944616 384068 0 8 3 0 0 0 0 0 0 0 0 654 21 51 0 1 99
0 0 0 944612 384064 0 0 0 0 0 0 0 0 0 0 0 596 21 52 0 1 99
0 0 0 944612 384064 0 0 0 0 0 0 0 0 0 0 0 694 12 48 0 1 99
0 0 0 944612 384064 0 0 0 0 0 0 0 5 0 0 0 658 11 50 0 1 99
0 0 0 944612 384064 0 0 0 0 0 0 0 0 0 0 0 576 18 52 0 1 99
0 0 0 944500 383988 115 850 1 0 0 0 0 0 0 0 0 612 1656 120 1 5 94
0 0 0 942060 382444 6 62 0 0 0 0 0 0 0 0 0 669 256 146 0 2 98
0 0 0 942048 382432 9 105 0 0 0 0 0 0 0 0 0 699 414 188 0 2 98
0 0 0 946188 388188 481 2400 10 10 10 0 0 5 0 0 0 595 12613 6082 6 18 76
0 0 0 944488 386308 769 4753 1 8 8 0 0 7 0 0 0 625 15705 6285 8 29 63
0 0 0 943128 385104 839 5194 176 9 9 0 0 14 0 0 0 579 16077 6304 8 32 60
0 0 0 937692 377628 32 209 2 0 0 0 0 2 0 0 0 654 403 131 0 2 97
0 0 0 937228 377208 0 0 0 0 0 0 0 0 0 0 0 647 38 63 0 1 99
0 0 0 937220 377200 121 980 0 0 0 0 0 0 0 0 0 623 1246 218 1 6 93
0 0 0 937348 377320 126 1044 2 1 1 0 0 3 0 0 0 667 1266 228 1 7 93
0 0 0 937428 377408 57 686 0 0 0 0 0 0 0 0 0 702 890 180 1 5 94
0 0 0 937436 377404 72 861 0 0 0 0 0 54 0 0 0 689 1113 295 1 6 93


其中存在许多列——有些列比另一些列更重要。关键的列包括:
swap——显示可用的总交换空间
free——显示空闲的交换空间量
pi——换入的千字节数
po——换出的千字节数
fr——空闲的千字节数
非常低的空闲空间量和较高的换入或换出页数可能表明 VM 不足,非常高的换入和换出页数可能表明物理 RAM 不足。


将交换空间用于临时存储
在某些 UNIX 变体下,特别是 Solaris 和 Linux,您可以使用 tmpfs 文件系统;该文件系统使用 VM 作为存储空间。当您有充足的 RAM 时,这提供了支持超快速磁盘访问的理想方法;未使用的文件将交换到磁盘上。其结果是实现了快速访问最常用文件的高效解决方案,并且它可以显著提高应用程序速度,例如软件开发,其中要在编译过程期间创建大量的临时文件。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8806316/viewspace-1001440/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: aix_1
请登录后发表评论 登录
全部评论

注册时间:2013-01-02

  • 博文量
    137
  • 访问量
    260335