跳到内容 中国
HP.com 主页 产品与服务 支持及驱动程序 解决方案 如何购买
» 联系惠普
更多选项
HP.com 主页
管理系统和工作组: HP-UX 系统管理员指南 > 第 6 章 管理系统:管理磁盘和文件

管理磁盘

» 

技术文档资料

完整的 PDF 手册
» 反馈
内容从此开始:

 » 目录

 » 索引

本节提供在 HP-UX 下管理磁盘的实用指导。本节包括下列主题:

注释:本节将介绍 HP 的逻辑卷管理器以及逻辑卷管理器的工作方式。然而,VERITAS 卷管理器也提供联机磁盘管理功能,是 HP 逻辑卷管理器和 HP MirrorDisk/UX 产品的替代产品。VERITAS 卷管理器包括在“HP-UX 11i Application”CD 中。自 2002 年 9 月 HP-UX 11i v1 发行以来,VxVM 3.5 包括在操作环境中,支持 VxVM 根卷可管理性。有关详细信息和任务,请阅读《《HP-UX 11i v1 安装与更新指南》》和 VERITAS 卷管理器 3.5 的文档:
  • 《VERITAS Volume Manager 3.5 Installation Guide》

  • 《VERITAS Volume Manager 3.5 Migration Guide》

  • 《VERITAS Volume Manager 3.5 Release Notes》

  • 《VERITAS Volume Manager 3.5 Administrator's Guide》

  • 《VERITAS Volume Manager 3.5 Hardware Notes》

  • 《VERITAS Volume Manager 3.5 Troubleshooting Guide》

  • 《VERITAS Volume Manager 3.5 User's Guide - VERITAS Enterprise Administrator》

HP 的 HP-UX 文档网站上的“VERITAS 卷管理器和文件系统”社区提供有关 VERITAS 卷管理器的其他版本的信息:

http: //docs.hp.com/hpux/os/11i/index.html#VERITAS%20Volume%20Manager%20and%20File%20System

有关这些主题的详细论述,我们推荐您阅读 Prentice Hall PTR 于 1997 年出版的《《Disk and File Management Tasks on HP-UX》》。您会发现本书后面多次引用此书。

磁盘管理的现状

  • 在 HP-UX 上,服务器和工作站上的磁盘管理是一样的。

  • 在服务器和工作站上,建议将使用逻辑卷作为管理磁盘的首选方法。

  • 仍然支持服务器的现有分区硬盘和工作站的未分区磁盘。

  • 不能将分区磁盘用作根磁盘。只能使用未分区磁盘、LVM 或 VxVM 磁盘作根磁盘。

  • 尽管鼓励使用逻辑卷,但服务器和工作站上的磁盘也可以作为未分区磁盘来管理;或者,对于那些支持硬盘分区的磁盘模式,也可以使用分区硬盘。

  • 可以转换未分区的或已进行硬盘分区的现有磁盘,以使用逻辑卷。

  • LVM 磁盘和非 LVM 磁盘可以在系统上共存,但特定的磁盘只能由 LVM 方法或非 LVM 方法来管理。也就是说,您不能将这些方法混用于一个磁盘。

  • 应该注意,尽管硬盘和磁盘阵列支持使用逻辑卷,但软盘、光盘和 CD-ROM 不支持。

逻辑卷管理器(Logical Volume Manager,LVM)

关于 LVM 的有用信息

  • 要使用 LVM,磁盘必须首先初始化为物理卷(也称为 LVM 磁盘)。

  • 初始化一个或多个物理卷之后,将它们分为一个或多个卷组。如果将所有物理卷视为一个存储池,那么,该存储池的一部分磁盘可以组织成一个卷组。

  • 一个特定磁盘只能属于一个卷组。可创建的卷组的最大数由可配置参数 maxvgs 决定。有关修改系统参数的信息,请参阅“重新配置内核(早于 HP-UX 11i v2 的版本)”

  • 一个卷组可包含 1 到 255 个物理卷。

  • 来自卷组的磁盘空间被划分为逻辑卷 - 可用磁盘空间的独立单元。一个卷组最多可包含 255 个逻辑卷。

  • 逻辑卷可以只存在于一个磁盘上,也可以存在于许多磁盘上。

  • 逻辑卷的磁盘空间可以用于交换、转储、原始数据,或者,也可以在其上创建文件系统。

    图 6-1 “磁盘空间划分为逻辑卷” 中,逻辑卷 /dev/vg01/lvol1 可能包含文件系统,/dev/vg01/lvol2 可能包含交换空间,而 /dev/vg01/lvol3 可能包含原始数据。如图所示,文件系统、交换空间或原始数据可以存在于一个逻辑卷内,而这个逻辑卷驻留在多个磁盘上。

    图 6-1 磁盘空间划分为逻辑卷

    磁盘空间划分为逻辑卷
  • 如果一个逻辑卷分散在多个物理卷中,每个磁盘的接口类型不必相同,除非是 HP-IB 磁盘的情况;不过,具有相同的接口类型将获得更高的性能。有关接口类型和限制的详细信息,请参阅“使用磁盘 I/O 接口”

LVM 的工作方式

  • LVM 将每个物理磁盘分为叫做物理盘区的可寻址单元。盘区从地址为零的磁盘头开始、每个单元的地址依次递增一,按顺序分配给磁盘。在形成卷组时,物理盘区大小是可配置的,并且这个大小应用于卷组中的所有磁盘。缺省情况下,每个盘区的大小为 4 MB。在创建卷组时,此值可以更改为 1 MB 到 256 MB 之间的值。

  • 逻辑卷的基本分配单元称为逻辑盘区。逻辑盘区映射到物理盘区,因此,如果物理盘区大小为 4 MB,那么逻辑盘区将具有同样的大小。逻辑卷的大小取决于所配置的逻辑盘区数。

  • 当 LVM 将磁盘空间分配到逻辑卷时,会自动创建物理盘区到逻辑盘区的映射。对于每个逻辑卷,逻辑盘区也是从零开始按顺序分配的。因此,无论卷组内逻辑卷的物理数据驻留在哪里,LVM 都将使用此映射来访问数据。提供多种命令用于检查此映射;请参阅 pvdisplay (1M)lvdisplay (1M)

  • 除了镜像逻辑卷或条带化的逻辑卷,每个逻辑盘区都映射到一个物理盘区。对于镜像逻辑卷,每个逻辑盘区映射两个或三个物理盘区,这取决于使用的是单镜像还是双镜像。例如,如果有一个镜像副本,那么每个逻辑盘区映射到两个物理盘区,一个到原盘区,另一个到镜像副本。有关镜像的详细信息,请参阅“管理镜像文件系统”。有关条带化逻辑卷的信息,请参阅“设置磁盘条带化”。另请参阅《《Disk and File Management Tasks on HP-UX》》一书。

    图 6-2 “物理盘区和逻辑盘区”所示为,卷组内物理盘区和逻辑盘区之间可用映射的几个类型。

    图 6-2 物理盘区和逻辑盘区

    物理盘区和逻辑盘区

    图 6-2 “物理盘区和逻辑盘区” 所示,第一个逻辑卷的内容包含在卷组中所有三个物理卷中。由于第二个逻辑卷使用镜像,每个逻辑盘区映射到多个物理盘区。在这个例子中,有两个包含数据的物理盘区,这两个物理盘区的每一个都位于卷组内的第二个磁盘和第三个磁盘上。

  • 缺省情况下,LVM 按照将物理卷添加到卷组的顺序从磁盘选择可用的物理盘区,将物理盘区分配给逻辑卷。系统管理员可以忽略这种缺省分配,直接控制逻辑卷使用哪些磁盘(请参阅“将逻辑卷扩展到特定磁盘 ”)。

  • 如果逻辑卷将用于根目录、引导、主交换或者转储,则物理盘区必须是连续的。这意味着,必须在一个物理卷上不留间隙地分配物理盘区。在非根磁盘上,与逻辑卷内连续逻辑盘区相对应的物理盘区可以在物理卷上不连续,或驻留在完全不同的磁盘上。结果,在一个逻辑卷内创建的文件系统就有可能驻留在多个磁盘上。

规划逻辑卷的使用

使用逻辑卷需要进行一些规划。下面列出了规划时应该考虑的一些问题,本节的其余部分将讨论这些问题。应该在系统上设置或修改逻辑卷之前考虑这些问题。

  • 逻辑卷用于哪些目的呢?用于文件系统,交换空间,还是原始数据存储?还可以将逻辑卷用于引导系统或作为转储区域,有关详细信息,请参阅“创建根卷组、根逻辑卷和引导逻辑卷 ”

  • 逻辑卷应该多大?

  • I/O 性能是否非常重要?如果是这样,就需要考虑磁盘接口类型和模式。

  • 是否需要数据具有高可用性?如果需要,请参阅有关镜像的信息。另请参阅“通过备用链路提高可用性”部分的信息。

为文件系统设置逻辑卷

文件系统驻留在一个逻辑卷中,就像它们驻留在磁盘区或未分区磁盘内一样。自 10.10 起,HFS 和 JFS (VxFS) 文件系统的最大容量从 4 GB 增加到 128 GB。但是,根逻辑卷或引导逻辑卷不能超过 2 GB 或 4 GB,这取决于处理器
(有关 HFS 和 JFS 的详细信息,请参阅“确定要使用的文件系统类型”)。

可以将文件系统所需的空间视为由三个主要部分组成,如图 6-3 “文件系统空间的组成部分” 所示。

图 6-3 文件系统空间的组成部分

文件系统空间的组成部分

要粗略估计包含文件系统的逻辑卷应设置为多大,请执行下列步骤:

  1. 估计用户未来会需要多少磁盘空间存储数据。要考虑预期的变化,这些变化通常需要额外的空间(使用 du 命令查看目前正在使用的磁盘空间有多少)。

  2. 将上面的数字加上 10%,用于“minfree”区域,此区域是为了维护性能而预留的。

  3. 再加上 5%,用于文件系统开销,其中包括了维护文件系统所需的所有数据结构。

  4. 进行向上舍入,使其等于此逻辑卷中使用的逻辑盘区大小的整数倍,得出按逻辑盘区计算的大小(与前面的步骤不同,此步骤是在创建逻辑卷时自动执行的)。

例如,假设一组用户需要 60 MB 磁盘空间用于文件系统数据,这个估计数字考虑了预期增长。然后加上 6 MB,用于“minfree”空间,现在这个数字达到 66 MB。接着,再加上 3 MB,用于文件系统开销,达到文件系统所需的总估计数 69 MB。因此,包含文件系统的逻辑卷的大小就是这个数字。如果创建逻辑卷所在的卷组的盘区大小为 4 MB,则 69 向上舍入为可被 4 MB 整除的 72。也就是说,LVM 将按逻辑盘区大小的倍数来创建逻辑卷。

尽管估计的数字不够精确,但对于规划文件系统的大小已经足够了。文件系统在需要的时候足够大,就不必再增加其大小了。另一方面,诸如根逻辑卷这样的连续逻辑卷不能很容易地增加大小。因此,对这些逻辑卷尽量选择一个考虑到其所有预期增长的估计数字就显得非常重要。

假设,用户的增长已经超过了最初分配给文件系统的空间。可以通过先扩大文件系统所驻留的逻辑卷,然后使用 extendfs (1M),来增加文件系统的大小(有关详细信息,请参阅“扩展逻辑卷内文件系统的大小 ”)。

文件系统一经创建,就不能减小其大小。但是,可以创建一个新的小文件系统来替换原来的文件系统。

注释:因为增加文件系统大小通常比减小其大小容易得多,在估计要创建的文件系统的大小时可以保守一些。

不过,根文件系统除外,因为它很难扩展。

如果计划让文件系统跨越多个磁盘,请尽量使逻辑卷跨越相同的磁盘接口类型(请参阅“使用磁盘 I/O 接口”)。

通常,缺省情况下,LVM 在可用的磁盘上创建逻辑卷,而不一定考虑到最佳性能的问题。文件系统有可能跨越两个具有不同特征的磁盘,这样,文件系统的性能就可能受到影响。

系统管理员可以练习对哪些物理卷将包含逻辑卷的物理盘区进行控制。可以使用以下两个步骤实现此目的:

  1. 使用 lvcreate (1M) 或 SAM 在不指定大小的情况下创建逻辑卷。如果不指定大小,缺省情况下,不为逻辑卷分配任何物理盘区。

  2. 现在,使用 lvextend (1M) 将逻辑卷扩展(即分配空间)到要包含文件系统的特定物理卷。

有关此过程的详细信息,请参阅“将逻辑卷扩展到特定磁盘 ”

为交换设置逻辑卷

启用逻辑卷内的交换区域时,HP-UX 决定该区域的大小,并且使用的空间不会超过这个大小。如果磁盘具有足够的连续剩余空间,可以使用 lvextend 命令(或 SAM)来扩大逻辑卷,然后重新引导系统,从而增加主交换区域的大小。这个过程允许 HP-UX 使用提供的额外空间。

如果除了主交换,还要规划设备交换,则设备交换区域位于不同的物理卷(磁盘)上时,将达到最佳性能。这种做法允许交换发生时 I/O 到物理卷的交错。

通过创建多个用于交换的逻辑卷、每个逻辑卷位于单独的磁盘上,可建立这种交换配置。必须使用 HP-UX 命令来辅助建立这种配置。SAM 不允许在特定的磁盘上创建逻辑卷。请参阅“将逻辑卷扩展到特定磁盘 ”

为原始数据存储设置逻辑卷

通过专门为原始数据存储规划逻辑卷,可以优化原始数据 I/O 性能。要创建原始数据逻辑卷(如用于数据库),需要考虑创建多大的逻辑卷,以及如何在磁盘上分配这样的逻辑卷。

通常,以兆字节为单位指定逻辑卷的大小。但是,逻辑卷的大小必须是卷组中使用的盘区大小的倍数。缺省情况下,每个逻辑盘区的大小是 4 MB。

所以,举例来说,如果数据库分区需要 33 MB,而缺省的逻辑盘区大小为
4 MB,LVM 将创建大小为 36 MB(即 9 个逻辑盘区)的逻辑卷。

对于原始数据设备,所支持的最大大小为 4 GB。

如果打算频繁地使用用于原始数据存储的逻辑卷(例如,设置数据库分区),应该考虑如何在磁盘上分配逻辑卷。

缺省情况下,LVM 将用一个磁盘为逻辑卷分配磁盘空间,将该磁盘上的空间全部用完,然后按照相同的方式用下一个磁盘分配空间。LVM 按照这些磁盘添加到卷组的顺序使用它们。这意味着,逻辑卷的数据可能不会均匀地分布在卷组内的所有磁盘上。

因此,当 I/O 访问逻辑卷时,卷组内的一个或多个磁盘可能被频繁使用,而其他磁盘却用得很少,甚至根本不使用。在这种情况下,不能获得最佳的 I/O 性能。

一个更好的选择是,用交错方式在特定磁盘上设置逻辑卷,从而可以平衡 I/O 访问,优化性能(请参阅“将逻辑卷扩展到特定磁盘 ”)。

因为没有任何 HP-UX 命令可以确定用于原始数据的逻辑卷内容,所以,可以用容易识别的名称来命名为原始数据而创建的逻辑卷。通过这个方法,可以识别这种逻辑卷的内容。有关详细信息,请参阅“命名逻辑卷”

使用磁盘 I/O 接口

LVM 支持使用 SCSI、HP-FL 以及 HP-IB I/O 接口类型(支持程度有限)的磁盘,如表 6-1 “磁盘接口类型和 LVM 支持 ” 所示。

表 6-1 磁盘接口类型和 LVM 支持

SCSI

HP-FL

HP-IB

是否支持同一个卷组内有其他接口类型的磁盘?

可以

可以

不可以

是否支持坏块重定位?

可以

可以

不可以

是否支持 LVM 镜像?

可以

可以

不可以

 

尽管从表中可以看出,不同接口类型的 HP-FL 和 SCSI 磁盘可以属于同一个卷组,但为了实现最佳性能,应该使它们位于不同的卷组中,每个卷组包含的磁盘具有相同的模式。也就是说,每个磁盘应该具有相同的特征,例如大小和旋转速度。HP-IB 磁盘不能与其他类型混合使用。

注释:LVM 可以在所有支持 700 和 800 系列的磁盘上使用。

700 系列系统上不支持 HP-IB 磁盘。

坏块重定位

如果由于磁盘缺陷 LVM 不能存储数据,可使用一种机制将数据存储在磁盘末尾。如果磁盘支持自动坏块重定位(通常称为“硬件容错”),那么 LVM 的坏块重定位机制就没有必要了。

缺省情况下,当创建逻辑卷时,坏块重定位功能生效。可以使用 lvcreate (1M)-r n 选项来禁用坏块重定位功能。

注释:根逻辑卷、交换逻辑卷或转储逻辑卷或大于 256 GB 的物理卷均不支持坏块重定位。

自 HP-UX 11i v2 以后,LVM 便不在软件中执行坏块重定位,但可支持在现代磁盘和磁盘阵列中实现的硬件坏块重定位。LVM 仍可识别并支持以前版本所创建的软件重定位条目,但不会创建新的此类条目。通过 lvchange 启用或禁用坏块重定位不起作用。

lvcreate-r 选项不能用于 HP-IB 设备。

通过备用链路提高可用性

硬件可能会提供与同一个物理卷的双连接(双控制器)功能。HP 高可用性磁盘阵列或 MC/Serviceguard 产品就具有此功能。在这种情况下,可以将 LVM 配置为具有到同一个物理卷的多个路径。如果主链路发生故障,将自动切换到备用链路。使用备用链路将提高可用性。请参阅“设置到物理卷的备用链路 ”

LVM 命名规则

缺省情况下,HP-UX 对物理卷、卷组和逻辑卷使用某些命名规则。在 SAM 内通过 HP-UX 命令使用 LVM 设备或卷组时,或者查看有关它们的信息时,需要用名称来引用它们。

命名物理卷

物理卷是通过它们的设备文件名来标识的,例如:

/dev/dsk/cntndn
/dev/dsk/cntndns2
/dev/rdsk/cntndn
/dev/rdsk/cntndns2

注意,每个磁盘都有一个设备文件和一个字符原始设备文件,后者用 r 来标识。使用哪个名称取决于用磁盘完成什么任务。在上述表示法中,前两个名称代表块设备文件,后两个则代表原始设备文件。

在 HP Integrity 服务器上,请务必使用带有 s2 后缀的设备文件,因为它可表示磁盘上的 HP-UX 分区。在 HP 9000 (PA-RISC) 系统上,请使用不带分区号的设备文件。

物理卷的原始设备文件只能用于以下两个任务:

  • 创建物理卷。此时,设备文件用于磁盘。例如,如果磁盘位于卡实例 3,目标地址 2 和设备号 0,可以表示为 /dev/rdsk/c3t2d0(没有以 s 开头的区号,说明引用的是整个磁盘)。

  • 恢复卷组配置。

对于所有其他任务,请使用设备文件。例如,向卷组添加物理卷时,对磁盘使用该磁盘的设备文件,例如 /dev/dsk/c5t3d0

有关设备文件名的详细信息,请参阅《《Configuring HP-UX for Peripherals》》。

物理地添加了磁盘之后,所有磁盘设备文件在引导系统时自动创建。有关详细信息,请参考 insf (1M)

命名卷组

选择卷组的名称时,该名称必须与在 /dev 下创建的目录的名称相同(请参阅“示例:使用 HP-UX 命令创建逻辑卷”中的第三步和第四步)。名称最多可以包含 255 个字符。

每个卷组必须具有唯一的名称。例如,典型的卷组名可以是 vg01vgrootvg_sales。尽管名称不一定非得以 vg 开头,但推荐这种做法。这些名称经常采用这样的形式:/dev/vgnn。缺省情况下分配名称时,nn00 开始,然后是 0102,依此类推,按照创建卷组的顺序。缺省情况下,根卷组是 vg00,但此名称不是必需的;有关根卷组的详细信息,请稍后参阅“创建根卷组、根逻辑卷和引导逻辑卷 ”

命名逻辑卷

逻辑卷用它们的设备文件名来标识,设备文件名可以由用户来分配,也可以在使用 lvcreate (1M) 创建逻辑卷时进行缺省分配。

由用户分配时,可以选择最多不超过 255 个字符的任意名称。

缺省分配时,这些名称采用以下形式:/dev/vgnn/lvolN(块设备文件形式)和 /dev/vgnn/rlvolN(字符设备文件形式)。号码 N1 开始,然后是 23,依此类推,按照在每个卷组内创建逻辑卷的顺序。

LVM 创建逻辑卷时,同时创建块设备文件和字符设备文件。然后,LVM 将逻辑卷的设备文件放在相应的卷组目录中。

例如,在卷组 vg01 中创建的第一个逻辑卷的缺省块设备文件名具有以下完整路径名:

/dev/vg01/lvol1

如果要创建的逻辑卷将包含销售数据库的原始数据,可能需要使用非缺省名称来命名:

/dev/vg01/sales_db_lv

创建了以上示例中的逻辑卷之后,它将有两个设备文件:

/dev/vg01/sales_db_lv    块设备文件
/dev/vg01/rsales_db_lv   字符或原始设备文件

命名物理卷组

物理卷组对镜像很有用,将在“管理镜像文件系统”部分讨论。物理卷组的唯一命名限制是,在卷组内,每个物理卷组必须有自己唯一的名称。例如,卷组 /dev/vg02 可能有两个物理卷组,名为 /dev/vg02/pvg1/dev/vg02/pvg2

使用 SAM 管理逻辑卷

使用 SAM,可以执行绝大多数(但不是所有) LVM 管理任务。可以利用 SAM 执行的任务包括:

这些任务也可以利用 HP-UX 命令来执行(请参阅下节以及上面提到的特定章节)。

要使用 SAM,请输入 sam

有关使用 SAM 的帮助信息,请参阅 SAM 的联机帮助。

使用 HP-UX 命令管理逻辑卷

如上所述,由 SAM 执行的所有磁盘管理任务也可以使用 HP-UX 命令来完成。

下表给出了执行特定任务需要使用的命令的一般信息。有关详细信息,请参考《《HP-UX Reference》》。

表 6-2 物理卷管理任务所需命令

任务

所需命令

更改卷组中物理卷的特征。

pvchange (1M)

在卷组中创建物理卷。

pvcreate (1M)

显示卷组中物理卷的信息。

pvdisplay (1M)

将数据从一个物理卷移动到另一个物理卷。

pvmove (1M)

从 LVM 控制中删除物理卷。

pvremove (1M)

 

表 6-3 卷组管理任务所需命令

任务

所需命令

创建卷组。

vgcreate (1M) [1] [2]

删除卷组。

vgremove (1M) [3]

激活、停用或更改卷组的特征。

vgchange (1M)

备份卷组配置信息。

vgcfgbackup (1M) [4]

从配置文件恢复卷组配置。

vgcfgrestore (1M)

显示有关卷组的信息。

vgdisplay (1M)

导出卷组及其相关联的逻辑卷。

vgexport (1M)

将卷组导入到系统上,也用来将现有的卷组添加回 /etc/lvmtab

vgimport (1M) [5]

扫描所有物理卷,寻找逻辑卷和卷组,允许恢复 LVM 配置文件 /etc/lvmtab

vgscan (1M)

将磁盘添加到卷组。

vgextend (1M) [6]

从卷组删除磁盘。

vgreduce (1M)

[1] 在执行命令前,必须先使用 pvcreate 创建一个或多个物理卷。

[2] 还需要为卷组创建一个目录,并在目录中创建一个 group 设备文件。有关详细信息,请参阅“示例:使用 HP-UX 命令创建逻辑卷”lvm (7)

[3] 如果逻辑卷存在于卷组内,必须首先使用 lvremove 进行删除。并且,该卷组包含的物理卷不得超过一个。如果超过一个,则首先使用 vgreduce

[4] 只要进行了配置更改,就自动调用。

[5] 还需要为卷组创建一个目录,并在目录中创建一个 group 设备文件。有关详细信息,请参阅“示例:使用 HP-UX 命令创建逻辑卷”lvm (7)

[6] 在执行命令前,必须先使用 pvcreate 创建一个或多个物理卷。

 

表 6-4 逻辑卷管理任务所需命令

任务

所需命令

创建逻辑卷。

lvcreate (1M)

修改逻辑卷。

lvchange (1M)

显示有关逻辑卷的信息。

lvdisplay (1M)

通过分配磁盘空间增加逻辑卷的大小。

lvextend (1M)

减小逻辑卷的大小。

lvreduce (1M) [1]

删除卷组内一个或多个逻辑卷的磁盘空间分配。

lvremove (1M)

准备将逻辑卷作为根卷、主交换卷或转储卷。

lvlnboot (1M) [2]

删除使逻辑卷成为根卷、主交换卷或转储卷的链路。

lvrmboot (1M)

将文件系统增大到逻辑卷的最大容量。

extendfs (1M) [3]

将一个镜像逻辑卷拆分为两个逻辑卷。

lvsplit (1M) [4]

将两个逻辑卷合并为一个逻辑卷。

lvmerge (1M)[5]

[1] 要防止数据丢失以及可能发生的文件系统损坏,请先备份内容。

[2] 只要以下命令之一影响了根卷组的配置,就自动调用:lvextendlvmergelvreducelvsplitpvmovelvremovevgextendvgreduce

[3] 首先需要卸除文件系统,然后使用 lvextend 增加包含文件系统的逻辑卷的大小。如果使用的是 JFS (VxFS) 并且拥有 OnLineJFS 产品,可以利用 fsadm (1M) 联机调整大小(有关其他信息,请参阅《《Disk and File Management Tasks on HP-UX》》)。

[4] 需要可选的 HP MirrorDisk/UX 软件。

[5] 需要可选的 HP MirrorDisk/UX 软件。

 

示例:使用 HP-UX 命令创建逻辑卷

要创建逻辑卷,请执行下列步骤:

  1. 选择一个或多个磁盘。用ioscan (1M) 可以显示连接到系统的磁盘以及它们的设备文件名。

  2. 使用 pvcreate 命令将每个磁盘初始化为 LVM 磁盘。例如,输入:

    pvcreate /dev/rdsk/c0t0d0

    注意,使用 pvcreate 将导致物理卷上任何现有的数据丢失。

    对磁盘使用字符设备文件。

    本示例显示了为 HP 9000 (PA-RISC) 系统的设备文件名;在 HP Integrity 服务器上,请确保此设备文件指定了 HP-UX 分区号。例如,输入:

    pvcreate /dev/rdsk/c3t1d0s2

    磁盘初始化后,就称为物理卷。

  3. 将物理卷集中到一个卷组。要完成此任务,请执行下列步骤:

    1. 为卷组创建一个目录。例如:

      mkdir /dev/vgnn

    2. 使用 mknod 命令在上面的目录中创建一个名为 group 的设备文件。

      mknod /dev/vgnn/group c 64 0xNN0000

      跟在设备文件名后面的 c 指示 group 是字符设备文件。

      64group 设备文件的主编号,主编号始终是 64

      0xNN0000group 文件的十六进制形式的次编号。注意,每个具体的 NN 必须在所有卷组中是唯一的。

      有关 mknod 的详细信息,请参阅 mknod (1M);有关主编号和次编号的详细信息,请参阅《《Configuring HP-UX for Peripherals》》。

    3. 使用 vgcreate 创建卷组,同时指定卷组中包括的每个物理卷。例如:

      vgcreate /dev/vgnn /dev/dsk/c0t0d0

      使用设备文件包括卷组中的每个磁盘。可以用一个命令将所有物理卷分配给卷组。其中任何物理卷不能属于现有卷组。

  4. 创建卷组后,就可以使用 lvcreate 创建逻辑卷。例如:

    lvcreate /dev/vgnn

    使用上面的命令创建逻辑卷 /dev/vgnn/lvoln,LVM 自动分配 lvoln 中的 n

    LVM 创建逻辑卷时,它创建块设备文件和字符设备文件,并将它们放在目录 /dev/vgnn 中。

只能用 HP-UX 命令执行的任务

以下任务只能使用 HP-UX 命令来完成。使用 SAM 无法完成这些任务。

下面讲述了如何完成其中的每个任务。

将逻辑卷扩展到特定磁盘

假设要创建 300 MB 的逻辑卷,将 100 MB 放在第一个磁盘上,100 MB 放在第二个磁盘上,另外 100 MB 放在第三个磁盘上。要完成这个任务,请执行下列步骤:

  1. 使磁盘成为物理卷并创建卷组后,创建大小为 0、名为 lvol1 的逻辑卷。

    lvcreate -n lvol1 /dev/vg01

  2. 现在将 25 个盘区分配给第一个物理卷上的逻辑卷(在这个例子中,假设每个物理盘区大小为缺省值 4 MB)。

    lvextend -l 25 /dev/vg01/lvol1 /dev/dsk/c1t0d0

  3. 然后,对其余的物理卷,将分配给逻辑卷的物理盘区的总数增加 25。在每个例子中,另有 25 个盘区分配给指定的磁盘。

    lvextend -l 50 /dev/vg01/lvol1 /dev/dsk/c2t0d0

    lvextend -l 75 /dev/vg01/lvol1 /dev/dsk/c3t0d0

注意,在使用 lvextend-l 选项(小写的 L)时,就指定了以逻辑盘区为单位的空间。

现在假设卷组中有两个磁盘,具有相同的磁盘模式。目前有 275 MB 的逻辑卷只驻留在其中一个磁盘上。要将逻辑卷大小扩展到 400 MB,确保其中增加的 125 MB 被分配给另一个磁盘。

再次将逻辑卷扩展到特定磁盘。

lvextend -L 400 /dev/vg01/lvol2 /dev/dsk/c2t0d0

在这里,当使用 -L 选项(大写)时,就指定了以 MB 为单位的空间,而不是以逻辑盘区为单位。

有关命令选项的完整信息,请参阅 lvextend (1M)

创建根卷组、根逻辑卷和引导逻辑卷

对于非 LVM 磁盘,一个根磁盘包括了引导所需的所有属性,以及系统文件、主交换和转储。使用 LVM,单个根磁盘被一组磁盘,即根卷组所取代。根卷组包含上面的所有元素,还可以提供根逻辑卷引导逻辑卷交换逻辑卷以及一个或多个转储逻辑卷。这些类型的逻辑卷中的每个逻辑卷必须是连续的,也就是说,包含在单个磁盘上(此外,可以有其他不连续的逻辑卷,可能用于用户数据)。有关交换逻辑卷和转储逻辑卷的详细信息,请参阅“管理交换和转储”

根逻辑卷包含操作系统软件。可以选择使用单独的引导逻辑卷,而不是在一个逻辑卷内既有根操作又有引导操作。当配置既有根操作又有引导操作的逻辑卷时,存储的信息使系统能够找到位于两个位置(而不是只有一个位置,这是只使用根逻辑卷的情况)的内核。因此,即使通常对系统引导至关重要的 LABEL 文件受到损坏,仍然能够引导系统。

无论是使用根与引导“结合的”逻辑卷,还是使用单独的根逻辑卷和引导逻辑卷,用于引导系统的逻辑卷必须是其物理卷上的第一个逻辑卷。如果根逻辑卷不是其物理卷上的第一个逻辑卷,那么,还必须配置引导逻辑卷。根逻辑卷和引导逻辑卷必须是连续的,同时禁用坏块重定位。

如果新安装 11.00 系统,并且选择 LVM 配置,将自动配置根卷组,并配置单独的根逻辑卷和引导逻辑卷。如果目前使用的是根和引导结合的逻辑卷,要重新配置为单独的根逻辑卷和引导逻辑卷,那么,在创建引导逻辑卷之后,需要使用带有 -b 选项的 lvlnboot (1M) 命令将引导逻辑卷定义到系统,在下一次引导系统时新配置即生效。例如:

lvlnboot -b /dev/vgroot/bootlv

如果要从头创建包含备用引导磁盘的根卷组,可以执行下面的步骤。如果需要修改现有根逻辑卷,包括增加其大小,或者可能将其更改为根和引导结合的逻辑卷,也可以使用这些步骤,稍加改动即可。修改现有的根逻辑卷时,要在进行修改之前备份当前的根逻辑卷,修改完成后再将它复制回新的文件系统。

  1. 使用带有 -B 选项的 pvcreate 创建物理卷。-B 在磁盘上为 LIF 卷、引导实用程序和 BDRA(引导数据保留区域)创建一个区域。

    注释:BDRA 必须存在于根卷组内的每个可引导磁盘上。BDRA 维护内核需要的、有关包含根的逻辑卷以及那些包含主交换和转储的逻辑卷的信息。

    有关 LIF 卷的详细信息,请参阅 lif (4)

    例如:

    pvcreate -B /dev/rdsk/c0t3d0

  2. 使用 mkdir 为卷组创建目录。

  3. 使用 mknod 命令在上面的目录中创建名为 group 的设备文件(有关详细信息,请参阅“示例:使用 HP-UX 命令创建逻辑卷”)。

  4. 使用 vgcreate 创建根卷组,同时指定卷组中包括的每个物理卷。例如:

    vgcreate /dev/vgroot /dev/dsk/c0t3d0

  5. 使用 mkboot (1M) 将引导实用程序放在引导区域中:

    mkboot /dev/rdsk/c0t3d0

  6. 使用 mkboot -a 在引导 LIF 区域中添加 AUTO 文件:

    mkboot -a "hpux (;0)/stand/vmunix" /dev/rdsk/c0t3d0

现在,可以创建要用于根的逻辑卷了。通常将这个逻辑卷放在特定的物理卷上。如果要配置根和引导结合的逻辑卷,根逻辑卷必须是可引导 LVM 磁盘上第一个逻辑卷。在这种情况下,这说明根逻辑卷必须从物理盘区 0000 开始。在必须以维护模式引导系统时,这一点非常重要。包含根逻辑卷的磁盘在引导区之后的区域中不应该有非根数据。

注释:如果有必要为根逻辑卷腾出空间,可以使用 pvmove (1M) 将数据从现有的逻辑卷移动到另一个磁盘。

继续执行下列步骤:

  1. 创建根逻辑卷。必须指定连续的盘区 (-C y),同时禁用坏块重定位
    (-r n)。例如,要在卷组 /dev/vgroot 中创建名为 root 的逻辑卷,请输入:

    lvcreate -C y -r n -n root /dev/vgroot

  2. 将根逻辑卷扩展到已经添加的磁盘。例如:

    lvextend -L 160 /dev/vgroot/root /dev/dsk/c0t3d0

  3. 指定该逻辑卷作为根逻辑卷:

    lvlnboot -r /dev/vgroot/root

创建根逻辑卷后,需要创建文件系统(请参阅“创建文件系统”)。

备份和恢复卷组配置

无论何时,对卷组配置作了任何更改,都应保存配置信息,这一点非常重要,例如以下的更改:

  • 将磁盘添加到卷组或从卷组删除磁盘

  • 更改根卷组中的磁盘

  • 创建或删除逻辑卷

  • 增大或缩小逻辑卷

需要随时保存的原因是,每个卷组配置是唯一的,经常会更改,并且可能使用几个磁盘上的空间,这与固定的磁盘区或未分区磁盘不同,它们的开始位置和结束位置都是某个磁盘上的已知位置。

随时保存卷组配置的结果是,在发生磁盘故障或者 LVM 配置信息被破坏时(例如,意外地或不正确地使用了诸如 newfsdd 这样的命令),能够恢复损坏的或丢失的 LVM 配置。

vgcfgbackup 命令用于创建或更新包含卷组配置的备份文件(vgcfgbackup 不会备份逻辑卷中的数据;请使用“备份数据”中所述的备份过程)。为了简化备份过程,缺省情况下,只要使用下列任意命令对配置进行更改, vgcfgbackup 便会被自动调用:

  • lvchange

  • lvcreate

  • lvextend

  • lvlnboot

  • lvmerge

  • lvreduce

  • lvremove

  • lvrmboot

  • lvsplit

  • pvchange

  • pvmove

  • vgcreate

  • vgreduce

  • vgextend

可以使用 vgcfgbackup 显示以前备份的 LVM 配置信息,或使用 vgcfgrestore 恢复这些信息。

缺省情况下,vgcfgbackup 将卷组的配置保存到文件 /etc/lvmconf/
卷组名
.conf

也可以在命令行运行 vgcfgbackup,将备份文件保存到指定的任何目录中。如果要这样做,请首先运行带有 -v 选项的 vgdisplay,确保卷组中的所有逻辑卷显示为 available/syncd。之后,再运行:

vgcfgbackup -f 路径名/文件名 卷组名

如果使用非缺省卷组配置文件,要记住它的位置。有关命令选项的信息,请参考 vgcfgbackup (1M)

在运行 vgcfgrestore 之前,需要利用 vgchange (1M) 停用卷组。

例如,要恢复 /dev/dsk/c4t0d0(卷组 /dev/vgsales 中的一个磁盘)的卷组配置数据,请输入:

vgchange -a n /dev/vgsales

vgcfgrestore -n /dev/vgsales /dev/rdsk/c4t0d0

此操作将 LVM 配置从缺省备份位置 /etc/lvmconf/vgsales.conf 恢复到磁盘。

要激活该卷组,请再次运行 vgchange

vgchange -a y /dev/vgsales

有关命令选项的信息,请参考 vgcfgrestore (1M)

移动和重新配置磁盘

有时候,可能需要:

  • 将卷组中的磁盘移动到系统上另一个硬件位置

  • 将整个磁盘卷组从一个系统移动到另一个系统

注意:建议不要移动作为根卷组的一部分的磁盘。有关详细信息,请参阅《《Configuring HP-UX for Peripherals》》。

文件 /etc/lvmtab 包含系统上的 LVM 磁盘映射到卷组的信息,即,卷组名和卷组中包括的物理卷的列表。执行上面的两项任务时,必须更改 LVM 配置文件 /etc/lvmtab,使其反映新的硬件位置和磁盘的设备文件。但是,不能直接编辑此文件,因为它不是文本文件。必须使用 vgexportvgimport 重新配置卷组,配置更改被记录在 /etc/lvmtab 文件中

在系统内移动磁盘

要将卷组中的磁盘移动到系统上另一个硬件位置,请执行下列步骤:

  1. 确保已有卷组内数据和卷组配置的最新备份。

  2. 输入下面的命令停用卷组:

    vgchange -a n /dev/卷组名
  3. 输入以下命令从 /etc/lvmtab 中删除卷组条目,从系统中删除相关联的设备文件:

    vgexport /dev/卷组名
  4. 然后,将磁盘物理地移动到所需的新位置。

  5. 要查看新位置,请输入:

    vgscan -v

  6. 现在,将卷组条目重新添加回 /etc/lvmtab,将相关联的设备文件添加回系统:

    1. 使用 mkdir 为卷组创建一个新目录。

    2. 使用 mknod 在上面的目录中创建一个 group 文件。

    3. 执行 vgimport 命令:

      vgimport /dev/卷组名 物理卷 1 路径

  7. 激活新导入的卷组:

    vgchange -a y /dev/卷组名

  8. 备份卷组配置:

    vgcfgbackup /dev/卷组名

跨系统移动磁盘

下面的示例说明了将卷组中的磁盘移动到另一个系统中的另一个硬件位置的过程。

假设要将卷组 /dev/vg_planning 中的三个磁盘移动到另一个系统。请执行下列步骤:

  1. 确保用户不能使用卷组及其相关联的逻辑卷(如果其中任何逻辑卷包含文件系统,必须卸除该文件系统。如果其中的任何逻辑卷被用作次交换,需要禁用交换,然后重新引导系统。有关次交换的信息,请参阅“主交换和次交换 ”)。

    vgchange -a n /dev/vg_planning

  2. 使用 vgexport (1M) 将卷组信息从 /etc/lvmtab 文件删除。可以先使用 -p 选项预览 vgexport 操作。

    vgexport -p -v -m plan_map vg_planning

    利用 -m 选项,可以指定映射文件的名称,映射文件将保留从 /etc/lvmtab 文件删除的信息。此文件非常重要,因为它将包含卷组中所有逻辑卷的名称。

    设置新系统上的卷组时,将使用此映射文件。

    如果预览结果令人满意,就运行不带有 -p 的命令。

    vgexport -v -m plan_map vg_planning

    现在,vgexport 实际上从系统中删除了卷组。然后,该命令创建 plan_map 文件。

    一旦 /etc/lvmtab 文件不再有已配置的 vg_planning 卷组信息,就可以关闭系统,断开磁盘的连接,在新系统上连接磁盘。将文件 plan_map 转到新系统上的 / 目录。

  3. 在新系统上,创建新的卷组目录和 group 文件。

    cd /
    mkdir /dev/vg_planning
    cd /dev/vg_planning

    创建 group 文件时,指定反映卷组号的次编号(卷组编号从 00 开始。例如,第五个卷组的卷组号是 04)。

    mknod /dev/vg_planning/group c 64 0x040000

  4. 将磁盘添加到新系统。

    在新系统上安装磁盘后,键入

    ioscan -fun -C disk

    以得到这些磁盘的设备文件信息。

  5. 现在,执行 vgimport 命令。要进行预览,请使用 -p 选项。

    vgimport -p -v -m plan_map /dev/vg_planning \
      /dev/dsk/c6t0d0 /dev/dsk/c6t1d0 /dev/dsk/c6t2d0

    要真正导入卷组,再执行不带有 -p 的命令。

  6. 最后,激活新导入的卷组:

    vgchange -a y /dev/vg_planning

将数据移动到另一个物理卷

可以使用 pvmove 将逻辑卷中包含的数据从一个磁盘移动到另一个磁盘,或者在卷组内的磁盘之间移动数据。

例如,只想将某个逻辑卷的数据从一个磁盘移动到另一个磁盘,以便将第一个磁盘上腾出的空间用于其他目的。要将逻辑卷 /dev/vg01/markets 中的数据从磁盘 /dev/dsk/c0t0d0 移动到磁盘 /dev/dsk/c1t0d0,请输入

pvmove -n /dev/vg01/markets /dev/dsk/c0t0d0 \
  /dev/dsk/c1t0d0

另一方面,要将一个磁盘上包含的所有数据移动到同一个卷组内的另一个磁盘,无论这些数据与哪个逻辑卷相关联。例如,可能会因为要从卷组中删除磁盘而需要这样做。可以使用 pvmove 将数据移动到所选择的某个磁盘,或者让 LVM 将数据移动到卷组内合适的可用空间。

要将所有数据从磁盘 /dev/dsk/c0t0d0 移出来,将数据再放在目标磁盘 /dev/dsk/c1t0d0 上,请输入:

pvmove /dev/dsk/c0t0d0 /dev/dsk/c1t0d0

要将所有数据从磁盘 /dev/dsk/c0t0d0 移出来,并且让 LVM 将数据转移到卷组内的可用空间,请输入:

pvmove /dev/dsk/c0t0d0

在上面的两个例子中,如果目标磁盘上没有空间,将不能成功执行 pvmove 命令。

减小逻辑卷大小

可能出于下列几个原因需要减小逻辑卷大小:

  • 可能需要将逻辑卷用于其他用途,这个用途不同于最初创建逻辑卷时设定的用途,且新用途需要的空间减少了。也就是说,要将逻辑卷转变为一个完全不同的、较小的逻辑卷。

  • 另一个可能性是,因为磁盘空间有限,可能需要释放一些磁盘空间给磁盘上的另一个逻辑卷,所以要减小一个其大小超过了目前所需的逻辑卷。

  • 最后,如果要减小逻辑卷内文件系统的大小,首先需要减小逻辑卷的大小。请参阅“用较小的文件系统替换现有的文件系统 ”

使用 lvreduce 命令来减小逻辑卷大小。

如果将磁盘空间用于新的用途,并且不需要逻辑卷中包含的数据,就没有必要进行备份。但是,如果要保留数据,并将其转入到变小的逻辑卷中,必须首先进行备份,然后等创建完较小逻辑卷后再恢复备份的数据。

可以替代使用 lvreduce 的方法是,使用 lvremove 命令删除逻辑卷,然后再使用 lvcreate 创建一个新的逻辑卷。

注意:只有在不再需要逻辑卷的当前内容或者已经安全地将内容备份到磁带或另一个逻辑卷上的时候,才能减小逻辑卷的大小。

将逻辑卷大小减小为小于逻辑卷内包含的文件系统的大小后,必须重新创建文件系统,如“创建文件系统”所述,然后恢复文件。因此,在计划减小逻辑卷大小时,必须知道逻辑卷 内容的大小,这一点很关键。有关详细信息,请参阅“减小逻辑卷的大小后出现的问题”

一旦某个文件系统已创建完毕,减小其大小就不是一个简单的任务了。有关详细信息,请参阅“减小逻辑卷”“用较小的文件系统替换现有的文件系统 ”

设置到物理卷的备用链路

到物理卷的备用链路如前面的“通过备用链路提高可用性”所述。要使用备用链路,可以使用 vgcreate 创建卷组,指定主链路设备文件名和备用链路设备文件名。两者都必须代表到同一个物理卷的路径(不要在备用链路上运行 pvcreate,它必须是与主链路相同的物理卷)。使用 vgcreate 指定引用同一个磁盘的两个设备文件名时,LVM 将第一个设备文件名配置为主链路,将第二个配置为备用链路。

例如,如果磁盘有两条线缆,要将一条用作主链路,另一条用作备用链路,请输入:

vgcreate /dev/vg01 /dev/dsk/c3t0d0 /dev/dsk/c5t0d0

要添加到物理卷的备用链路(该物理卷已经是卷组的一部分),使用 vgextend 指定到物理卷的新链路。例如,如果 /dev/dsk/c2t0d0 已经是卷组的一部分,但还希望再添加另一个到物理卷的连接,请输入:

vgextend /dev/vg02 /dev/dsk/c4t0d0

如果主链路发生故障,LVM 将自动从主链路控制器切换到备用控制器。也可以在任何时间让 LVM 切换到另一个控制器,例如,输入以下命令

pvchange -s /dev/dsk/c2t1d0

主链路恢复后,LVM 将自动从备用控制器切换回去,除非已使用 pvchange 命令它不要切换回去,如下所示:

pvchange -S n /dev/dsk/c2t2d0

使用带有 -v 选项的 vgdisplay 可以查看到物理卷的当前链路。

临时断开物理卷的链路

使用 pvchange 命令可以临时禁用物理卷的一个或所有物理路径或链路。禁用链路,也称为断开链路,将导致 LVM 关闭该设备的路径并停止使用它;如果您希望保证某个链路处于闲置状态(例如当您在 I/O 卡上运行诊断程序时、替换 I/O 卡时,或者替换包含物理卷的磁盘时),则该功能将非常有用。

断开物理卷的链路是临时操作,而不是永久性操作。如果希望永久性地删除卷组中的链路或物理卷,请改为使用 vgreduce

要断开物理卷的链路,请使用带 -a 选项的 pvchange。例如,要禁用通过设备 /dev/dsk/c5t0d0 的链路,请输入:

pvchange -a n /dev/dsk/c5t0d0

要断开物理卷的所有链路,请使用 N 作为 -a 选项的参数:

pvchange -a N /dev/dsk/c5t0d0

断开物理卷的一个或多个链路不一定会导致 LVM 完全停止使用该物理卷。如果断开的链路是设备的主路径,则 LVM 将开始使用该设备的任何可用的备用链路。只有在物理卷的所有链路都被断开之后,LVM 才会停止使用该物理卷。

如果设备的所有链路都已断开,则关联的物理卷对于卷组来说将不可用。链路仍然与卷组关联,但 LVM 不会对该物理卷排队任何 I/O 请求,直到重新连接该物理卷。这意味着该物理卷上的数据将临时不可用;因此在通过断开设备连接使之不可用之前,作为管理员必须确保满足该数据的所有可用性要求(必要时通过镜像操作)。

断开链路不会禁用备用操作。也就是说,如果物理卷的所有链路都已断开,并且卷组中有一个合适的可用备用物理卷,则 LVM 将使用该备用物理卷重新构建断开连接的磁盘。有关备用操作的详细信息,请参阅“发生磁盘故障时保持高可用性”

使用带 -v 选项的 vgdisplay 可以查看物理卷所有链路的状态。

恢复物理卷的已断开链路

恢复物理卷的已断开链路,即重新连接它,可使该链路对于卷组可用。LVM 会根据需要开始使用该链路访问磁盘。

要重新连接物理卷的特定路径,请使用带 -a 选项的 pvchange 命令。例如,输入:

pvchange -a y /dev/dsk/c5t0d0

由于断开物理卷的链路是临时的,因此卷组中所有已断开的链路将在卷组被激活(引导时或明确使用 vgchange 命令)时重新连接,例如:

vgchange -a y /dev/vg02

设置磁盘条带化

使用磁盘条带化时,将创建跨越多个磁盘的逻辑卷,且允许连续的数据块放在不同磁盘上的逻辑盘区。例如,一个三个条带的逻辑卷的数据分布在三个磁盘上,每个磁盘存储该数据块的三分之一。每个三分之一块的大小称为逻辑卷的条带大小

磁盘条带化可以提高那些读写巨大的、按顺序访问的文件的应用程序的性能。同时在多个磁盘上执行数据访问与对一个磁盘执行相同操作相比,可以减少所需的时间。如果所有条带化磁盘都有自己的控制器,每个磁盘可以同时处理数据。

可以使用熟悉的标准命令来管理条带化磁盘。例如,lvcreate (1M)
diskinfo (1M)
newfs (1M)fsck (1M)mount (1M) 都可以用于条带化磁盘。

下面的大部分准则都适用于一般的 LVM 磁盘使用,尤其适用于可提高性能的条带化逻辑卷:

  • 分布在相似磁盘上的条带化逻辑卷可以实现最佳性能。条带化磁盘在速度、容量和接口类型方面越接近,所实现的性能就越高。例如,如果条带化跨越几个速度、性能都不一样的磁盘,性能只相当于最慢的磁盘的性能。

  • 如果有多个可以连接磁盘的接口卡或总线,请尽可能在它们之间平均地分布磁盘。也就是说,与每个接口卡或总线连接的磁盘应该在数量上大致相同。当使用多条总线并交错分布逻辑卷条带时,将获得更高的 I/O 性能。例如,如果有两条总线,每条总线连接两个磁盘,磁盘的顺序应该是:磁盘 1 在总线 1 上,磁盘 2 在总线 2 上,磁盘 3 在总线 1 上,磁盘 4 在总线 2 上,如图 6-4 “在总线之间交错放置磁盘” 所示。

    图 6-4 在总线之间交错放置磁盘

    在总线之间交错放置磁盘
  • 增加磁盘数不一定能提高性能。这是因为,条带化逻辑卷中组合的磁盘获得的最好性能要受到文件系统本身的最大吞吐量以及磁盘所连接的总线的最大吞吐量的限制。

请执行下列步骤创建条带化逻辑卷:

  1. 使用 pvcreate 使磁盘成为 LVM 磁盘。

  2. 使用 vgcreatevgextend 将磁盘放在新卷组或现有的卷组中。

  3. 创建条带化逻辑卷,使用 lvcreate-i-I 选项定义其条带化特征。条带的数目必须在 2 到卷组中磁盘的最大数目之间这一范围。条带大小,即(以 KB 为单位)构成条带的每个数据块的大小,必须是以下大小之一:4、8、16、32 或 64。如果打算将条带化逻辑卷用于 JFS (VxFS) 文件系统,那么建议使用 64 KB 的条带大小。

    现在,假设要在三个磁盘上进行条带化,并采用 32 KB 的条带大小。逻辑卷大小是 24 MB。要创建条带化逻辑卷,请输入:

    lvcreate -i 3 -I 32 -L 24 -n lvol1 /dev/vg01

    lvcreate 自动将逻辑卷大小向上舍入为磁盘数与盘区大小相乘后的倍数。

    例如,如果要在三个磁盘上进行条带化,并且选择缺省的 4 MB 盘区,虽然逻辑卷大小为 200 (-L 200),lvcreate 将创建 204 MB 的逻辑卷,因为 200 不是 12 的倍数。

    注释:在多个磁盘上进行条带化时,条带化的卷大小不能超过其中最小磁盘的容量乘以条带化中使用的磁盘数所得的数值。

    有关确定最佳条带大小的准则,请参阅“确定最佳条带大小”

确定最佳条带大小

逻辑卷的条带大小确定了构成条带的每个数据块的大小。可以将条带大小设置为 4、8、16、32 或 64 KB(缺省大小为 8 KB)。

注释:逻辑卷的条带大小与磁盘的物理扇区大小无关,磁盘扇区大小通常为 512 字节。

条带化逻辑卷的使用方式将决定条带大小的指定值。

要实现最佳结果:

  • 如果要将条带化逻辑卷用于 HFS 文件系统,请执行下列操作:

    选择最接近文件系统块大小的条带大小。使用 newfs 命令,可以在建立文件系统时指定块大小,并为 HFS 提供缺省的 8 KB 块大小。

  • 如果要将条带化逻辑卷用于 JFS (VxFS) 文件系统,请执行下列操作:

    使用最大的可用大小,即 64 KB。出于 I/O 的考虑,JFS 将块组成盘区,盘区的大小不同,而且可能很大。在这种情况下,已配置的块大小,缺省为 1 KB(任何情况下,只控制直接块),就显得不是很重要了。有关详细信息,请参阅“有关定期文件系统的常见问题”

  • 如果希望将条带化逻辑卷用作交换空间,请执行下列操作:

    将条带大小设置为 16 KB,以实现最佳性能。有关配置交换的信息,请参阅“为交换设置逻辑卷”“配置主交换和次交换 ”

  • 如果希望将条带化逻辑卷用作原始数据分区(例如,用于直接使用设备的数据库应用程序),请执行下列操作:

    条带大小应该与应用程序的主 I/O 大小一样。

可能需要进行一些试验,才能确定适于特定情况的最佳条带大小。要更改条带大小,需要重新创建逻辑卷。

LVM 故障排除

无法从逻辑卷引导

如果无法从逻辑卷引导,可能存在许多原因。除了与从非 LVM 磁盘进行引导有关的同一类问题外,以下任何原因都可能导致基于 LVM 的系统无法引导:

  • 对于 LVM 磁盘,在每个可引导的 LVM 磁盘的开始,有指针指向位于 BDRA 内的根文件系统、主交换区域和转储区域,同时还有有关每个区域大小的信息。这些 LVM 指针可能已经被损坏、不是当前指针或不再存在。因为维持 BDRA 内的信息更新非常重要,所以,只要所作的更改影响了根逻辑卷、引导逻辑卷、主交换逻辑卷或转储逻辑卷的位置,就要立即使用 lvrmboot 和(或)lvlnboot 命令。

  • 系统试图在逻辑卷上配置根区域、交换区域或转储区域,但它试图使用的磁盘不是 LVM 磁盘。

  • 系统试图从上面有 LVM 信息的磁盘分区进行引导。

  • 根卷组中没有可以达到 Quorum 的足够磁盘。在引导时,将看到一条消息,表明没有足够的物理卷。

现在将详细讲解上面的第一条和最后一条。

LVM 数据结构丢失时进行引导

当关键的 LVM 数据结构已丢失时,需要使用 HP-UX 产品套件中包括的 Support Media 的恢复部分,从备份磁带恢复损坏的磁盘映像。有关详细信息,请参阅《《Support Media User's Manual》》的附录 B。

使 LVM 磁盘在最低限度内可引导之后,可以在 ISL> 提示符处使用 hpux 命令的 -lm 选项在维护模式下引导系统。其结果是将系统引导到没有 LVM 和转储、但可以访问根文件系统的单用户状态。

维护模式是引导系统的一种特殊方法,它绕过了正常的 LVM 结构。这种模式只应该在出现了无法用其他方式引导系统的问题时使用。这种模式很类似单用户状态:通常启动的许多进程不启动,通常要执行的许多系统检查也不执行。这样,允许用户一步步地引导系统,使用 vgcfgrestore 修复对系统的 LVM 数据结构的破坏,然后,就可以按正常方式引导系统。

在 LVM 维护模式下,不能将系统引入多用户状态(即,运行级别 2 或更高级别)。而且,不要激活根卷组。这可能会导致根文件系统的破坏。

要退出 LVM 维护模式,请使用 reboot -n

卷组不激活

一般情况下,卷组在系统启动期间自动激活。除非使用 vgchange 有意停用卷组,否则,可能不需要激活卷组。然而,LVM 却要求卷组中可用的磁盘必须达到 Quorum。在引导期间,LVM 需要根卷组中包括的一半以上的磁盘,才能激活该卷组;这说明,其中的大部分磁盘必须联机且可用。因此,如果根卷组中有两个磁盘,需要一半以上的磁盘就表示两个磁盘都必须可用。要成功引导系统,LVM 需要根卷组中一半以上的磁盘。

另一个与激活卷组有关的可能问题是 /etc/lvmtab 文件损坏或丢失。可以使用 vgscan (1M) 命令重新创建 /etc/lvmtab 文件。

在运行时,一旦卷组处于活动状态,如果磁盘发生故障或离线,就可能达不到 Quorum。如果为卷组定义的物理卷只有不到一半可用,就会发生这种情况。例如,如果卷组中有两个磁盘,丢失一个磁盘不会导致达不到 Quorum,像引导时的情况;相反,两个磁盘需要都处于不可用状态。如果发生这种情况,卷组仍然保持活动状态;不过,一条消息将显示在控制台,提示卷组已丢失 Quorum。在恢复 Quorum 之前(上面示例中,卷组中至少一个 LVM 磁盘再次变为可用),LVM 不允许执行绝大多数影响卷组配置的命令。而且,对该卷组的逻辑卷的有些 I/O 访问可能会挂起,因为作为逻辑卷基础的磁盘不可访问。并且,在恢复 Quorum 之前,Mirror Write Cache (MWC) 不更新,因为 LVM 不能保证 L