- 论坛徽章:
- 0
|
Lvm的使用与管理
一 概述
Lvm是解决重新调整硬盘分区的有效工具,同时使用lvm调整分区时不需要重新启动系统。
二 使用方法
1 想要使用lvm首先需要知道的三个名词: 物理卷PV 卷组VG 逻辑卷LV
2 建立的过程
PV--VG--LV。创建后可随时更改逻辑卷的大小
三 建立过程
1使用RHEL4系统作为vmguest,添加两块硬盘。
1 fdisk -l
fdisk /dev/sda
N
P
1
T
L
8e---lvm
W
partprobe
fdisk划分sda1,sdb1,并且将这两个分区的标志(键入t改)改为(0x)8e
然后用通知OS磁盘分区的变化
2 pvcreate /dev/sda1 /dev/sdb1(-s xxM可设定PE大小)
创建pv sda1,sdb1
Pvscan
Pvdisplay
3 vgcreate vg1 /dev/sda1 /dev/sdb1
将sda1,sdb1加入逻辑卷组vg1中
Vgscan
Vgdisplay
4 lvcreate -L 100M -n lv1 vg1
从我们的vg1中,创建一个100M的逻辑卷lv1
Lvscan
Lvdisplay
5 mkfs.ext3 /dev/vg1/lv1
格式化我们的lv1,文件系统用ext3
6 mkdir /mnt/lvm;mount /dev/vg1/lv1 /mnt/lvm
将lv1挂载到/mnt/lvm下
好了,这样一个创建lv的例子完成
4) 如何动态放大/缩小一个逻辑卷/逻辑卷组
1 lvextend -L+200M /dev/vg1/lv1
将lv1增加200M
2 ext2online /dev/vg1/lv1
让lv1容量更改立即生效
lvscan
减小lv,网上很多文章介绍的是ReiserFS,这里我们是ext3文件系统,如果我们需要减少50M:
1 umount /mnt/lvm
这里,需要先卸载分区
2 mke2fs -n /dev/vg1/lv1
计算lv1的block数
这里一定要加-n参数,这是计算lv1的block数,而不是格式化分区,注意。
并且注意,从MB->KB这些的计算,都是乘1024,不是1000,这是个细节问题
3 计算减少50M后的block数。从mke2fs -n /dev/vg1/lv1,我们可以得出2个需要的信息:
Block size和blocks,这两个数的乘积就是分区大小A(单位字节),
我们把需要减小的容量50M换算成字节B,然后A-B的结果除以Block size,就是剩余的block数
4 resize2fs -f /dev/vg1/lv1 剩余的block数
调整文件系统大小
5 lvreduce -L-50M /dev/vg1/lv1
调整lvm分区大小,减小50M
6 重新mount,df察看一下容量的减小
动态加大VG:
这里我们新增一个PV并加入VG
1 fdisk增加一个(0x)8e标志的分区/dev/hda7
2 vgextend vg1 /dev/hda7
好了,vg增大了
缩小逻辑卷组VG:
1 搬移PV中的资料(只限于同一VG中)
#pvmove [-n ] []
如
#pvmove /dev/sda1 /dev/sdb1
将VG中pv sda1的内容搬移到sdb1中
pvmove /dev/sda1(也可以这样,lvm决定hda2的内容被复制到哪里)
2 vgreduce vg1 /dev/sda1
把vg sda1移除
5) 如何删除逻辑卷/逻辑卷组
删除VG流程:
1 umount /挂接点
2 lvremove /dev/vg1/lv1
移除逻辑卷,这里是lv1
3 vgchange -a n vg1(关闭vg1)
4 vgremove vg1
移除vg1
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
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/97478/showart_1949541.html |
|