linux lv

linux lvm lv操作步骤[@more@]

1) 如何使用lvm,创建逻辑卷的流程和实例


比如说,在一个物理硬盘/dev/hda上,我们需要将/dev/hda5,/dev/hda6作为pv

1 fdisk划分hda5,hda6,并且将这两个分区的标志(键入t改)改为(0x)8e
然后用partprobe通知OS磁盘分区的变化
2 pvcreate /dev/hda5 /dev/hda6(-s xxM可设定PE大小)

3 vgcreate rootvg /dev/hda5 /dev/hda6

4 lvcreate -L 100M -n lv1 rootvg
从我们的rootvg中,创建一个100M的逻辑卷lv1
lvcreate -L8192m -i4 -I64k vg_db -n lv_8g_001
这里的-i不能大于pv数,是参与条带化的PV数。 -I是条带大小。
5 mkfs.ext3 /dev/rootvg/lv1

6 mkdir /mnt/lvm;mount /dev/rootvg/lv1 /mnt/lvm

2) 如何动态放大/缩小一个逻辑卷/逻辑卷组

我们如何放大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:

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移除

3) 如何删除逻辑卷/逻辑卷组

删除VG流程:
1 umount /挂接点
2 lvremove /dev/rootvg/lv1
3 vgchange -a n rootvg(关闭rootvg)
4 vgremove rootvg

转arronax的文章:

建立LVM:
1,建立PV,例如3块scsi硬盘:/dev/sda /dev/sdb /dev/sdc
准备分区 首先要对硬盘进行初始化 建立 PV
#pvcreate /dev/sda
#pvcreate /dev/sdb
#pvcreate /dev/sdc
2,创建卷组
#vgcreate test_vg /dev/sda /dev/sdb /dev/sdc
然后用vgdisplay 查看和验证卷组的信息
#vgdisplay
3,建立LV
在确定卷组test_vg正确后,就可以在其上创建LV,
#lvcreate -L 1G -n test_lv test_vg
4,建立文件系统
#mke2fs /dev/test_vg/test_lv
激活VG
在使用之前激活:#vgchange -a y test_vg
当不在使用的时候,用#vgchange -a n test_vg
扩展LV
#lvextend -L 1G /dev/test_vg/test_lv
删除LV
#lvremove /dev/test_vg/test_lv
显示vg的信息
#vgdisplay test_vg|grep "Total PE"
删除vg
#vgremove test_vg


****为VG增加新的PV(/dev/sdd1)
#vgextend test_vg /dev/sdd1
从VG中移除PV
首先确认PV有没有被LV使用 使用命令 pvdisplay查看
#pvdisplay /dev/sdd1
如果pv在被使用,则应把数据进行迁移,然后用vgreduce把它从VG中删除,如:#vgreduce test_vg

/dev/sdd1

系统启动和关闭
为了使系统启动时可自动激活并使用LVM,可将下面几行添加到rc脚本中
/sbin/vgscan
/sbin/vgchange -a y
关闭系统时,可将下面几行添加到关机rc脚本中,
/sbin/vgchange -a n

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/668365/viewspace-1003192/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/668365/viewspace-1003192/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值