门当户对简思书包网:IBM p 系列管理员认证(存储管理、LVM 和文件系统)上---转载

来源:百度文库 编辑:九乡新闻网 时间:2024/03/29 16:01:45

IBM p 系列管理员认证(存储管理、LVM 和文件系统)上

aix使用日志  2008-05-17 10:26  阅读73   评论0 字号:大大 中中 小小

本章将介绍存储管理、逻辑卷管理(Logical Volume Management,LVM)和文件系统支持问题。本文是摘自 IBM红皮书《IBM Certification Study Guide - pSeries AIX System Administration》。

逻辑卷存储概念

五个基本的逻辑存储概念是:物理卷(PV)、卷组(VG)、物理分区(PP)、逻辑卷(LV)和逻辑分区(LP)。图 1 显示了这些概念之间的关系。

关于图 1,可以得出以下结论:

  • 每个单独的硬盘驱动器称为一个物理卷(physical volume,PV),并具有一个名称(例如:hdisk0、hdisk1 或 hdisk2)。
  • 所有物理卷属于一个名为 rootvg 的卷组(volume group,VG)。
  • 一个卷组中的所有物理卷划分为相同大小的物理分区(physical partition,PP)。
  • 每个卷组中定义了一个或多个逻辑卷(logical volume,LV)。

逻辑卷是位于物理卷上的信息的分组。逻辑卷上的数据在用户看来像是连续的,但是在物理卷上可以是不连续的。

  • 每个逻辑卷由一个或多个逻辑分区(logical partition,LP)组成。每个逻辑分区对应于至少一个物理分区。如果为逻辑卷指定了镜像,则可以分配额外的物理分区来存储每个逻辑分区的额外副本。
  • 逻辑卷可用于许多系统目的(例如,内存分页),但是保存普通系统、用户数据或程序的每个逻辑卷仅包含单个日记记录文件系统(journaled file system,JFS)。每个 JFS 由一个块池组成,每个块的大小为内存页大小 (4 KB)。在 AIX Version 4.1 及更高版本中,可以将某个给定的文件系统定义为具有小于 4 KB(512 字节、1 KB、2 KB)的分段大小。

在安装之后,系统具有一个由启动系统所必需的基本逻辑卷集组成的卷组(rootvg 卷组),以及您在安装脚本中指定的任何其他卷组。

逻辑卷管理器

允许您建立和控制逻辑卷存储的操作系统命令、库子例程和其他工具的集合称为逻辑卷管理器(Logical Volume Manager,LVM)。LVM 通过在存储空间的一个更简单和更灵活的逻辑视图和实际物理磁盘的之间映射数据,从而控制磁盘资源。

LVM 配置数据

描述 LVM 组件的数据并不保存在一个位置。了解有关卷组、逻辑卷和物理卷的该描述数据保存在多个位置,这一点很重要。

对象数据管理器(Object Data Manager,ODM)数据库

ODM 数据库是保存大多数 AIX 系统配置数据的地方。ODM数据库包含有关所有已配置的物理卷、卷组和逻辑卷的信息。该信息镜像了 VGDA 中存在的信息。例如,导入 VGDA的过程涉及到自动将所导入卷组的 VGDA 数据复制到 ODM 中。在导出某个卷组时,将从 ODM 数据库中删除 ODM中保存的关于该卷组的数据。

ODM 数据还镜像了逻辑卷控制块 (Logical Volume Control Block) 中保存的信息。

卷组描述符区域(Volume Group Descriptor Area,VGDA)

VGDA位于每个物理卷的开头,其中包含的信息描述属于该物理卷所在卷组的所有逻辑卷和所有物理卷。几乎所有 LVM 命令都会更新 VGDA。VGDA使每个卷组拥有自己的描述信息。AIX 系统可以读取磁盘上的 VGDA,从而能够确定什么物理卷和逻辑卷属于该卷组。

每个磁盘至少包含一个 VGDA。这在 vary on 时是非常重要的。VGDA中的时间戳用于确定哪些 VGDA 正确反映了该卷组的状态。例如,当四个磁盘构成的卷组中有一个磁盘发生故障时,VGDA就会失去同步。当某个磁盘不可操作时,将无法更新该磁盘上的 VGDA。因此,当该磁盘恢复在线后,需要某种方法来更新此 VGDA,这就是 varyon 过程将要做的工作。

VGDA 是在将磁盘分配为物理卷(使用命令 mkdev)时进行分配的。这只是在磁盘的开头为 VGDA 保留一段空间。

实际的卷组信息是在将该物理卷分配到某个卷组(使用 mkvg 或 extendvg 命令)时放在 VGDA 中的。

当从卷组中删除某个物理卷(使用 reducevg 命令)时,将从 VGDA 中删除卷组信息。

卷组状态区域(Volume Group Status Area,VGSA)

VGSA 包含有关物理分区和物理卷的状态信息。例如,VGSA 知道某个卷组中的某个物理卷是否不可用。

卷组描述符区域和卷组状态区域都具有非常重要的开始和结束时间戳。这些时间戳使 LVM 可以在 vary on 时确定 VGDA 和 VGSA 的最新副本。

LVM 要求所选 VGDA 的时间戳与所选 VGSA 的时间戳相同。

逻辑卷控制块(Logical Volume Control Block,LVCB)

LVCB 位于每个逻辑卷的开头。其中包含有关该逻辑卷的信息,并占用几百个字节的空间。

下面的示例显示了如何使用 getlvcb 命令来显示保存在逻辑卷 hd2 的 LVCB 中的信息:

# getlvcb -TA hd2
AIX LVCB
intrapolicy = c copies = 1
interpolicy = m lvid = 00011187ca9acd3a.7
lvname = hd2
label = /usr machine id = 111873000
number lps = 72
relocatable = y strict = y type = jfs upperbound = 32
fs = log=/dev/hd8:mount=automatic:type=bootfs:vol=/usr:free=false
time created = Tue Jul 27 13:38:45 1993
time modified = Tue Jul 27 10:58:14 1993

磁盘定额

卷组中的每个物理磁盘至少有一个 VGDA/VGSA。单个磁盘上包含的 VGDA 的数量随卷组中包含的磁盘数量而异,如表 1 所示。

表 1 VGDA 分配

条件 VGDA 分配 一个卷组中单个 PV 一个磁盘上两个 VGDA。 一个卷组中两个 PV 第一个磁盘上两个 VGDA,第二个磁盘上一个 VGDA。 一个卷组中三个或更多个 PV 每个磁盘上一个 VGDA。

定额是一种状态,即卷组中 51% 或更多的物理卷可访问。定额是对活动的卷组描述符区域和卷组状态区域 (VGDA/VGSA) 数量的表决。

定额确保在发生磁盘故障时的数据完整性。

当在单个磁盘之上创建一个卷组时,该卷组最初有两个 VGDA/VGSA 区域驻留在该磁盘上。如果某个卷组由两个磁盘组成,则一个磁盘仍然具有两个 VGDA/VGSA 区域,但是另一个磁盘只有一个 VGDA/VGSA。当卷组由三个或更多个磁盘组成时,则每个磁盘仅分配一个 VGDA/VGSA。

图 2 显示了由于过多的磁盘及其 VGDA/VGSA 不可访问而致使 51% 的大多数 VGDA/VGSA 不再存在时丧失定额的情况。

当定额丧失时,卷组将自身 vary off,逻辑卷管理器 (LVM) 不再能够访问其中的磁盘。这样可以防止对该卷组进行进一步的磁盘 I/O,从而防止数据丢失或假设在发生物理问题时已将数据写入。此外,由于卷组已 vary off,用户会在错误日志中得到通知,从而获悉发生了硬件错误并且必须执行维修。

当您希望使用磁盘镜像来确保高可用性时,这具有一些影响。在一个两磁盘镜像的系统中,如果第一个磁盘发生故障,则会丧失 VGDA 的 66%,并且整个物理卷将变得不可用。

这使得镜像的目的失效。因此,三个或更多个(并且一般为奇数个)磁盘单元可以提供更高程度的可用性,强烈建议在需要镜像时采用。

注意:可以关闭任何卷组上的磁盘定额保护。关闭定额保护使卷组即使在定额丧失或其大多数 VGDA 离线的时候也能保持在线。这将允许卷组在上述情况下保持在线。此功能提供了较廉价的镜像解决方案,但是确实存在数据丢失风险,因为在某个磁盘发生故障以后,虽然数据可访问,但是不再进行镜像。

磁盘镜像

磁盘镜像是两个或三个物理分区与某个逻辑卷中的每个逻辑分区的关联。当将数据写到逻辑卷上时,同时还会将数据写到与该逻辑分区关联的所有物理分区。因此,数据镜像提高了数据的可用性。

AIX 和逻辑卷管理器提供了逻辑卷级别的磁盘镜像功能。如果要建立镜像,可以在创建逻辑卷时进行。

mklv 命令允许您为每个逻辑卷选择一个或两个额外的副本。还可以使用 mklvcopy 命令向现有的逻辑卷添加镜像。

下列镜像因素可以进一步改进数据可用性:

  • 数据副本的数量:保留三个数据副本要比仅保留两个数据副本更加可靠。
  • 副本的位置:在不同的物理卷上分配某个逻辑分区的副本要比在同一个物理卷上分配副本更加可靠。这是因为,磁盘子系统的最常见错误模式之一是某个单独的物理磁盘失效。还可以跨不同的磁盘适配器定位副本,以进一步增强故障隔离效果。

mirrorvg 命令

mirrorvg 命令镜像某个给定卷组上的所有逻辑卷。

还可以针对某个卷组中的每个单独的逻辑卷运行 mklvcopy 命令,从而手动完成相同的功能。与 mklvcopy 一样,要镜像其数据的目标物理驱动器必须已经是该卷组的成员。此命令仅适用于 AIX Version 4.2.1 或更高版本。

下面是 mirrovg 命令的语法:

mirrorvg [ -S | -s ] [ -Q ] [ -c Copies] [ -m ] VolumeGroup

[ PhysicalVolume .. ]

缺省情况下,mirrovg 尝试将逻辑卷镜像到卷组中的任何一个磁盘上。mirrovg 命令使用被镜像的逻辑卷的缺省设置来镜像该逻辑卷。如果要违反镜像严格性或改变用于创建镜像的策略,您必须使用 mklvcopy 命令手动执行所有逻辑卷的镜像。

注意:由于复杂的错误检查、卷组中要镜像的逻辑卷的数量和同步新的镜像逻辑卷所花的时间,mirrorvg 命令可能要花很长的时间才能完成。

或者,您也可以使用 SMIT 快速路径命令 smitty mirrorvg 来执行卷组的镜像。

下面的示例显示了 mirrorvg 命令的用法:

  • 要三重镜像某个卷组,可以运行以下命令:

mirrorvg -c 3 workvg

保存在 workvg 上的逻辑卷中的逻辑分区现在具有三个副本。

  • 要获得 rootvg 的缺省镜像,可以运行以下命令。

mirrorvg rootvg

rootvg 卷组现在具有两个数据副本。

注意:当您尝试将某个从卷组中删除、更新然后返回的磁盘放回原始系统中时,可能会出现问题。不存在任何方法来控制哪个数据副本将用于重新同步另一个副本。

如果当磁盘在备份系统中时更改了任何 LVM 信息,那么即使将备份用于重新同步主磁盘,主系统也不会知道那些更改。LVM 更改包括:

创建、删除或扩展任何文件系统、分页空间和其他逻辑卷。

  • 要替换某个镜像卷组中的故障磁盘驱动器,可以运行以下命令:

unmirrorvg workvg hdisk7reducevg workvg hdisk7rmdev -l hdisk7 -d

将故障磁盘替换为新磁盘,并通过执行以下命令来将其命名为 hdisk7:

extendvg workvg hdisk7mirrorvg workvg

注意:缺省情况下,在此示例中,mirrorvg 将尝试为 workvg 中的逻辑卷创建两个副本。它会尝试将新的镜像创建到替换后的磁盘驱动器上。但是,如果原始系统已经进行了三重镜像,则可能不会在 hdisk7 创建新的镜像,因为逻辑卷的其他副本可能已经存在。

  • 下面的命令将同步新创建的镜像:

mirrorvg -S -c 3 workvg

-c 标志指定在 mirrorvg 命令执行完成后每个逻辑卷必须具有的最低副本数量。-S 标志立即返回 mirrorvg 命令,并在后台执行卷组的 syncvg。在对镜像进行同步时不会很明显,但是系统会在这些镜像同步就绪时立即使用它们。

  • 要创建准确的映射卷组,可以运行以下命令:

mirrorvg -m datavg hdisk2 hdisk3

-m 标志允许按照对原始副本进行排序的准确物理分区顺序对逻辑卷进行镜像。

Rootvg 镜像

当 rootvg 镜像完成时,必须执行以下三个任务:

1. 运行 bosboot 命令。

bosboot 命令从随机访问存储器 (RAM) 磁盘文件系统和内核创建一个启动文件(启动映像)。bosboot 命令是自定义新镜像的驱动器的引导记录 (bootrec) 所必需的。

2. 运行 bootlist 命令。

bosboot 命令始终保存磁盘的设备配置数据。它不会更新非易失性随机访问存储器 (NVRAM) 中的启动设备列表。NVRAM 列表可通过使用 bootlist 命令来进行修改。

3. 重新启动系统。

最后,mirrorvg 命令的缺省设置是将定额关闭。要更改 rootvg 卷组上的定额,必须重新启动系统。

注意:如果 bosboot 命令创建启动磁盘不成功,则不要重新启动计算机。应该解决问题并让 bosboot 命令运行成功完成。bosboot 命令需要 /tmp 文件系统和目标映像所驻留的文件系统(如果存在这样一个映像的话)中的一些空间。

非 rootvg 镜像

在镜像非 rootvg 卷组时,定额状态将被禁用。

要使定额的禁用生效,必须关闭所有打开的逻辑卷。然后 vary off 再 vary on 该卷组以使更改生效。

如果没有执行卷组的 vary on,则尽管镜像将会正确工作,但是定额更改将不会生效。

Rootvg 和非 rootvg 镜像

系统转储设备(主转储设备 /dev/hd6 和辅助转储设备 /dev/sysdumpnull)不应该进行镜像。在某些系统上,分页设备和转储设备是同一个设备。但是,大多数用户希望镜像分页设备。当 mirrorvg 检测到转储设备与分页设备相同时,则会自动镜像该逻辑卷。

如果 mirrorvg 检测到转储和分页设备是不同的逻辑卷,则会自动镜像分页设备,但是不会镜像转储逻辑卷。可以使用 sysdumpdev 命令来查询和修改转储设备。

管理物理卷

下面几个小节将讨论如何添加新的磁盘驱动器、更改物理卷特征和监视物理卷。

物理卷的配置

可以使用以下三种方法来配置新的磁盘驱动器。如果 LVM 将使用该磁盘,则还必须使该磁盘成为物理卷。

方法 1

在连接磁盘之前,如果可以关闭系统或关闭系统电源,则使用此方法。

当系统在添加磁盘驱动器之后启动时,系统会在启动过程中运行 cfgmgr 命令,此命令将自动配置该磁盘。当启动完成以后,作为 root 登录,运行 lspv,并在输出中查找新的磁盘条目,如以下示例所示。

hdisk1 none none 或 hdisk1 00005264d21adb2e none

上述示例中第二列的 16 位数字是物理卷标识符(physical volume identifier,PVID)。

如果输出显示了具有 PVID 的新磁盘,则 LVM 可以使用该磁盘进行配置。如果新磁盘没有 PVID,则使用第 132 页上的 6.3.2 节“使可用磁盘成为物理卷”中描述的过程来使 LVM 可以使用该磁盘。

方法 2

在连接磁盘之前,如果无法关闭系统或关闭系统电源,则可以使用此方法。请执行以下任务:

1. 运行 lspv 来列出系统上已经配置的物理磁盘,如下面的示例所示:

# lspv hdisk0 000005265ac63976 rootvg

2. 要配置系统上所有新检测到的设备(包括新磁盘),可以使用以下命令:

cfgmgr

3. 再次运行 lspv 并在输出中查找新的磁盘条目,如下面的示例所示:

hdisk1 none none 或 hdisk1 00005264d21adb2e none

一旦确定了新配置的磁盘的名称,则使用“使可用磁盘成为物理卷”中描述的过程来使 LVM 可以利用该磁盘。

方法 3

在连接磁盘之前,如果无法关闭系统或关闭系统电源,则可以使用此方法。此方法需要有关新磁盘的以下信息:

  • 该磁盘是如何连接的(子类)。
  • 该磁盘的类型(类型)。
  • 该磁盘连接到哪个系统附件(父节点名称)。
  • 该磁盘的逻辑地址(连接在何处)。

使用以下命令来配置该磁盘,并通过使用 pv=yes 属性来确保其可作为一个物理卷使用。

mkdev -c disk -s subclass -t type -p parentname -w whereconnected -a pv=yes

pv=yes 属性使该磁盘成为一个物理卷,并将一个带有唯一物理卷标识符的引导记录写到该磁盘上(如果它还没有引导记录的话)。

使可用磁盘成为物理卷

新磁盘只有在分配到某个卷组以后才可以使用。要使 LVM 可以使用某个磁盘,必须将该磁盘配置为物理卷。下面的命令将通过分配物理卷标识符 (PVID),从而将一个可用磁盘 (hdisk1) 更改为物理卷——如果它还没有物理卷标识符的话。

chdev -l hdisk1 -a pv=yes

如果该磁盘已经是物理卷,则此命令不起作用。

修改物理卷的特征

本小节讨论两个可使用 chpv 命令来更改的物理卷特征。

设置物理卷的分配权限

物理卷的分配权限确定了该磁盘上包含的尚未分配到某个逻辑卷的物理分区是否可分配以供逻辑卷使用。设置分配权限将定义是否允许为指定的物理卷分配新的物理分区。

下面的命令用于关闭物理卷 hdisk1 上的分配权限:

chpv -a n hdisk1

要重新启用分配权限,可以使用以下命令:

chpv -a y hdisk1

设置物理卷的可用性

物理卷的可用性定义了是否可以对指定的物理卷执行任何逻辑输入/输出操作。当物理卷要从系统中删除或由于故障而丢失时,应该使它们不可用。

下面的命令用于将某个物理卷的状态设置为不可用:

chpv -v r pvname

此命令将查询该物理卷上的所有 VGDA 和 VGSA 副本,并且该物理卷不会参与将来的 vary on 定额检查。而且,有关指定卷的信息将从该卷组中的其他物理卷的 VGDA 中删除。

下面的命令将使一个物理卷对系统可用。

chpv -v a pvname

注意:chpv 命令在执行时要使用 /tmp 目录中的空间来存储信息。如果此命令失败,则可能是由于 /tmp 目录中的空间不足。请在该目录中创建更多空间并重试。

删除物理卷

必须取消物理卷的配置,然后才能将其从系统中删除。下面的示例显示了如何使用 rmdev 命令来取消一个物理卷 (hdisk1) 的配置,并将其状态从 available 更改为 defined:

rmdev -l hdisk1

该物理卷的定义将保留在 ODM 中。-d 标志将从 ODM 中删除定义。

列出有关物理卷的信息

正确安装在系统上的物理卷可以分配到某个卷组,然后可以用于保存文件系统和逻辑卷。

有关空闲物理分区及其在磁盘上不同扇区中的可用性的信息会非常有用。下面的小节将讨论如何使用 lspv 命令来按原样获得有关物理卷的此类信息。

列出系统上的物理卷

不带任何标志运行的 lspv 命令所产生的输出将按名称标识出系统已知的物理卷,如下面的示例所示:

# lspv hdisk0 00615147ce54a7ee rootvg hdisk1 00615147a877976a rootvg#

带 –C 选项和 -c 类的 lsdev 命令也将列出系统上的物理卷,以及每个物理卷的状态,如下面的示例所示:

# lsdev -C -c disk hdisk0 Available 40-58-00-0,0 16 Bit SCSI Disk Drive hdisk1 Available 40-58-00-1,0 16 Bit SCSI Disk Drive hdisk2 Available 20-68-L SSA Logical Disk Drive hdisk3 Available 20-68-L SSA Logical Disk Drive hdisk4 Available 20-68-L SSA Logical Disk Drive hdisk5 Available 20-68-L SSA Logical Disk Drive hdisk6 Available 20-68-L SSA Logical Disk Drive

列出物理卷的特征

下面的示例显示了如何使用 lspv 命令来检索有关某个物理卷的更详细信息:

# lspv hdisk1PHYSICAL VOLUME: hdisk1 VOLUME GROUP: rootvgPV IDENTIFIER: 00615147a877976a VG IDENTIFIER 00615147b27f2b40PV STATE: activeSTALE PARTITIONS: 0 ALLOCATABLE: yesPP SIZE: 4 megabyte(s) LOGICAL VOLUMES: 13TOTAL PPs: 238 (952 megabytes) VG DESCRIPTORS: 1FREE PPs: 71 (284 megabytes)USED PPs: 167 (668 megabytes)FREE DISTRIBUTION: 48..02..00..00..21USED DISTRIBUTION: 00..46..47..47..27#

左手侧的两列包含有关该物理卷本身的信息。

右手侧的两列显示了有关该物理卷所在的卷组的信息。

下面是上述示例中的各个字段的含义。

PHYSICAL VOLUME 指定的物理卷的名称。

PV IDENTIFIER 物理卷标识符(在系统中是唯一的)。

PV STATE 该物理卷的状态。此状态定义了该物理卷是否可用于逻辑输入/输出操作。使用 chpv 命令可以更改此状态。

STALE PARTITIONS 过时分区的数量。

PP SIZE 物理分区的大小。这是卷组的一个特征,并且仅在创建卷组时作为 mkvg 命令的一个参数来进行设置。

缺省大小为 4 MB。

TOTAL PPs 该物理卷上可用的物理分区总数,同时包括空闲和已使用的分区。

FREE PPs 该物理卷上可用的空闲分区数量。

USED PPs 该物理卷上已使用的分区的数量。

FREE DISTRIBUTION 此字段按照空闲物理分区所在的物理卷上的各个部分,总结了空闲物理分区在整个物理卷中的分布。

USED DISTRIBUTION 与 FREE DISTRIBUTION 相同,只不过是显示已使用的物理分区的分布。

VOLUME GROUP 该物理卷所分配到的卷组的名称。

VG IDENTIFIER 该物理卷所分配到的卷组的数字标识符。

ALLOCATABLE 是否允许系统分配该物理卷上的新物理分区。

LOGICAL VOLUMES 该卷组中的逻辑卷的数量。

VG DESCRIPTORS 驻留在该特定物理卷上的该卷组的 VGDA 数量。

列出 PV 中的逻辑卷分配

下面的示例显示了如何使用带 –l 选项的 lspv 命令来列出物理卷 hdisk1。输出显示了该物理卷上的所有逻辑卷的名称、已分配的物理和逻辑分区的数量、整个物理卷中的分布,以及装入点(如果存在的话):

# lspv -l hdisk1hdisk1:LV NAME LPs PPs DISTRIBUTION MOUNT POINTrawlv 1 1 01..00..00..00..00 N/Ahd4 2 2 02..00..00..00..00 /hd9var 1 1 01..00..00..00..00 /var hd3 8 8 01..00..07..00..00 /tmp lv06 5 5 00..05..00..00..00 /home2lv07 13 13 00..13..00..00..00 /backfs rawlv1 2 2 00..02..00..00..00 N/Acopied 2 2 00..02..00..00..00 N/Anewlv 1 1 00..01..00..00..00 N/Afslv00 1 1 00..01..00..00..00 N/Ahd6 1 1 00..01..00..00..00 N/Amytest 1 1 00..01..00..00..00 N/A#

按 PV 区域列出物理分区的分配情况

图 3 中提供的示例显示了如何检索有关分配到某个逻辑卷的物理分区范围和用于那些分区的磁盘区域的更详细信息。

下面是对图 3 所示字段的说明。

PP RANGE 当前数据行所适用的物理分区范围。

STATE 分区是否已分配。其值可以是 used 或 free。

REGION 分区所在的磁盘区域。

LV NAME 相关分区已分配到的逻辑卷的名称。

TYPE 驻留在该逻辑卷上的文件系统的类型。

MOUNT POINT 文件系统的装入点(如果适用的话)。

列出物理分区分配表

要确定系统上的数据的连续程度以改进逻辑卷的 I/O 性能,您可以使用带 –M 选项的 lspv 命令,如图 4 所示。您可能在分析输出以后决定对系统进行重新组织。

图 4 按磁盘区域列出的物理分区分配情况

第一列指示某个特定硬盘的物理分区(如果某一组连续的分区是空闲的,则会指示一个分区范围)。

第二列指示哪个逻辑卷的哪个逻辑分区与该物理分区相关联。

迁移物理卷的内容

可以使用 migratepv 命令将属于一个或多个指定逻辑卷的物理分区从一个物理卷移动到一个卷组中的一个或多个其他物理卷。

注意:migratepv 命令无法在不同的卷组之间移动数据,如图 5 所示。

图 5 migratepv 无法跨卷组工作

下面的过程说明了如何在删除故障磁盘以便维修或替换之前移动故障磁盘中的数据。

1. 确定该卷组有哪些磁盘。确保源和目标物理卷在同一个卷组中。如果源和目标物理卷在同一卷组中,则进入步骤 3。

# lsvg -p rootvg rootvg:PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTIONhdisk0 active 159 0 00..00..00..00..00

2. 如果您计划迁移到某个新磁盘,例如在您遇到故障磁盘的时候,请执行以下步骤:

a. 通过输入以下命令来确保该磁盘可用:

# lsdev -Cc disk hdisk0 Available 00-08-00-30 670 MB SCSI Disk Drive hdisk1 Available 00-08-00-20 857 MB SCSI Disk Drive

b.如果该磁盘被列出并处于可用状态,请使用以下命令来确保它不属于另一个卷组。在下面的示例中,hdisk1 可以用作目标磁盘:

# lspv hdisk0 0000078752249812 rootvg hdisk1 000000234ac56e9e none

c.如果该磁盘未被列出或者不可用,您需要检查或安装该磁盘。

d. 使用以下命令将新磁盘添加到该卷组:

extendvg VGName hdiskNumber

3. 确保目标磁盘上有足够的空间来保存您希望移动的源数据。

a. 使用以下命令来确定源磁盘上的物理分区数量:

lspv SourceDiskNumber | grep "USED PPs"

其输出将与以下所示类似:

USED PPs:159 (636 megabytes)

在此示例中,您将需要目标磁盘上的 159 个空闲 PP 才能成功完成迁移。

b.对每个目标磁盘使用以下命令,从而确定目标磁盘上的空闲物理分区的数量(DestinationDiskNumber 将具有 hdiskNumber 的形式)。

lspv DestinationDiskNumber | grep "FREE PPs"

将所有目标磁盘中的空闲 PP 相加。如果总和大于步骤 3a 中的 USED PPs 数量,则具有足够的空间来完成迁移。

4. 仅当您是在迁移 rootvg 卷组中的某个磁盘时才执行此步骤。如果您是在迁移用户定义的卷组中的某个磁盘,请进入步骤 5。

检查启动逻辑卷 (hd5) 是否在源磁盘上:

lspv -l SourceDiskNumber | grep hd5

如果没有获得任何输出,则启动逻辑卷不在源磁盘上。

继续到步骤 5。

如果获得类似如下的输出:

hd5 2 2 02..00..00..00..00 /blv

则运行以下命令:

migratepv -l hd5 SourceDiskNumber DestinationDiskNumber

注意:

  • 如果卷组是在并发模式下 vary on 的,则不允许执行migratepv 命令。
  • 您必须拥有 root 用户权限或者是系统组的成员才能运行 migratepv 命令。

接下来,您将获得一条警告消息,提示您在目标磁盘上执行 bosboot 命令。

注意:当从某个物理卷迁移启动逻辑卷时,应该清除源逻辑卷上的引导记录。未能清除该记录可能导致系统挂起。当您运行 bosboot 命令时,还必须运行:mkboot -c

运行 mkboot –c 命令以清除源逻辑卷上的引导记录。请在 AIX Version 4.2 以前的系统上执行以下命令:

bosboot -a -d /dev/DestinationDiskNumber

然后执行

bootlist -m normal DestinationDiskNumber

然后执行:

mkboot -c -d /dev/SourceDiskNumber

5. 执行 SMIT 快速路径命令 smitty migratepv 来迁移数据将会显示一个类似于 142 页上的图 6 的屏幕。

图 6 smitty migratepv 命令

6. 通过按 F4 列出物理卷,并选择您前面检查过的源物理卷。

7. 转到 DESTINATION physical volume 字段。如果接受缺省值,则该卷组中的所有物理卷都可用于迁移。

否则,请选择一个或多个具有足够空间来保存将要移动的分区(来自步骤 4)的磁盘。

8. 如果需要的话,可以转到 Move only data belonging to this LOGICAL VOLUME 字段,然后列出并选择某个逻辑卷。您将仅移动分配到指定逻辑卷的物理分区,并且这些物理分区位于被选择作为源物理卷的物理卷上。

9. 按 Enter 键以移动物理分区。

10.要从卷组中删除源磁盘,例如在源磁盘发生故障的时候,可以输入以下命令:

reducevg VGNname SourceDiskNumber

11.在从系统中物理地删除源磁盘之前,例如在源磁盘发生故障的时候,可以输入以下命令:

rmdev -l SourceDiskNumber -d

下面是使用 migratepv 命令的附加示例:

  • 使用以下命令将物理分区从 hdisk1 移动到 hdisk6 和 hdisk7(所有物理卷都在一个卷组中):

migratepv hdisk1 hdisk6 hdisk7

  • 使用以下命令将逻辑卷 lv02 中的物理分区从 hdisk1 移动到 hdisk6:

migratepv -l lv02 hdisk1 hdisk6

管理卷组

本节讨论可对卷组执行的功能。与物理卷一样,可以创建和删除卷组,并且可以修改卷组的特征。还可以执行诸如激活和禁用卷组等附加功能。

列出卷组特征

卷组的特征由 lsvg 命令提供。

# lsvg rootvgVOLUME GROUP: rootvg VG IDENTIFIER: 00015f8f00004c00000000f52c7c20deVG STATE: active PP SIZE: 16 megabyte(s)VG PERMISSION: read/write TOTAL PPs: 1084 (17344 megabytes)MAX LVs: 256 FREE PPs: 996 (15936 megabytes)LVs: 10 USED PPs: 88 (1408 megabytes)OPEN LVs: 9 QUORUM: 2TOTAL PVs: 2 VG DESCRIPTORS: 3STALE PVs: 0 STALE PPs: 0ACTIVE PVs: 2 AUTO ON: yesMAX PPs per PV: 1016 MAX PVs: 32LTG size: 128 kilobyte(s) AUTO SYNC: noHOT SPARE: no BB POLICY: relocatable

下面说明前一示例中所示的字段。

Volume group

卷组的名称。卷组名称必须在系统范围内是唯一的,并且可以在 1 到 15 个字符的范围内。

Volume group state

卷组的状态。如果卷组是使用 varyonvg 命令激活的,则其状态为 active/complete(表示所有物理卷都是活动的)或 active/partial(表示部分物理卷不是活动的)。如果未使用 varyonvg 命令来激活该卷组,则其状态为 inactive。

Permission

访问权限:read-only 或 read-write。

Max LVs

该卷组中允许的最大逻辑卷数量。LVs 该卷组中当前具有的逻辑卷数量。

Open LVs

该卷组中当前打开的逻辑卷的数量。

Total PVs

该卷组中的物理卷总数。

Active PVs

当前活动的物理卷的数量。

VG identifier

卷组标识符。

PP size

每个物理分区的大小。

Total PPs

该卷组中的物理分区的总数。

Free PPs

未分配的物理分区的数量。

Alloc PPs

当前已分配到逻辑卷的物理分区的数量。Quorum 代表大多数物理卷数量。

VGDS

该卷组中的卷组描述符区域的数量。

Auto-on

在 IPL 时自动激活(yes 或 no)。

Concurrent

此状态表示该卷组为 Concurrent Capable 还是 Non-Concurrent Capable。

Auto-Concurrent

此状态表示是否应该以并发或非并发模式自动激活 Concurrent Capable卷组。对于 Non-Concurrent Capable 的卷组,此值缺省为 Disabled。

VG Mode

该卷组的 vary on 模式:Concurrent 或 Non-Concurrent。

Node ID

当卷组以并发模式 vary on 时,此节点的节点 ID。Active Nodes 将此卷组 vary on 的其他并发节点的节点 ID。

Max PPs Per PV

该卷组允许的每个物理卷的最大物理分区数量。

Max PVs

该卷组中允许的最大物理卷数量。

LTG size

该卷组的逻辑磁道组大小,以 KB 为单位。

BB POLICY

该卷组的坏块重定位策略。

SNAPSHOT VG

如果快照卷组是活动的,则为快照卷组名称,否则为快照卷组标识符。

PRIMARY VG

如果原始卷组是活动的,则为快照卷组的原始卷组名称,否则为原始卷组标识符。

添加卷组

在能够向系统添加新的卷组之前,系统上的其他卷组中必须存在一个或多个未使用并处于可用状态的物理卷。

在添加卷组之前,务必对某些信息作出决定,例如卷组名称和要使用的物理卷。

可以使用 mkvg 命令或使用 SMIT 将新卷组添加到系统。在创建卷组时设置的所有特征中,以下特征最为重要:

  • 卷组名称在系统上必须是唯一的。
  • 要在新卷组中使用的所有物理卷的名称。
  • 该卷组中可存在的最大物理卷数量。
  • 该卷组的物理分区大小。
  • 用于在每次系统重新启动时自动激活该卷组的标志。

下面的示例显示了如何使用 mkvg 命令来创建一个卷组 myvg,并且使用物理卷 hdisk1 和 hdisk5,物理分区大小为 4 KB。该卷组被限制为最多允许 10 个物理卷。

mkvg -y myvg -d 10 -s 8 hdisk1 hdisk5

或者,可以使用 SMIT 快速路径命令 smitty mkvg 来获得如图 7 所示的屏幕,并在各个字段中输入要创建的卷组的特征。

图 7 smitty mkvg 命令

smitty mkvg 命令将通过调用 varyonvg 命令来自动激活该卷组。此外,与从命令行执行相比,该 SMIT 命令还限制了以下功能:

  • smitty mkvg 不提供 -d 标志来设置最大物理卷数量。它使用缺省值 32。
  • smitty mkvg 不提供 -m 标志来设置最大物理卷大小。此标志将确定要使用多少个物理分区。它使用一个设定值,即 1016 个分区。
  • smitty mkvg 始终使用 -f 标志来强制卷组的创建。

注意:要使用 mkvg 命令将新卷组成功添加到系统,根文件系统应该具有大约 2 MB 的空闲空间。可以使用 df 命令来检查这一点。需要该空闲空间的原因在于,在每次添加一个新卷组时,都会向目录 /etc/vg 写入一个文件。

修改卷组的特征

下面几个小节将讨论修改卷组的特征所需要完成的任务。

修改卷组的激活特征

下面的命令允许在每次系统重新启动时自动 vary on 卷组 newvg:

chvg -ay newvg

下面的命令将关闭卷组 newvg 在每次系统重新启动时的自动 vary on:

chvg -an newvg

解除卷组的锁定

如果正在系统上执行 LVM 操作时发生系统崩溃,从而导致 LVM 命令异常终止,则卷组将会被锁定。

在 AIX Version 4 及更高版本中,还可以解除卷组的锁定。下面的示例显示了用于解除 newvg 卷组的锁定的命令。

chvg -u newvg

添加物理卷

可能有必要增加某个卷组中可用的空闲空间,以便能够扩展该卷组中的现有文件系统和逻辑卷,或者添加新的文件系统和逻辑卷。这需要使该卷组中有附加的物理卷变得可用。

可以向某个卷组添加的最大物理卷数量为创建该卷组时指定的最大物理卷数量。可以使用 extendvg 命令来添加物理卷。下面的示例显示了用于将物理卷 hidsk3 添加到卷组 newvg 的命令。

extendvg newvg hdisk3

注意:如果正在添加的物理卷已经属于当前系统上的某个已 vary on 的卷组,则 extendvg 命令将会失败。此外,如果正在添加的物理卷属于某个当前未 vary on 的卷组,则会提示用户确认是否要继续添加。

或者,可以使用 SMIT 快速路径命令 smitty vgsc 并选择“Add a Physical Volume to a Volume Group”。

删除物理卷

卷组必须在 vary on 以后才能缩小。下面的示例显示了如何从卷组 myvg 中删除物理卷 hdisk3。

reducevg myvg hdisk3

或者,可以使用 SMIT 快速路径命令 smitty reducevg 来从卷组中删除某个物理卷。

注意:reducevg 命令提供了 -d 和 -f 标志。

  • -d 标志会非常危险,因为它在从卷组中删除该物理卷之前,自动删除该物理卷上的所有逻辑卷。如果某个逻辑卷跨越多个物理卷,则删除其中任何一个物理卷都会危及整个逻辑卷的完整性。
  • -f 标志使 -d 标志变得更加危险,它禁止与用户的交互,从而不请求用户确认是否应该删除该逻辑卷。

如果指定要删除的物理卷上的逻辑卷还跨越卷组中的其他物理卷,则删除操作可能会破坏那些逻辑卷的完整性,而不管那些逻辑卷所在的物理卷是否已删除。

当您删除某个卷组中的所有物理卷时,该卷组本身也会被删除。

删除物理卷引用

有时,没有首先运行 reducevg VolumeGroup PhysicalVolume 就从系统中删除了某个磁盘。VGDA 仍然具有对已删除的磁盘的引用,但是该物理卷的名称不再存在或者已重新分配。要删除对已删除的磁盘的引用,您仍然可以使用 reducevg 命令,并使用已删除的物理卷的 PVID。下面的命令将从卷组 newvg 中删除对一个物理卷(其 PVID 为 000005265ac63976)的引用。

reducevg VolumeGroup 000005265ac63976

导入和导出卷组

有时,可能需要将某个卷组从一个 RS/6000 或 pSeries 系统移动到另一个系统,以便能够直接在目标系统上访问该卷组中的逻辑卷和文件系统。

要从 ODM 数据库中删除某个卷组的系统定义,需要使用 exportvg 命令导出该卷组。此命令不会删除该卷组中的任何用户数据,而是仅从 ODM 数据库中删除其定义。

类似地,在移动某个卷组时,目标系统需要添加新卷组的定义。使用 importvg 命令来导入该卷组可以达到此目的,该命令将向 ODM 数据库添加一个条目。

下面的示例显示了如何导出卷组 myvg。

exportvg myvg

此外,下面的示例显示了如何导入卷组 myvg。

importvg -y myvg hdisk12

还可以使用 SMIT 快速路径命令 smitty exportvg 或 smitty importvg 来导出或导入某个卷组。

如果指定的卷组名称已经在使用,则 importvg 命令将会失败,并显示一个相应的错误消息,因为不允许使用重复的卷组名称。在此情况下,可以指定唯一的卷组名称来重新运行该命令。还可以不带 –y 标志或卷组名称来重新运行该命令,这样将为导入的卷组提供唯一的系统缺省名称。

有些逻辑卷的名称还可能与系统上已有的逻辑卷的名称发生冲突。importvg 命令将自动为这些逻辑卷重新分配系统缺省名称。在系统之间移动卷组时务必要记住的一件事情在于,在将卷组导出到目标系统之前,始终要在源系统上运行 exportvg 命令。

考虑一下将某个卷组导入系统 Y 上而不在系统 X 上实际执行 exportvg 的情况。如果系统 Y 对该卷组做出了更改,例如从卷组中删除某个物理卷,然后将该卷组重新导入系统 X 上,则系统 X 上的 ODM 数据库将与该卷组的更改后的信息不一致。

但是,值得注意的是,可以将某个卷组移动到另一个系统而不首先在源系统上执行导出。

还可以使用 exportvg 和 importvg 命令来更改用户定义的卷组的名称,如下面的示例所示:

# lspv hdisk0 006151409772fa27 rootvg hdisk1 00382642e0e14dbd vg00# varyoffvg vg00# exportvg vg00# importvg -y cadsvg hdisk1cadsvg# lspv hdisk0 006151409772fa27 rootvg hdisk1 00382642e0e14dbd cadsvg

注意:

  • 如果系统上当前已经存在相同名称的逻辑卷,则 importvg 命令将更改导入的逻辑卷的名称。如果对导入的逻辑卷进行了重命名,则会向标准错误设备打印一条错误消息。在可能的情况下(如果不存在冲突),importvg 命令还会在 /etc/filesystems 中创建文件装入点和条目。
  • 具有分页空间卷的卷组在分页空间处于活动状态时不能导出。在导出具有活动分页空间的卷组之前,应通过运行以下命令来确保分页空间未在系统初始化时被自动激活。

chps -a n paging_space_name

然后重新启动系统,以便禁用分页空间。AIX 5L Version 5.1 增强了禁用分页空间的功能。

  • 如果不通过 smitty importvg 激活卷组,则必须运行 varyonvg 命令来启用对文件系统和逻辑卷的访问。
  • 如果导入包含文件系统的卷组,或者通过 smitty importvg 激活卷组,强烈建议您在装入文件系统之前首先运行 fsck 命令。如果您要将卷组移动到另一个系统,请确保在移动磁盘之前取消磁盘的配置。
  • smitty exportvg 命令会删除对 /etc/filesystems 中的文件系统的引用,但是会将装入点保留在系统上。

vary on 和 vary off 卷组

一旦某个卷组存在,即可使用 varyonvg 命令来使其可供系统管理活动使用。此过程涉及到下列步骤:

1. 读取卷组中每个物理卷上的每个 VGDA。

2. 读取每个 VGDA 中的头部和尾部时间戳。这些时间戳必须匹配,VGDA 才有效。

3. 如果大多数 VGDA(称为定额)有效,则继续 vary on 过程。如果大多数 VGDA 无效,则 vary on 失败。

4. 系统将使用最近的 VGDA(具有最新时间戳的 VGDA)来改写所有其他 VGDA,以使它们全都匹配。

5. 运行 syncvg 命令来重新同步存在的任何过时分区(在使用镜像的情况下)。

varyonvg 命令具有以下选项,可用于避免损坏卷组结构或提供状态信息:

  • -f 标志可用于强制将某个卷组 vary on,即使是在检测到不一致的情况下。这些不一致一般是 ODM 数据库和 VGDA 中包含的每个卷组的配置数据之间的差异。
  • -n 标志将禁止在 vary on 时调用 syncvg 命令。在将某个卷组 vary on 并检测到过时分区时,vary on 过程将调用 syncvg 命令来同步过时分区。当您希望谨慎地恢复某个卷组,并且希望确保不会意外地用坏的镜像副本来改写好的副本时,此选项是非常有价值的。
  • -s 标志允许以维护或系统管理模式 vary on 某个卷组。逻辑卷命令可以对卷组进行操作,但是不能打开任何逻辑卷来进行输入或输出。

下面的示例显示了用于激活卷组 newvg 的命令。

varyonvg newvg

还可以使用 SMIT 快速路径命令 smitty varyonvg 来获得类似于图 8 所示的输出。输入要 vary on 的卷组的名称以及所有选项。

图 8 smitty varyonvg 命令

Varyoffvg 命令将禁用某个卷组及其关联的逻辑卷。这要求关闭那些逻辑卷,从而要求卸载与那些逻辑卷相关联的文件系统。varyoffvg 命令还允许使用 -s 标志来将卷组从活动状态更改为维护或系统管理模式。

注意:在 AIX Version 4 及更高版本中,在导入某个卷组时,会自动将其 vary on;然而在 AIX Version 3 中,必须单独将该卷组 vary on。

下面的示例显示了用于禁用卷组 myvg 的命令。

varyoffvg myvg

还可以使用 SMIT 快速路径命令 smitty varyoffvg,此命令将显示一个类似于图 9 所示的屏幕。您可以输入要 vary off 的卷组的名称,并且还可以将该卷组置于系统管理模式。

图 9 smitty varyoffvg 命令

监视卷组

lsvg 命令询问 ODM 数据库中当前对系统已知的所有卷组。下面是几个显示如何使用 lsvg 命令来监视卷组的示例。

列出卷组

下面的示例显示了如何使用不带任何标志的 lsvg 命令来列出对系统已知的所有卷组:

# lsvg rootvgaltinst_rootvg datavg testvg#

下面的示列显示了如何列出当前活动(已 vary on)的卷组:

# lsvg -o

testvg

datavg

rootvg

列出卷组的特征

图 10 中的示例显示了用于列出有关卷组特征的详细信息和状态的命令。

图 10 lsvg rootvg 命令

列出卷组中的逻辑卷

图 11 中的示例显示了用于显示卷组 rootvg 中的所有逻辑卷的名称、特征和状态的命令。

图 11 lsvg -l rootvg 命令

列出卷组中的物理卷状态

图 12 中的示例显示了如何使用带 –p 标志的 lsvg 命令来显示某个卷组中包含的物理卷的列表,以及包括物理分区分配情况在内的一些状态信息。这种形式的 lsvg 命令对于总结系统上的空闲空间集中性是非常有用的。

图 12 lsvg -p vgname 命令

下面是对图 12 所示的各个字段的说明。

PV_NAME

物理卷的名称。

PV STATE

该物理卷是否为活动的。

TOTAL PPs

该物理卷上的物理分区总数。

FREE PPs

该物理卷上未使用的物理分区总数。

FREE DISTRIBUTION

物理卷上的空闲物理分区的位置。共有五列,每个磁盘区域一列,并按如下顺序排列:Outside edge、Outside middle、Center、Inside middle、Inside edge。

重新组织卷组

reorgvg 命令用于根据每个逻辑卷的分配特征来重新组织卷组的物理分区分配。

下面是 reorgvg 命令的语法:

reorgvg [ -i ] VolumeGroup [ LogicalVolume ... ]

在能够使用 reorgvg 命令之前,必须将该卷组 vary on,并且该卷组必须具有空闲分区。必须使用 chlv –r 命令将每个逻辑卷的可重定位标志设置为 y,重新组织才会生效;否则,该逻辑卷将被忽略。

注意:

1. reorgvg 命令不会重新组织条带逻辑卷的已分配物理分区的定位。

2. 指定的卷组上必须至少存在一个空闲物理分区,reorgvg 命令才能成功运行。

3. 在 AIX Version 4.2 或更高版本中,如果输入 reorgvg 命令和卷组名称而没有其他参数,则该命令仅重新组织该卷组中的第一个逻辑卷。第一个逻辑卷是 lsvg –l VolumeName 命令列出的第一个逻辑卷。

还可以使用 SMIT 快速路径命令 smitty reorgvg 来完成同样的任务。

有关 reorgvg 命令的标志的详细信息,请参见表 2。

表 2 reorgvg 命令的标志

标志 描述 -i 指定从标准输入读取物理卷名称。仅对这些物理卷上的分区进行组织。

重新组织卷组的示例如下所示:

  • 下面的命令重新组织卷组 vg02 上的逻辑卷 lv03、lv04 和 lv07:

reorgvg vg02 lv03 lv04 lv07

仅对 vg02 上所列出的逻辑卷进行重新组织。

  • 下面的示例显示了如何重新组织位于物理卷 hdisk04 和 hdisk06 上属于逻辑卷 lv203 和 lv205 的分区:

echo "hdisk04 hdisk06" | reorgvg -i vg02 lv203 lv205

仅对位于卷组 vg02 的物理卷 hdisk04 和 hdisk06 上属于逻辑卷 lv203 和 lv205 的分区进行重新组织。

同步卷组

syncvg 命令用于同步不是最新(过时)的逻辑卷副本。

下面是 syncvg 命令的语法:

syncvg [ -f ] [ -i ] [ -H ] [ -P NumParallelLps ] { -l | -p | -v }

Name ...

syncvg 命令同步不是最新的物理分区,这些物理分区是原始物理分区的副本。syncvg 命令可以用于逻辑卷、物理卷或卷组,其中 Name 参数表示逻辑卷、物理卷或卷组的名称。同步过程会非常耗时,具体取决于硬件特征和数据量。

当使用了 -f 标志时,将选择未损坏的物理副本并将其传播到该逻辑分区的所有其他副本,而不管那些副本是否过时。

除非已禁用某个卷组中的副本,否则会在 varyonvg 命令激活该卷组时自动同步那些副本。

经常与 syncvg 命令一起使用的标志如表 3 所示。

表 3 syncvg 命令的主要标志

标志 描述 -p 指定 Name 参数表示某个物理卷设备的名称。 -v 指定 Name 参数表示某个卷组设备的名称。

下面的示例显示了 syncvg 命令的用法:

  • 要同步物理卷 hdisk04 和 hdisk05 上的副本,可以运行以下命令:

syncvg -p hdisk04 hdisk05

  • 要同步卷组 vg04 和 vg05 上的副本,可以运行以下命令:

syncvg -v vg04 vg05

本文分为上下两个部分,下半部分会随后推出,请关注。