系统安装时,就会创建一个rootvg卷组。rootvg卷组包含自带硬盘(内置硬盘)和系统逻辑卷,一个系统只能有一个rootvg卷组。如果系统中有足够的硬盘,可以给rootvg添加一块硬盘

一、创建卷组(VG)

    创建卷组前,需要知道:

    1.卷组名字

    2.卷组包含哪些物理卷(PV)

    3.确定物理分区(PP)大小:默认为4M,一个物理卷最多能包含1016个物理分区

    4.新建卷组在启动时是否自动激活

    5.确定新卷组最多能容纳多少个物理卷

    例:添加一个新卷组datavg,包含物理卷hdisk6,hdisk7和hdisk8,该卷组中物理分区大小为8M,要求该卷组中最多有6个物理卷,其在系统启动时自动激活新卷组

    命令:mkvg -y datavg -d 6 -s 8 hdisk6 hdisk7 hdisk8

    参数:

    -s:指定PP大小,如果没有指定,mkvg命令会根据卷组所使用的磁盘计算出一个合适的PP大小

    -B:在5.2版本中,作用是创建大卷组(Big VG),默认情况下mkvg最多能容纳255个逻辑卷和32个物理卷,加了-B以后,可以达到512个逻辑卷和128个物理卷

    注意:使用-B参数创建的大卷组不能导入到4.3或以下版本

    使用SMIT工具创建卷组

    命令:smit mkvg

    “VOLUME GROUP name”:输入新卷组名

    “Physical partition SIZE in megabytes”:选择PP大小

    “PHYSICAL VOLUME names”:输入卷组所包含的物理卷名,若有多个物理卷,之间用空格隔开

    “Volume Group MAJOR NUMBER”:指定卷组主设备号,如果不指定,则分配一个。系统内核通过设备主设备号和副设备号来访问

    “Create VG Concurrent Capable”:创建一个具有并发能力的卷组,相当于在使用mkvg时指定了-c参数。只有在使用了HACMP的时候才有效。如果系统使用了HACMP产品,在系统启动时需要自动激活该卷组到并发访问模式,就在“Auto-varyon in Concurrent Mode?”选择yes


二、显示卷组信息

    1.显示系统中卷组的卷组名

    命令:lsvg

    使用-o参数显示当前系统中处于激活状态的卷组名

    命令:lsvg -o

    2.显示卷组的属性

    命令:lsvg rootvg

    VOLUME GROUP:卷组名字

    VG STATE:卷组状态,

                      active/complete卷组处于活动状态,而且所有物理卷都处于活动状态

                      active/partial卷组处于活动状态,但是有一部分物理卷处于非活动状态

                      inactive卷组处于非活动状态

    VG PERMISSION:访问权限,可以只读,也可以同时具有读写两个权限

    MAX LVs:这个卷组中能够创建逻辑卷的最大个数,一般是256个

    LVs:在这个卷组中已经存在的逻辑卷个数

    OPEN LVs:在这个卷组中有多少个逻辑卷当前是打开的,可以进行逻辑卷I/O操作

    TOTAL PVs:该卷组中物理卷总数

    STATE PVs:这个卷组中有多少个陈旧物理卷,即逻辑卷镜像中未同步的物理卷数

    ACTIVE PVs:该卷组中有多少个物理卷处于活动状态

    VG IDENTIFIER:卷组标识符,卷组的标识符在系统范围内唯一,它是由字符和数字组成,5L之前版本只有16位,5L增加到32位

    PP SIZE:这个卷组中物理分区的大小,单位是MB,创建卷组时已制定

    TOTAL PPs:物理分区总数

    FREE PPs:空闲的PP

    USED PPs:已使用的PP

    QUORUM:卷组的磁盘Quorum数

    VG DESCRIPTORS:卷组中VGDA数

    STALE PPs:卷组中有多少个陈旧的物理分区

    AUTO ON:系统启动时,是否自动激活该卷组

    MAX PPs per PV:每个物理卷中允许包含的最大物理分区数

    MAX PVs:卷组中允许包含的最大物理卷数

    LTG size:LTG(逻辑记录组)的大小

    AUTO SYNC:是否同步

    HOT SPARE:是否支持热备

    3.显示卷组中的逻辑卷

    例:显示rootvg信息

    命令:lsvg -l rootvg

    LV NAME:逻辑卷名

    TYPE:页面设备(paging),引导设备(boot),日志型文件系统(jfs),JFS日志(jfslog),系统Dump设备(sysdump)

    LPs:逻辑卷拥有的LP数量

    PPs:分配给逻辑卷的PP数量,如果逻辑卷做了镜像,则显示LP数量与镜像副本数的乘积

    PVs:逻辑卷占有的物理卷数量,也就是LV跨越在多少个硬盘上

    LV STATE:逻辑卷状态,open/syncd(打开和同步)和close/syncd(关闭和同步),打开(Open)是指由应用程序正在使用LV或者LV作为文件系统已经被安装在MOUNT POINT上,关闭时指没有应用程序在使用LV

    MOUNT POINT:逻辑卷上文件系统的安装点,如果逻辑上没有创建文件系统,则显示N/A

    4.显示卷组中的物理卷信息

    命令:lsvg -p rootvg


三、修改卷组的属性

    1.设置卷组在系统启动时是否自动被激活

    例子:设置datavg在系统启动时自动被激活

    命令:chvg -ay datavg

    例子:设置datavg在系统启动时不能自动被激活

    命令:chvg -an datavg

    2.给一个卷组解锁

    在进行LVM操作时,由于系统问题可能会导致正在运行的LVM命令非正常结束,这时可能会使一些卷组被上锁。解锁命令:

    chvg -u datavg

    3.修改LTG大小

    LTG,逻辑记录组,是磁盘写操作中的一个概念,相当于允许磁盘I/O的最大传输单位。任何超过LTG大小的写操作都会被自动分解成多份LTG大小的写操作

    例:把testvg卷组的LTG大小从128KB改为256KB

    命令:chvg -L256 testvg

    为了确保卷组的完整性,在更改过程中使用varyoff这个命令关闭卷组

    例:查询某个物理卷最大能支持的LTG大小,可使用-M参数的lquerypv命令

    命令:/usr/sbin/lquerypv -M hdisk0

    4.打开和关闭坏块再分配策略

    5L引入了再分配策略,允许用户打开或关闭某个卷组的坏块再分配策略。磁盘出现了坏快,LVM会标记这些 坏快,如果打开了该策略,LVM就会对这些坏快进行再分配,否则就不会分配这些坏快。默认情况下是打开的。

    命令:chvg -b {y/n} vgname

    对于RAID设备和存储子系统应该关闭该策略

    5.用SMIT工具修改卷组属性

    命令:smit chvg

    卷组的名字无法更改

    “Activate volume group AUTOMATICALLY at system restart?”:是否在系统启动时激活卷组

    “A QUORUM of disks required to keep the volume group on-line?”:设置当卷组丢失Quorum时,是否迫使该卷处于非激活状态。默认是yes,表示该卷组丢失51%的VGDA后不可再使用

    “Convert this VG to Concurrent Capable?”:是否使该卷组具有被并发访问的能力,也就是有被多个系统同时使用的能力

    “Autovaryon VG in Concurrent Modle?”:是否把卷组激活成并发访问模式,只有系统中使用了HACMP,才将其设置为yes

    “LTG Size in kbyte”:修改逻辑记录组

    “Set hotspare characteristics”:设置卷组的热备份特性,对应chvg命令中的-h参数

    “Set synchronization characteristics of stale”:是否对陈旧分区进行自动同步,对没有镜像逻辑卷的卷组没有意义


四、设置卷组的(hot spare热备份)特性

    可以将卷组中一个磁盘定义为热备份磁盘,同时要指定磁盘失效时的热备份策略。

    注意:只有卷组中有镜像逻辑卷时,chpv命令和chvg命令的-h参数才有效

    例子:将hdisk1定义成一个热备份磁盘

    命令:chpv -hy hdisk1

    这条命令把hdisk1标记成热备份磁盘。如果在这个磁盘中没有已分配的逻辑分区,那么这条命令就能执行成功,如果把上面的y换成n,则表示删除hdisk1中的热备份标识

    如果要在卷组中添加一个磁盘,并将其做成热备磁盘,这个磁盘的容量至少必须和卷组中最小磁盘容量相等

    当把一个或多个磁盘标记为热备磁盘后,用户必须决定在一个磁盘开始失效的情况下所使用的策略。使用-h 参数可以指定4种不同的热备份策略和2种同步策略

    命令:chvg -hhotsparepolicy -ssyncpolicyVolumeGroup

    黑体部分是需要替换的值 

    5L中增加了一个新的参数-s,定义了卷组的同步特性

    hotsparepolicy参数可以去下面4种值:

    y    :表示自动地把一个故障磁盘上的分区内容迁移到一个热备份磁盘上。卷组中如果有多个热备份磁盘(一般称为热备份磁盘池),那么会从其中选择一个容量最小且能足以替换故障磁盘的磁盘

    n    :不自动迁移物理分区的内容。默认策略

    Y    :该策略会自动把一个故障磁盘上的分区内容迁移到一个热备份磁盘上,但是可能会使用热备磁盘池中的所有硬盘

    r    :删除热备磁盘池中的所有磁盘

    syncpolicy参数可以取y或n两种值:

    y    :自动尝试同步陈旧分区

    n    :不自动尝试同步陈旧的分区,默认方式

    完成这些设置后,一旦卷组状态区(VGSA)或镜像写一致性(MWC)写失败,LVM就把失败的磁盘标记为丢失,同时开始把数据向热备份磁盘迁移

    在SMIT菜单中可以设置hotsparepolicy参数和syncpolicy参数


五、向一卷组中添加物理卷

    例子:向datavg添加hdisk6

    命令:extendvg datavg hdisk6

    如果hdisk6已经属于其他处于激活状态的卷组,则上面的命令会执行失败;如果hdisk6已经属于其他处于非激活状态的卷组,则在运行上面命令时,会询问用户是否继续添加。如果物理卷的状态为已定义,而不是可用的(用lsdev -Cc disk命令查看),则extendvg命令不能执行成功,因此需要使用以下命令将物理卷的状态改为可用状态(Available)

    命令:mkdev -l hdisk6

    使用SMIT工具也可以向卷组中添加物理卷

    smit extendvg

    VOLUME GROUP name:输入要添加PV的卷组名

    PHYSICAL VOLUME names:输入被添加的物理卷名即可给指定的卷组添加指定物理卷


六、从卷组中删除一个物理卷

    要减少一个卷组的空间,即从卷组中删除一个物理卷,必须在卷组处于激活状态iain进行。由于物理卷上存在着逻辑卷或文件系统,所以在用reducevg命令删除物理卷前,必须先用rmlv命令删除该物理卷上的所有逻辑卷

    例子:从datavg卷组中删除一个hdisk6物理卷

    命令: reducevg datavg hdisk6

    在用reducevg从datavg中删除hdisk6之前,必须用rmlv命令删除hdisk6上的所有逻辑卷,或者使用带-d参数的reducevg命令。使用带-d参数的reducevg命令删除某个物理卷时,会自动删除该物理卷上的所有逻辑卷。如果某个逻辑卷跨越多个物理卷存在时,删除该逻辑卷缩在的任何一个物理卷,都会导致该逻辑卷的数据不完整,因此使用带-d参数的reducevg命令比较危险。如果没有带-f参数,会让用户确认是否继续删除该物理卷上的逻辑卷,否则不提示

    reducevg可以删除一个或多个硬盘,如果要从一个卷组中删除多个硬盘,则按下面格式

    命令:reducevg VGname PV1Name PV2name  PV3name

    当把一个卷组中所有的硬盘删除完成后,这个卷组也就被自动删除了

    如果没有先用reducevg,而直接把屋里卷从系统中删除,则VGDA还有该物理卷的信息,然而此物理卷的名字在系统中已经不存在了,或者可能将该PV名字分配给其他物理卷了。要从VGDA中彻底清除已被删除物理卷的信息,可以继续使用reducevg命令删除VGDA中的物理卷信息,但是要用已被删除物理卷的PVID代替该PV的名字

    命令:reducevg VGName  PVID

    例子:hdisk5已从系统中删除了,而hdisk5的信息还保留在datavg中,hdisk5物理卷的PVID是000922048d982ea2,要删除VGDA中的hdisk5信息,使用以下命令

    命令:reducevg datavg 000922048d982ea2

    使用SMIT工具

    命令:smit reducevg


七、激活/停用一个卷组

    卷组有两种状态:激活和非激活

    1.激活卷组

    可以在创建时设定系统启动时激活,或手工方式激活,否则无法访问

    激活卷组的命令是:varyonvg

    激活过程

    1).读取该卷组上每个物理卷上的VGDA信息

    2).读取每个VGDA中的开始和结束时间戳

    3).如果大多数VGDA有效,即磁盘Quorum存在,则继续激活卷组,否则激活失败

    4).系统获得最新的VGDA(在所有VGDA中招最新的时间戳),然后把它重写到其他所有的VGDA上,使他们之间保持一致

    5).当有镜像存在时,还会执行syncvg命令来使所有陈旧的物理分区同步

    例子:datavg处于非激活状态,可使用以下命令激活

    命令:varyonvg datavg

    当卷组在ODM数据库中的配置信息与VGDA不一致时,可以用带-f参数的varyonvg命令强制地激活这个卷组;如果卷组中存在镜像,也可以使用-n参数来禁止同步所有陈旧的物理分区,因为当卷组被激活时,如果发现存在陈旧的物理分区,varyonvg命令就会把错误数据分区写到正确数据分区上;在维护或系统管理进行读写操作(逻辑卷管理命令也无法对逻辑卷进行读写操作)

    在5L中,新增加了一个-r参数,表示把卷组激活到只读模式下。在该模式下卷组可以防止对逻辑卷实施写操作,也可以防止发生对LVM元数据的更新操作,还可以防止同步陈旧的物理分区。在这种模式下,凡是要求更新LVM元数据的LVM高级命令在执行时都会失败。

    只要ODM设备配置数据库中的信息和LVM中的信息存在不一致,就会在标准输出上显示一个所有物理卷及其状态信息的列表。在这种情况下,指定的卷组可能被激活了,也可能没有被激活,因此用户必须仔细检查所显示的PV列表,根据所显示的每个PV状态而采取适当的措施来保护系统的完整性

    由于丢失了大多数PV而导致卷组不能被激活,同样也会显示一个所有PV及其状态的列表,在这种情况要激活卷组,需要使用带-f参数的varyonvg命令来强行激活卷组。

    如果无法访问大多数PV(即卷组Quorum不存在了),在激活卷组时varyonvg命令将会执行失败。既是关闭了检查Quorum功能,也不会改变丢失PV的情况,它只能保证在Quorum丢失的情况卷组处于激活状态

    如果任何一个PV处在PV_MISSING的状态而且关闭检查Quorum的功能,即使磁盘Quorum是可用的,卷组也不会被激活。在这种情况下要激活卷组,要么使用-f参数强行激活,要么设置MISSINGPV_VARYON环境变量的值为TRUE(如果在系统启动时选哟激活丢失磁盘的卷组,就在/etc/environment文件中设置MISSINGPV_VARYON环境变量)

    在以上面的情况下激活卷组(使用-f参数强行激活或设置MISSINGPV_VARYON环境变量)的时候,用户要保证保持卷组的完整性

    也可食用下面的SMIT快捷路径来激活

    smit varyonvg

    “VOLUME GROUP name”:中输入要被激活的卷组名

    “RESYNCHRONIZE stale physical partitions?”的值为yes时,表示同步陈旧的物理分区,默认为yes

    “Activate volume group in SYSTEM MANAGEMENT mode?”设置是否在系统管理模式下激活卷组,一般值是no

    “FORCE activation of the volume group?Warning--this may cause loss of data integrity”设置是否强行激活卷组,如果设置为强行激活卷组,则可能无法保证数据的完整性。

    “Varyon VG in Concurrent Mode?”设置是否把卷组激活到并发访问模式

    “Synchronize Logical Volumes?”设置在激活卷组时是否同步逻辑卷

    2.停用卷组

    varyoffvg停用卷组,即使一个卷组和它相关的逻辑卷处于非激活状态。在执行该命令前,应使所有的逻辑卷处于关闭状态,同时要卸载该卷组中的所有文件系统。

    使用带-s参数的varyoffvg命令能把卷组放在维护管理模式下,处于系统维护模式下的卷组,只能用LVM命令来管理,用户无法访问其中的逻辑卷

    在没有停用卷组的情况下,从该卷组中移走一块硬盘,会引起严重错误,同时丢失VGDA和某些逻辑卷中的数据

    例子:停用datavg卷组

    命令:varyoffvg datavg

    使用SMIT工具

    命令:smit varyoffvg

    “VOLUME GROUP name”输入要停用的卷组名

    “Put volume group in SYSTEM MANAGEMENT mode?”设置为yes,停用的同时将它带到系统维护模式下


八、导入、导出一个卷组

    导入一个卷组,就是将这个卷组的定义信息导入到系统中,并保存在ODM数据库,让系统能够识别这个卷组;导出一个卷组,就是将这个卷组的定义信息从系统的ODM数据库中删掉,但其组织结构仍然存在于该卷组中每个物理卷的VGDA中,即导出一个卷组不是删除该卷组上的数据,只是删除ODM中的关于该卷组的定义信息。

    1.导出卷组

    导出卷组前,必须先用varyoffvg命令使该卷组处于停用状态(非激活状态)

    例子:用exportvg命令将datavg卷组从当前系统中导出来

    命令:exportvg datavg

    exportvg命令会从/ect/filesystems中删除卷组中的文件系统,并不删除这些文件系统的安装点

    如果要导出的卷组包含页面空间(Paging Space),则当页面空间被使用时,不能导出这个卷组。在导出一个含活动页面空间的卷组之前,必须要使页面空间变为非活动状态,使用下面命令可以把页面空间的状态该为非活动状态

    命令:swapoff pagin_sapce_name

    注意,该命令只能在5L以以后的版本中使用。在5L之前,要使页面空间变为不活动,则必须先执行下面的命令使页面空间在启动系统时不被自动激活,然后重启系统

    命令:chps -a n pagin_sapce_name

    导入卷组

    使用importvg命令导入卷组,当把一个卷组从一个系统移到另一个系统后,就需要告诉目标系统此卷组的定义信息,相对于在目标系统中添加一个新的卷组,导入卷组只不过是这个卷组结构已经定义好了,并保存在物理卷的VGDA中。VGDA中包含指定卷组的以下信息:

    所有物理卷的PVID列表

    所有逻辑卷的LVID列表

    逻辑卷名字与每个LVID的对应表

    JFS逻辑卷的安装点(仅适用于大VGDA)

    例子:将datavg卷组导入目标系统

    命令:importvg -y datavg hdisk5

    importvg命令后必须指定一个物理卷名(任意一个能标识出卷组的物理卷),importvg命令会自动通过这个物理卷的VGDA找到卷组中其他所有的物理卷。VGDA中包含了组成卷组的物理卷列表,LVM会查询指定物理卷上的VGDA,检查VGDA的一致性,然后建立一个包含所有卷组和物理卷信息的列表,用这些数据更新ODM数据库中关于这个卷组的信息,同时在/ dev/和/etc目录下创建卷组的设备文件

    然后,读取VGDA中所有逻辑卷信息,并把信息记录在ODM数据库中,同时创建逻辑卷的设备文件;再读取每个逻辑卷上的LVCB(logical volume control block,逻辑卷控制块),然后检查每个逻辑卷,确定它是否关联着一个JFS文件系统的信息,如果有,则在/etc/filesystems文件中添加一个文件系统节,并创建一个文件系统安装点

    当指定的卷组名在目标系统中已经存在时,importvg名就会运行失败,由于系统不允许存在两个相同的卷组名,因此在运行importvg时,必须指定一个在系统中不存在的卷组名。在运行importvg命令时,可以不指定卷组名,即不带-y参数,则系统会给要导入的卷组分配一个默认的名字。

    使用SMIT工具

    命令:smit importvg

    


九、重新分配卷组中的物理分区

    reorgvg命令按照每个逻辑卷的分配策略重新组织卷组中的物理分区分布

    格式:reorgvg [-i] VolumeGroup  [LogicalVolume ...]

    注意:指定的逻辑卷名必须存在于卷组中,而且在使用前,卷组必须是激活的,而且卷组中必须有空闲的物理分区。在重新分配卷组之前,必须设置逻辑卷的重新分配标志(RELOCATABLE)为yes(chlv -r y命令),否则这个逻辑卷就会被忽略掉(不重组)由VolumeGroup参数指定被重组的卷组名,如果指定了LogicalVolume参数,表示只重组指定逻辑卷

    如果使用-i参数,则从标准输入读取指定的物理卷,这样只重新分配指定物理卷上的物理分区。

    注意:如果卷组中的某些物理分区已经被分配给条带化的逻辑卷,reocrvg命令不会重新分配这些物理分区的分布。要使reorgvg命令执行成功,该卷组至少有一个物理分区时空闲的。如果只待卷组名参数执行该命令,则它将只重新分配该卷组中第一个逻辑卷,使用lsvg -l vgname命令可以列出卷组中第一个逻辑卷。同时在使用该命令之前,应该停止其他用户或程序读写要被重组的卷组

    例:重新分配datavg卷组中的lv1,lv3逻辑卷上的物理分区

    命令:reorgvg datavg lv1 lv3

    还可以使用SMIT工具来重新分配卷组的分区

    命令:smit reorgvg

    

十、用syncvg命令同步卷组

    一个逻辑卷可以有多份拷贝,但如果这几份拷贝的内容出现了不一致的情况,也就说在这个逻辑卷对应的物理卷中存在着陈旧的物理分区,这时包含这个逻辑卷的卷组中也相应地存在着未同步的物理卷。为了解决这个问题,就需要同步这个卷组,使得这个卷组中所有逻辑卷的多份拷贝内容保持一致

    命令格式:syncvg [-f] [-i ] [-H] [-P NumParallelLps] {-l | -p |-v } Name ...

    作用:同步物理分区

    syncvg命令可以用于同步逻辑卷,同步物理卷或者同步卷组,这是由Name参数来决定,即Name参数可以是逻辑卷名、物理卷名或卷组名。当使用-l时,Name参数就指逻辑卷名;当使用-p参数时,Name就指物理卷名;使用-v参数时,Name就指卷组名。使用-i参数表示从标准输入读入一个名称。依据物理硬件的特性和数据的数量,同步过程可能要花费很长世间

    当使用-f参数时,该命令会选择一份最新的物理拷贝,然后把它复制到这些逻辑分区(LP)的所有其他物理拷贝中,而不管其他物理拷贝内容是否陈旧

    -P NumParallelLPs:指定了并行同步逻辑分区(LP)的数量,由NumParallelLPs参数指定LP的数量,取值范围是1到32. NumParallelLPs参数的大小必须适应机器、卷组中的磁盘、系统资源和卷组的模式。

    一个群集中的所有节点(机器)对卷组的访问如果是并发模式,那么在某一个节点上执行带-H参数的syncvg命令时,其他节点对这个卷组的写操作会延迟到这个同步操作完成以后。当使用了-H参数,并不要求群集中所有节点都支持-P参数。如果卷组没有被激活成并发访问模式,syncvg命令会忽略-H参数

    当用varyonvg命令激活一个卷组时,这个卷组中的拷贝会被自动同步,除非系统管理员把这个功能关掉。    

    例:要同步物理卷hdisk03和hdisk05上的拷贝

    命令:syncvg -p hdisk03 hdisk0

    同步卷组vg05和vg06上的拷贝,则执行

    syncvg -v vg05 vg06

    此外还可以执行smit syncvg命令在SMIT菜单中同步卷组(smit syncvg_vg)、逻辑卷(smit syncvg_lv)或物理卷(smit syncvg_pv)

    

十一、用redefinevg命令在ODM中重新定义卷组

    系统正常运行过程中,设备配置数据库中的信息与物理卷保留区上的逻辑卷管理器的信息是一致的。设备配置数据库就是ODM数据库中的一部分,而每个物理卷的开始部分都保存着这个物理卷所属卷组的配置信息,一般是物理卷上的VGDA和VGSA信息。这两种信息在正常情况下必须保持一致。如果两种信息出现不一致时,redefinevg命令能够测定出哪些物理卷属于指定的卷组,并且将这些信息重新写入到设备配置数据库中。redefinevg命令通过读取系统中所有已配置的物理卷上的VGDA和VGSA信息来检查是否存在矛盾

    redefinevg  {-d Device | -i Vgid} VolumeGroup

    其中VolumeGroup参数是指定的卷组名:-d Device参数表示能从中读取卷组ID(Vgid)的任意一个物理卷名,Device参数指定物理卷名;-i Vgid参数指出将要被重新定义的卷组标识号,即卷组ID

    例子:要在设备配置数据库重新定义rootvg卷组

    命令:redefinevg -d hdisk0 rootvg

    要恢复ODM数据库关于卷组的定义信息,还有一个简单方法:先varyoff(停用)这个卷组,然后exportvg(导出),再importvg(导入),最后varyon(激活)


十二、用recreatevg命令重新创建卷组

    当需要完成一个磁盘到另一个磁盘的复制时,如果源磁盘是一个已存在卷组中的物理卷,目标磁盘是对源磁盘的镜像,此时要在目标磁盘(已创建镜像的磁盘)上创建一个新的卷组,而且要求新组卷名在系统中是惟一的,则应用recreatevg命令在目标磁盘上创建一个唯一的卷组

    当使用dd命令直接做磁盘复制,就会把一个磁盘中的所有信息(包括VGDA和LV)都复制到另一个磁盘上,从而产生两个一模一样的物理卷,如果不在目标磁盘上创建卷组,就无法使用目标磁盘上的内容,此时如果直接用目标磁盘来导入卷组,就会导致系统中卷组ID、逻辑卷ID和文件系统安装点的冲突,而用recreatevg命令可以避免产生重复的卷组、逻辑卷和文件系统安装点,因为使用该命令的一些参数可以指定新逻辑卷名、卷组名的前缀,默认情况下该命令会自动分配这些名字。

      recreatevg命令的作用是重新创建一个已存在于一组指定磁盘上的卷组,然后把这个卷组导入系统中(ODM中)并激活它

    在用ESS的FlashCopy功能或相似的功能做完物理卷的复制工作之后,如果要用recreatevg命令在目标磁盘上创建一个唯一卷组,还要避免部分LVM组件(如PVID、VGID、卷组名、逻辑卷名和文件系统名)的冲突,则必须按照下面的顺序执行命令:

    chdev -l hdiskx -a pv=clear (清除目标物理卷的PVID,因为这个PVID是源物理卷的标识符)

    recreatevg -y newvg_name -L  /newfs -Y newlv hdiskX

    其中hdiskx是目标物理卷名,newvg_name是新分配的卷组名,newlv和/newfs分别是在这个卷组中新分配逻辑卷名和文件系统名的前缀,这些前缀用来修改原逻辑卷名和原文件系统名。


十三、用mirrorvg命令镜像一个卷组

    用mirrorvg命令镜像一个卷组,相当于镜像了整个卷组中的所有逻辑卷

    格式:mirrorvg [ -S| -s] [-Q] [-c Copies] [ -m ] VolumeGroup  [PhysicalVolume ... ]

    参数:

    -S:后台同步。mirrorvg命令创建了逻辑卷副本之后就立即结束运行,但是它结束之前在后台对这个卷组执行了一个syncvg命令,使用了这个参数,镜像副本的同步在何时全部完成并不明显,但是只要有一部分镜像完成了同步,操作系统会立即使用它们

    -s:关闭同步。mirrorvg命令创建了逻辑卷副本之后就立即结束运行,并不执行任何类型的镜像同步。使用了这个参数,逻辑卷的镜像虽然存在,操作系统并不会使用它们,除非它们被同步了

    -Q:默认情况下,mirrorvg命令会对卷组信息做镜像,这样会关掉卷组的Quorum功能。如果用户希望在完成镜像之后继续保留卷组的Quorum功能,就使用-Q参数

    -c Copies:值出在执行mirrorvg命令之后每一个逻辑卷必须拥有的最小副本数。由Copies参数指出最小副本数,它的最大值是3,最小值是2.如果Copies=1,则忽略该命令

    -m:在指定的物理卷上严格安装原逻辑卷副本中物理分区的排列顺序来镜像逻辑卷(使用原逻辑卷上的PP和LP之间的映射),使用此参数必须指定PhysicalVolume参数

    VolumeGroup:被镜像的卷组名

    mirrorvg命令作用是对一个卷组中的所有逻辑卷做镜像,这个功能也可以用mklvcopy命令来完成,即单独地对卷组中的每个逻辑卷做镜像。用mklvcopy命令给逻辑卷做镜像时目标物理卷和逻辑卷必须属于同一个卷组。要向卷组中添加物理卷就用extendvg命令。

    默认情况下,mirrorvg命令会把逻辑卷镜像到卷组中的任何磁盘上,如果要把镜像副本保存到指定的物理卷中,必须用PhysicalVolume参数指定目标物理卷列表,各个物理卷名之间用空格隔开。当用mirrorvg命令镜像逻辑卷时,它就强行实施严格镜像策略,使用原逻辑卷的默认属性。如果打算不使用默认属性和严格镜像策略,就必须用mklvcopy命令对每一个逻辑卷单独做镜像

    默认情况下,一旦执行mirrorvg命令,则在完成之前必须要完成镜像副本的同步工作。如果逻辑卷较大,那么同步镜像副本可能需要花费很长世间。如果在执行该命令的过程中不希望它有较长的延迟,就使用-S或-s参数。此外,一个逻辑卷在被镜像之后默认是两个副本,要使镜像之后的副本数大于两个,就是用-c参数。

    如果要给rootvg卷组做镜像,则必须执行bosboot,bootlist和reboot命令。bosboot命令的作用是在新镜像的驱动器上创建引导记录(BootRecord);bootlist命令的作用是定制一个容易从镜像设备启动系统的引导设备列表;最后,因为在mirrorvg命令会默认地关掉rootvg卷组的Quorum功能,所有必须用reboot命令重启系统(对rootvg卷组用varyoffvg命令)

    如果要给非rootvg卷组的卷组镜像,mirrorvg命令会默认地关掉卷组的Quorum功能,因此用户必须关闭所有的逻辑卷。在一些系统中,系统的dump设备和页面设备(页面空间设备)是同一个设备。然而,大多数用户希望对页面设备做镜像,当mirrorvg命令检测到dump设备和页面设备相同时,那么会自动给这个逻辑卷设备做镜像;当mirrorvg命令检测到dump设备和页面设备不相同时,会自动给页面设备做镜像,而dump设备不会自动被镜像。用sysdumpdev命令可以查询和修改dump设备。

    例:对datavg卷组做镜像,执行以下的命令后,datavg卷组中的逻辑卷就会有3个副本

    命令:mirrorvg -c 3 datavg

    如果要在后台同步datavg卷组镜像

    命令:mirrorvg -S -c 3 datavg

    要替换镜像卷组中的一块坏磁盘(如为hdisk7),按照下面的命令进行

    unmirrorvg datavg hdisk7        (删除hdisk7上的所有镜像)

    reducevg datavg hdisk7            (从datavg卷组中删除hdisk7物理卷)

    redev -l hdisk7 -d                        (从系统中删除hdisk7物理卷)

    然后替换磁盘,把新磁盘配置成物理卷,并改名为hdisk7,再执行下面命令

    extendvg datavg hdisk7                 (向datavg卷组中添加hdisk7物理卷)

    mirrorvg datavg                                (给datavg卷组中的所有逻辑就做镜像)

    要从已镜像的卷组中删除一份或两份镜像副本,可使用unmirrorvg命令,格式如下:

    unmirrorvg   [ -c Copies ] VolumeGroup  [ PhysicalVolume ... ]

    -c Copies参数指出在unmirrorvg命令执行之后每一个逻辑卷必须拥有的最小副本数,Copies参数的默认值是1.如果打算删除指定物理卷上的镜像副本,就用PhysicalVolume参数指出包含镜像的物理卷名。由VolumeGroup参数指出包含镜像的卷组名。

    使用SMIT工具也可以给一个卷组做镜像

    命令:smit mirrorvg

    “VOLUME GROUP name”输入要被镜像的卷组名

    “Mirror sync mode”:选择同步镜像模式,后台(Background)还是前台(Foreground),还是不同步,相当于在mirrorvg命令中使用了-S或-s参数

    “PHYSICAL VOLUME names”:中输入或选择要存放镜像副本的物理卷名,各个物理卷名之间用空格隔开

    “Number of COPIES of each logical partition”:指定每个逻辑卷分区拥有的副本数,相当于在mirrorvg中使用了-c参数

    “Keep Quorum Checking On?”选择是否打开Quorum检查的功能,相当于在mirrorvg命令中使用了-Q参数

    “Create Exact LV Mapping?”指出是否使用严格的物理分区映射创建逻辑卷镜像,相当于在mirrorvg命令中使用-m参数


十四、镜像卷组的快照(Snapshot)

    镜像卷组的快照条件:一个卷组中所有逻辑卷除了原拷贝之外,还必须有一个镜像拷贝,且镜像必须存在于一个磁盘上,或者在一组磁盘上只包含一组镜像拷贝。如果一个卷组满足快照的条件,那么可以把这个卷组中的一个镜像拷贝并分割成一个快照卷组

    分割镜像拷贝时,原始卷组会停用分割给快照卷组的磁盘。在快照卷组中将创建新的逻辑卷和文件系统安装点

    两个卷组都保存着物理分区变化的痕迹,以便在快照卷组重新合并(Rejoin)到原始卷组时,使卷组合并之后的数据保持一致。在分割出快照卷组之后,如果对原始卷组中的一个物理分区执行了写操作,那么快照卷组中相应的物理分区就会被标记成陈旧状态(Stale);如果对快照卷组中的一个物理分区执行了写操作,那么快照卷组中的这个物理分区也被标记成陈旧状态。在重新合并的过程中,把由所有的陈旧的物理分区组成的列表合并到卷组中,然后再后台对这些陈旧分区进行同步。因此,用户在合并前的原始卷组中见到的数据与在合并后的卷组中见到的数据是相同的

    分割镜像卷组的命令是splitvg命令,把快照卷组再合并到原始卷组的命令是joinvg命令

    在分割一个镜像卷组时,有下面所列的一些限制条件

    1.不能分割一个具有传统并发访问模式的卷组

    2.虽然可以分割一个具有增强并发访问模式的卷组,但是快照卷组并不能具备增强并发访问能力

    3.快照卷组不具备并发访问或增强并发访问能力

    4.在快照卷组上执行chvg命令只允许使用的参数有:-a,-R,-S和-u

    5.在原始卷组上执行chvg命令只允许使用的参数有:-a,-R,-S和-u和-h

    6.在快照卷组上不允许改变分区的分配

    7.如果在卷组中丢失了一个磁盘,那么这个卷组就不能被分割

    8.在分割卷组的过程中,如果出现系统奔溃或者丢失了卷组的Quorum,那么必须执行 joinvg命令把磁盘再次合并到原始卷组中

    格式:splitvg  [ -y SnapVGname ] [ -c Copy ] [ -f ] [ -i ]  VGname

    参数:

    -y SnapVGname:指定快照卷组名,卷组名在系统设备名中必须是唯一的。如果没有指定该参数,在分割卷组镜像时由系统自动生成一个快照卷组名,并在命令结束时显示出来

    -c Copy:指把哪一个镜像拷贝分割出去,Copy参数可以是1,2或3,默认是第2个拷贝

    -f:强行分割镜像拷贝,既是将要被创建的快照卷组中包含着陈旧的分区

    -i:把一个卷组的镜像拷贝分割成不能再合并到原始卷组中的一个新卷组

    例子:分割datavg卷组的命令

    命令:splitvg datavg

    这个命令把datavg卷组中的第二个镜像拷贝分割出来建立一个快照卷组,在该命令执行完之后,就会显示由系统分配的快照卷组名

    如果要分割datavg卷组的第1个镜像拷贝,并指定快照卷组名为snapvg,则可执行命令:

    splitvg -y snapvg -c 1 datavg

    把快照卷组合并到原始卷组的命令是joinvg命令,它的使用格式是:

    joinvg [-f ]  Vgname

    joinvg命令把由splitvg命令分割的快照卷组又合并到原始卷组中,其中Vgname参数就是被splitvg命令分割的原始卷组名。在合并过程中,joinvg命令会删除快照卷组,同时在原始卷组中将重新激活并入的磁盘,并在后台同步所有陈旧的分区。当没有激活快照卷组中的磁盘时,使用-f参数可以强行合并卷组。位于非激活磁盘上的镜像拷贝将会从原始卷组中被删除

    例:在datavg卷组对/data文件系统做了从hdisk2到hdisk3的镜像,要把这个卷组的镜像拷贝分割成一个快照卷组,并要在快照卷组中对/data文件系统再做在线备份

    命令:splitvg -y snapvg datavg    (分割datavg卷组,创建快照卷组)

    此外也创建了/fs/data文件系统的安装点

    backup -f /dev/rmt0   /fs/data        (在磁带上按i-node对/fs/data文件系统做在线备份 (即在不卸载文件系统的情况下做备份))

    joinvg datavg                                     (把datavg卷组的快照卷组合并到原始卷组中)

    把快照卷组snapvg重新合并到原始卷组datavg中,同时在后台同步所有陈旧的分区