现在的位置: 首页 > 综合 > 正文

IBM pSeries AIX System Administration — 存储管理、LVM 和文件系统一

2013年10月06日 ⁄ 综合 ⁄ 共 4402字 ⁄ 字号 评论关闭

 

. 逻辑卷存储概念

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


1 逻辑存储组件之间的关系

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

1)每个单独的硬盘驱动器称为一个物理卷(physical volumePV),并具有一个名称(例如:hdisk0hdisk1 hdisk2)。

2)所有物理卷属于一个名为 rootvg 的卷组(volume groupVG)。

3)一个卷组中的所有物理卷划分为相同大小的物理分区(physical partitionPP)。

4)每个卷组中定义了一个或多个逻辑卷(logical volumeLV)。

 

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

            1)每个逻辑卷由一个或多个逻辑分区(logical partitionLP)组成。每个逻辑分区对应于至少一个物理分区。如果为逻辑卷指定了镜像,则可以分配额外的物理分区来存储每个逻辑分区的额外副本。

            2)逻辑卷可用于许多系统目的(例如,内存分页),但是保存普通系统、用户数据或程序的每个逻辑卷仅包含单个日记记录文件系统(journaled file systemJFS)。每个 JFS 由一个块池组成,每个块的大小为内存页大小 (4 KB)。在 AIX Version 4.1 及更高版本中,可以将某个给定的文件系统定义为具有小于 4 KB512 字节、1 KB2 KB)的分段大小。

 

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

 

. 逻辑卷管理器

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

 

2.1  LVM 配置数据

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

 

2.1.1 对象数据管理器(Object Data ManagerODM)数据库

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

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

 

2.1.2 卷组描述符区域(Volume Group Descriptor AreaVGDA

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

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

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

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

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

2.1.3 卷组状态区域(Volume Group Status AreaVGSA

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

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

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

 

2.1.4 逻辑卷控制块(Logical Volume Control BlockLVCB

            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

 

2.2 磁盘定额

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

条件

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 不再存在时丧失定额的情况。


2 磁盘定额

           

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

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

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

 

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

 

2.3 磁盘镜像

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

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

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

 

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

            1)数据副本的数量:保留三个数据副本要比仅保留两个数据副本更加可靠。

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

 

2.3.1  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 命令的用法:

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

mirrorvg -c 3 workvg

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

 

抱歉!评论已关闭.