分类: LINUX
2009-10-22 23:44:37
比如说,在一个物理硬盘/dev/hda上,我们需要将/dev/hda5,/dev/hda6作为pv
1 fdisk划分hda5,hda6,并且将这两个分区的标志(键入t改)改为(0x)8e
然后用partprobe通知OS磁盘分区的变化
2 pvcreate /dev/sdb1 /dev/sde1(-s xxM可设定PE大小) 创建pv hda5,hda6
3 vgcreate vg01 /dev/sdb1 /dev/sde1 将sdb1,sde1加入卷组rootvg中
4 lvcreate -L 280G -n lv_sj01 vg01 从rootvg中,创建一个100M的lv1
5 mkfs.ext3 /dev/vg01/lv_sj01
6 mkdir /usr/sj_01
7 mount /dev/vg01/lv_sj01 /usr/sj_01
创建完成
------------------------------------------------------------------------
如何动态放大/缩小一个逻辑卷/逻辑卷组
我们如何放大lv?比如上面的lv1?流程:
1 lvextend -L+200M /dev/rootvg/lv1
将lv1增加200M
2 ext2online /dev/rootvg/lv1
让lv1容量更改立即生效
减小lv,网上很多文章介绍的是ReiserFS,这里我们是ext3文件系统,如果我们需要减少50M:
1 umount /mnt/lvm
这里,需要先卸载分区
2 mke2fs -n /dev/rootvg/lv1
计算lv1的block数
这里一定要加-n参数,这是计算lv1的block数,而不是格式化分区,注意。
并且注意,从MB->KB这些的计算,都是乘1024,不是1000,这是个细节问题
3 计算减少50M后的block数。从mke2fs -n /dev/rootvg/lv1,我们可以得出2个需要的信息:
Block size和blocks,这两个数的乘积就是分区大小A(单位字节),
我们把需要减小的容量50M换算成字节B,然后A-B的结果除以Block size,就是剩余的block数
4 resize2fs -f /dev/rootvg/lv1 剩余的block数
调整文件系统大小
5 lvreduce -L-50M /dev/rootvg/lv1
调整lv分区大小,减小50M
6 重新mount,df察看一下容量的减小
动态加大VG:
这里我们新增一个PV并加入VG
1 fdisk增加一个(0x)8e标志的分区/dev/hda7
2 vgextend rootvg /dev/hda7
好了,vg增大了
缩小逻辑卷组VG:
1 搬移PV中的资料(只限于同一VG中)
#pvmove [-n ] []
如
#pvmove /dev/hda5 /dev/hda6
将VG中pv hda5的内容搬移到hda6中
pvmove /dev/hda5(也可以这样,lvm决定hda2的内容被复制到哪里)
2 vgreduce rootvg /dev/hda5
把vg hda5移除
5) 如何删除逻辑卷/逻辑卷组
删除VG流程:
1 umount /挂接点
2 lvremove /dev/rootvg/lv1
移除逻辑卷,这里是lv1
3 vgchange -a n rootvg(关闭rootvg)
4 vgremove rootvg
移除rootvg
6) lvm相关命令
这个表格,你可以在RHCE_Study_Guide.pdf上找到
Physical Volume Volume Group Logical Volume
scan pvscan vgscan lvscan
create pvcreate vgcreate lvcreate
display pvdispaly vgdisplay lvdisplay
remove pvremove vgremove lvremove'