分类:
2006-05-11 23:41:34
主要内容:如何圹展vg、lv和fs
第一、 圹展fs
▲# df –k //df 显示的是已经安装的系统大小。
Filesystem 1024-blocks Free %Used Iused %Iused Mounted on
/dev/t1 163840 140492 85% 20 1% /mnt/t1
在这里应该需要看看目前大小,163840K=160M,假如现在已经Used85%,准备扩大50M。
▲# lslv t1 为了观测fs跟lv大小关系,看看lv大小
LOGICAL VOLUME: t1 VOLUME GROUP: datavg
LV IDENTIFIER: 0007f82f1686455f.1 PERMISSION: read/write
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 16 megabyte(s)
COPIES: 1 SCHED POLICY: parallel
LPs: 10 PPs: 10
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: minimum RELOCATABLE: yes
INTRA-POLICY: middle UPPER BOUND: 32
MOUNT POINT: /mnt/t1 LABEL: /mnt/t1
MIRROR WRITE CONSISTENCY: on
EACH LP COPY ON A SEPARATE PV ?: yes
按lv显示出来的情况,t1这个lv有10pps,每个pp大小是16m,总共是160M。
▲# chfs -a size=430080 /dev/t1 //修改fs大小,注意一下4.3无法使用M/G参数,否则报错。
Filesystem size changed to 458752(=224M)
已经成功修改fs的大小,不过有点小问题,可以看看size=430080,但是返回文件大小只要458752byte,什么原因呢?书中这样解释的:如果指定的大小不是物理分区的整数倍,那么就会把这个大小舍入到最接近的pp整数性。
▲# df /dev/t1
Filesystem 512-blocks Free %Used Iused %Iused Mounted on
/dev/t1 458752 407944 12% 20 1% /mnt/t1# lslv t1
LOGICAL VOLUME: t1 VOLUME GROUP: datavg
LV IDENTIFIER: 0007f82f1686455f.1 PERMISSION: read/write
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 16 megabyte(s)
COPIES: 1 SCHED POLICY: parallel
LPs: 14 PPs: 14
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: minimum RELOCATABLE: yes
INTRA-POLICY: middle UPPER BOUND: 32
MOUNT POINT: /mnt/t1 LABEL: /mnt/t1
MIRROR WRITE CONSISTENCY: on
EACH LP COPY ON A SEPARATE PV ?: yes
确认一下这个lv其实已经圹大了,原来为160M,现在大小为16*14*1024=224M。这个大小跟系统返回的大小是相等的。而用户输入的大小是430080,即是210M。而13个pp是208M,14个pp大小为224M,15个PP大小是240,跟用户目标210M最接近的是224M,属于目标大小设为14个pp。这提示了设定fs大小应该留意一个pp的大小。比如一个pp是1G,那么设定大小时候就要计算清楚了。还有,从上面的操作可以再次确认fs是建立在lv基础上的,如果扩展fs的过程是先扩展lv然后变化修改fs。
第二、 扩展lv
接着上面的操作,已经知t1的大小为14个pp。
▲# extendlv t1 10 hdisk1
▲# lslv t1
LOGICAL VOLUME: t1 VOLUME GROUP: datavg
LV IDENTIFIER: 0007f82f1686455f.1 PERMISSION: read/write
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 16 megabyte(s)
COPIES: 1 SCHED POLICY: parallel
LPs: 24 PPs: 24
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: minimum RELOCATABLE: yes
INTRA-POLICY: middle UPPER BOUND: 32
MOUNT POINT: /mnt/t1 LABEL: /mnt/t1
MIRROR WRITE CONSISTENCY: on
EACH LP COPY ON A SEPARATE PV ?: yes
上面操作成功t1已经改为24个pp,可以看到扩展lv步骤相对比较简单,重点主要一个参数,在extendlv这个命令中指定的pp数是需要增加的数量,比如上面的操作需要增加10个pp,而不是增加为10个。当然上例中原来大小已经是14个pp,不可能增加为10个pp。
第三、 扩展vg。
扩展vg就是为vg增加pv,也就是硬盘了,如果系统空间满了,肯定要经常来增加pv了。操作也不复杂。
▲# extendvg rootvg hdisk1 //把hdisk1添加到datavg中
▲# lsvg //看看当前vg
rootvg
▲# lsvg rootvg //国际惯例,确认,看黄色字体,rootvg已经有2个pv。
VOLUME GROUP: rootvg VG IDENTIFIER: 0007f82fbf333b3f
VG STATE: active PP SIZE: 16 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 1088 (17408 megabytes)
MAX LVs: 256 FREE PPs: 828 (13248 megabytes)
LVs: 7 USED PPs: 260 (4160 megabytes)
OPEN LVs: 7 QUORUM: 2
TOTAL PVs: 2 VG DESCRIPTORS: 3
STALE PVs: 0 STALE PPs: 0
ACTIVE PVs: 2 AUTO ON: yes
MAX PPs per PV: 1016 MAX PVs: 32
总结:先提一下删除 vg是通过减少vg的pv来完成的,当vg的最后一个pv已经不存在,那么就会自动删除这个vg。