AIX中逻辑卷管理
1、逻辑卷管理
逻辑卷的大小确定:
逻辑卷大小(MB)=PP的大小(MB)*LV包含的LP的个数
LV占用的物理空间(MB)=PP的大小(MB)*LV包含的LP的个数*LV拷贝的副本数
逻辑卷控制块(LVCB)
#getlvcb -TA hd2 显示逻辑卷hd2中的LVCB信息
1.1 创建逻辑卷
AIX通过在卷组上创建逻辑卷来为文件系统、数据集裸设备提供可使用的空间。
逻辑卷可以创建文件系统,或者直接作为裸设备使用。
使用mklv指令创建逻辑卷。
mklv指令参数
|
|
-a position
|
设置内部物理卷分配策略(在物理卷上的逻辑分区的位置)。Position 变量可以是以下之一:
|
-b BadBlocks
|
设置坏区重定位策略。Relocation 变量可以是以下之一:
|
-c copies
|
设置分配给每个逻辑分区的物理分区数。Copies 变量的值可以设置为从 1 到 3,缺省值是 1。
|
-d Schedule
|
当多于一个的逻辑分区被写入时,设置调度策略。Schedule 变量可以是以下之一:
|
-e Range
|
设置内部物理卷分配策略(使用提供了最佳分配的卷所扩展的物理卷数量)。Range 值由 UpperBound 变量限制(用 -u 标志设置),它可以是以下之一:
|
-G Groupid
|
为逻辑卷特别文件指定组标识。
|
-i
|
从标准输入中读取 PhysicalVolume 参数。仅当 PhysicalVolume 从标准输入中输入时,才使用 -i 参数。
|
-L
|
设置逻辑卷标签。缺省的标号是 None。逻辑卷文件大小的最大值为 127 个字符。
注:
如果逻辑卷用作一个日志文件系统(JFS),则 JFS 将使用这个字段存储逻辑卷上的文件系统的安装点作为以后的参考。
|
-m MapFile
|
指定要分配的精确的物理分区。分区以 MapFile 参数中给定的顺序来使用。在 MapFile 参数中使用的分区是不合法的,因为新的逻辑卷无法占用与先前分配的逻辑卷相同的物理空间。属于一个副本的所有物理分区在为逻辑卷的下一个副本分配之前就已经分配好了。MapFile 参数的格式为:PVname:PPnum1[-PPnum2]。在本示例中,PVname 是一个由系统指定的物理卷名(例如 hdisk0)。这是每个物理分区的一个记录或连续物理分区的一个范围。PPnum 是物理分区号。
PVname
物理卷的名称由系统指定。
PPnum
物理分区数量。
|
-oY / N
|
打开/关闭重叠的 IO 串行化。如果打开了串行化,则不允许重叠的 IO 在一个块范围中,并且在任何一段时间内仅处理一个块范围内的一个单独 IO。大多数应用程序(如文件系统和数据库)会进行串行化,所以串行化应该设置为 off。新的逻辑卷的缺省值为 off。
|
-P modes
|
指定逻辑卷特殊文件的权限(文件模式)
|
-r Relocate
|
设置重组织重定位标志。对于条带逻辑卷,Relocate 参数必须设置为 n(条带逻辑卷的缺省值)。Relocate 参数可以是以下之一:
|
-s Strict
|
确定严格的分配策略。逻辑分区的副本可以分配为是否共享相同的物理卷。Strict 参数由以下之一表示:
|
-S StripeSize
|
定义每个分割区的字节数。必须是在 4K 和 128K 之间的 2 的乘幂,例如 4K、8K、16K、32K 或 128K。
注:
当使用 -S 标志创建一个条带逻辑卷时,-d、-e 和 -s 标志是无效的。
|
-t Type
|
设置逻辑卷的类型。标准的类型为 jfs(日志文件系统)、jfslog(日志文件系统记录日志)、jfs2(增强的日志文件系统)、jfs2log(增强的日志文件系统记录日志)和 paging(页面调度空间)
|
-U Userid
|
为逻辑卷特定文件指定用户标识。
|
-u UpperBound
|
为新的分配设置物理卷的最大数量。Upperbound 变量的值必须介于 1 和物理卷总数之间。当使用条带逻辑卷或超级严格性时,值的上界表示每个镜像副本所允许的最大物理卷数量。
注:
当创建超级严格逻辑卷时,必须指定物理卷或使用 -u 标志。
|
-v Verify
|
设置逻辑卷的写验证状态。使(y)到逻辑卷的所有写入由随后的读取来验证,或者阻止(n)验证到逻辑卷的所有写入。Verify 参数由以下之一表示:
|
-w MirrorWriteConsistency
|
y 或 a
打开 active 镜像写一致性以确保在通常的 I/O 处理中逻辑卷镜像副本之间的数据一致性。
p
打开 passive 镜像写一致性以确保在系统中断后卷组同步中镜像副本之间的数据一致性。
注:
此功能仅适用于“大卷组”。
n
没有镜像写一致性。请参阅 syncvg 命令的 -f 标志
|
-x Maximum
|
设置可以分配到逻辑卷的逻辑分区的最大数量。缺省值是 512。由 Number 参数所表示的数量必须等于或小于由 Maximum 变量所表示的数量。每个逻辑卷的逻辑分区的最大数是 32,512。
|
-y NewLogicalVolume
|
指定使用逻辑卷名代替系统生成的名称。逻辑卷名必须是唯一的系统宽度名,可以由 1 到 15 个字符组成。如果 volume group 联机于并发方式,则 volume group 联到的所有并发节点上的新的名称必须是唯一的。名称不能以其它设备的“设备配置数据库”中的 PdDv 类已定义的前缀开始。
|
-Y Prefix
|
指定使用 Prefix 以代替新的逻辑卷中的系统生成名称的前缀。前缀必须小于等于 13 个字符。名称不能以其它设备的“设备配置数据库”中的 PdDv 类已定义的前缀开始,也不能是另一个设备已使用的名称。
|
mklv常用指令
|
|
#mklv -y testlv -c 1 testvg 2
#lsvg -M testvg
|
在卷组中,创建一个名为testlv的逻辑卷,设置一个逻辑分区由一个物理分区组成,该逻辑卷包含两个物理分区
|
#mklv -y testlv2 -c 1 -t jfs2 testvg 1
|
创建testlv2逻辑卷,指定逻辑卷的格式为jfs2
|
#mklv -y testlv3 -c 1 -t jfs2log testvg 1
#lspv -p hdisk1
|
创建testlv3逻辑卷,指定逻辑卷的格式为jfs2log
|
#mklv -y testlv1 -c 1 -a m testvg 1
#mklv -y testlv2 -c 1 -a c testvg 1
#mklv -y testlv3 -c 1 -a e testvg 1
#mklv -y testlv4 -c 1 -a ie testvg 1
#mklv -y testlv5 -c 1 -a im testvg 1
|
创建testlvn逻辑卷,指定逻辑卷放在物理卷的位置。
|
#smitty mklv
#smitty lv
|
|
创建逻辑卷:
在rootvg中创建一个新逻辑卷newlv,并且该逻辑卷有10个逻辑分区,每个逻辑分区由两个物理分区组成。
#mklv -y newlv -c 2 rootvg 10
#mklv -y testlv -c 1 datavg 5
8.2显示逻辑卷属性
使用lslv指令查看逻辑卷属性。
lslv指令参数
|
|
|
不带参数 ,直接加逻辑卷名称,显示逻辑卷的详细信息
|
-l
|
显示逻辑卷中的每个物理卷信息
|
-m
|
显示每个逻辑分区对应的物理卷和物理分区映射关系
|
-p physical volume
|
显示逻辑卷中指定物理卷的每个物理分区信息
|
lslv常用指令
|
|
#lslv testlv
|
查看testlv逻辑卷的信息
|
#lslv -l testlv
|
查看testlv逻辑卷中的物理卷信息
|
#lslv -m testlv
|
显示"testlv"中逻辑卷分区与物理分区的映射关系
|
#smitty lslv
|
|
8.3更改逻辑卷属性
使用chlv指令更改逻辑卷属性。
-a position
|
设置内物理卷分配策略(物理卷上的逻辑分区的位置)。Position 变量由以下形式之一表示:
|
-b BadBlocks
|
设置坏区重定位策略。BadBlocks 变量由以下形式之一表示:
|
-d Schedule
|
当写多个逻辑分区时设置调度策略。必须使用并行或顺序镜像分割的 lv。Schedule 变量由以下形式之一表示:
当指定并行或顺序严格的策略时,对于超严格设置为 s。
|
-e range
|
设置内物理卷分配策略(要扩展的物理卷数目,使用提供最佳分配的卷)。Range 变量的值受 Upperbound 变量的限制,使用 -u 标志设置,并由以下形式之一表示:
|
-G Groupid
|
指定逻辑卷特殊文件的组标识。
|
-L Label
|
设置逻辑卷标。Label 变量的最大大小为 127 个字符。
|
-n NewLogicalVolume
|
更改逻辑卷的名称为由 NewLogicalVolume 变量指定的值。逻辑卷名称必须是唯一的系统宽,并且范围可以是 1 到 15 个字符
|
-oY / N
|
打开/关闭重叠 io 的序列化。如果序列化打开,则在块范围上不允许重叠 IO,并且在任何时候只处理块范围中的单个 IO。大多数应用程序(如文件系统和数据库)都进行序列化,因此应该关闭序列化。新逻辑卷的缺省值为 off
|
-p Permission
|
将访问许可权设置为读/写或只读。Permission 变量由以下形式之一表示:
|
-P Modes
|
指定逻辑卷特殊文件的许可权(文件方式)。
|
-r Relocate
|
设置重新组织标志以允许或防止重新组织期间逻辑卷的重新定位。Relocate 变量由以下形式之一表示:
|
-s Strict
|
确定严格的分配策略。可以分配逻辑分区的副本以共享或不共享相同的物理卷。Strict 变量由以下形式之一表示:
注:
当将非超严格的逻辑卷更改为超严格的逻辑卷时,必须使用 -u 标志。
|
-t Type
|
设置逻辑卷类型。最大大小为 31 个字符。 如果已分割逻辑卷,则不能更改 Type 来引导。
|
-U Userid
|
指定逻辑卷特殊文件的用户标识。
|
-u Upperbound
|
设置新分配的物理卷的最大数目。Upperbound 变量的值应该在一和物理卷的总数之间。当使用分割的逻辑卷或超严格时,上限表示每个镜像副本允许的物理卷的最大数目。
|
-v Verify
|
设置逻辑卷的写验证状态。使所有到逻辑卷的写通过连续读验证或不通过连续读验证。Verify 变量由以下形式之一表示:
|
-w MirrorWriteConsistency
|
注:
此功能仅适用于大卷组。
|
-x Maximum
|
设置可以分配到逻辑卷的逻辑分区的最大数目。每个逻辑卷的逻辑分区的最大数目是 32,512
|
常用指令
|
|
#chlv -a ie testlv
|
更改逻辑卷的物理卷分配策略,更改为内边缘。(inner edge)
|
#chlv -n allv testlv
|
更改逻辑卷名称为allv
|
#chlv -t jfs2 allv
|
更改allv逻辑类型为jfs2格式
|
#smitty chlv
|
|
8.4 删除逻辑卷
使用rmlv指令删除逻辑卷。
-f
|
删除逻辑卷时不再需要用户确认
|
-p physical volume
|
只删除指定物理卷physical volume上的物理分区,除非其他地方的物理分区被删除完了,这个逻辑卷才被删除
|
常用指令
|
|
#rmlv -f testlv2 testvg
|
直接删除testvg卷组中的名称为testlv2的逻辑卷,不需要用户进行确认
|
#smitty rmlv
|
|
8.5逻辑卷扩容
使用extendlv指令扩容逻辑卷
-a position
|
设置物理卷内的分配策略
|
-e range
|
设置物理卷内的分配策略(使用提供最优分配的卷,扩容物理卷的数目)
|
-m mapfile
|
设置要分配的准确的物理分区
|
-s strict
|
确定严格的分配策略
|
-u upperbound
|
为新的分配设置物理卷的最大数目
|
常用指令
|
|
#lslv -m testlv
#extendlv testlv 5
#lslv -m testlv
|
给testlv逻辑卷增加5个逻辑分区
|
#smitty extendlv
|
|
8.6复制逻辑卷
使用cplv指令复制逻辑卷。
常用参数
|
|
-e
|
指出目标逻辑卷存在,并且在复制逻辑卷过程中,不创建新的逻辑卷。如果目标逻辑卷比源逻辑卷容量小,则不复制额外的逻辑分区
|
-f
|
无须用户确认,直接复制一个已存在的逻辑卷
|
-v volume Group
|
指定卷组,并且将复制逻辑卷到指定的卷组中,不是复制到源卷组中
|
-y NewLogicalVolume
|
为创建新的逻辑卷设置名称
|
-Y prefix
|
指定在建立新的逻辑卷的系统生成名时所有的前缀
|
常用指令
|
|
#cplv testlv
#lsvg -l testvg
|
复制逻辑卷testlv,并且在原有的testvg卷组中,自动创建一个新的逻辑卷,并且自动创建该逻辑卷的名称为fslv01
|
#cplv -y wanglinlv testlv
|
复制testlv逻辑卷并且在原有的testvg卷组中,创建名称为wanglinlv的逻辑卷
|
#cplv -v rootvg -y wllv testlv
|
将testlv复制到指定的rootvg卷组中,并且指定复制的逻辑卷名称为wllv
|
#smitty cplv
|
|
8.7 创建逻辑卷副本,镜像逻辑卷
创建逻辑卷时,可以镜像逻辑卷中的逻辑分区,就是将一个逻辑分区映射到同一卷组的多个物理分区中,这些物理分区
互为镜像。每个逻辑分区将在磁盘上保存2~3个镜像分区。从而保证磁盘出错时数据不被损坏。通常每个镜像副本应该
驻留在不同的物理磁盘中。逻辑卷可以被镜像,也可以不被镜像。
使用mklvcopy指令给逻辑卷做镜像。
mklvcopy指令常用参数
|
|
-a position
|
设置内部物理卷分配策略(在物理卷上的逻辑分区的位置)。Position 变量可以是以下之一:
|
-e range
|
设置内部物理卷分配策略(使用提供了最佳分配的卷扩展的物理卷数量)。Range 值由 UpperBound 变量限制(用 -u 标志设置),它可以是以下之一:
|
-k
|
新分区中的同步数据。
|
-m mapfile
|
指定要分配的精确的物理分区。分区以 MapFile 参数中给定的顺序来使用。跳过文件中已使用的分区。所有属于副本的物理分区在分配下一个副本之前都被分配了。MapFile 格式是:
|
-s strict
|
确定严格的分配策略。逻辑分区的副本可以分配是否共享相同的物理卷。Strict 变量由以下之一表示:
|
常用指令
|
|
#mklvcopy
|
|
#mklvcopy -s n testlv 2
#lsvg -l testvg
|
给testlv创建一个副本
|
#mklvcopy -s n testlv 3
#lsvg -l testvg
|
给testlv创建两个副本
|
#smitty mklvcopy
|
|
8.8 删除逻辑卷副本
rmlvcopy <逻辑卷名称> <副本数量> <物理卷名称>
#rmlvcopy testlv 1 hdisk1 //删除testlv的逻辑卷副本,并指定该逻辑卷副本为1
#smitty rmlvcopy
8.9 分离逻辑卷副本
使用splitlvcopy指令拆分逻辑卷。被分离出的逻辑卷可以以一个新建逻辑卷的方式独立存在。
splitlvcopy指令参数
|
|
-f
|
不需要用户确认,直接对逻辑卷副本进行分离
|
-y NewLVname
|
指定从逻辑卷副本创建的新逻辑卷的名称
|
-Y prefix
|
指定逻辑卷副本分离后,创建新逻辑卷名称的前缀
|
常用指令
|
|
#splitlvcopy <原逻辑卷名称> <逻辑卷副本数量> <物理卷名称>
|
|
#lsvg -l testvg
#lspv -M hdisk1
#splitlvcopy testlv 1
|
分离testlv的逻辑卷副本(本来有1个逻辑卷副本)。分离之后系统自动创建一个逻辑卷名称为fslv01
|
|
|
#splitlvcopy -y <新逻辑卷名称> <原逻辑卷名称> <逻辑卷副本数量> <物理卷名称>
|
|
#splitlvcopy -y newlv testlv 1 hdisk1
|
|
8.10 逻辑卷ODM库信息同步
使用synclvodm指令同步逻辑卷ODM库信息
synclvodm指令参数
|
|
-P
|
保持逻辑卷中特殊文件的所有权限和许可。如果未设置此标志,逻辑卷特殊文件所有权限将设置未root,而组将设置未system
|
-v
|
显示synclvodm命令的详细输出
|
常用指令
|
|
#synclvodm -v -P testvg
|
同步testvg卷组中所有逻辑卷的ODM库信息
|
#synclvodm -v -P testvg testlv testlv2
|
同步指定逻辑卷testlv 和testlv2 的ODM库信息
|
苦难并非乐事,但能者等闲视之,人生本来就是苦中作乐,切莫长吁短叹,虚度年华。