lvm的创建,扩容,回缩

简介:
lvm 的创建,扩容,回缩
lvm逻辑盘卷管理(LogicalVolumeManager)
lvm是在linux的环境下对磁盘分区的管理,lvm的好处就在于可以在线扩容,就是在分区正在挂载的时候动态扩容,开始做系统的时候需要为每个分区指定大小,如果分区空间用完,这个分区就无法再往里面添加文件,只能备份分区里面的文件,然后重新分区,这样很麻烦。但是如果是用的是lvm的话,就可以动态添加分区的大小
pv:物理卷
vg:卷组(volume group)
lv:逻辑卷组(logical volumes)
创建的顺序是先将分区制作成物理卷,在将若干个物理卷制作成卷组,在卷组之上建立逻辑卷

一、创建lvm

                  1、划出1个分区,我这里是/dev/sda5大小为1G
# fdisk /dev/sda
Command (m for help): n                             //添加
First cylinder (2886-10443, default 2886):     //直接回车,使用默认柱面
Using default value 2886
Last cylinder or +size or +sizeM or +sizeK (2886-10443, default 10443): +1G //大小1G
Command (m for help): t           //指定分区类型
Partition number (1-6): 5                    //5代表第五个分区,这里是sda5
Hex code (type L to list codes): 8e //8e代表lvm
Changed system type of partition 5 to 8e (Linux LVM)
Command (m for help): w                   //w保存退出
The partition table has been altered!
# partprobe /dev/sda  通知内核分区表发生改变
# pvcreate /dev/sda5 首先建立pv
# vgcreate vg0 /dev/sda5 建立vg,这个vg名字为vg0
#lvcreate -L 500M -n lv0 vg0 在vg0中建立逻辑卷,名字为lv0
# lvs 使用lvs命令查看刚刚创建的逻辑卷
LV    VG   Attr   LSize   Origin Snap% Move Log Copy% Convert
lv0 vg0 -wi-a- 500.00M
# mkfs.ext3 /dev/vg0/lv0                             //格式化刚刚创建的逻辑卷
# mkdir /lvm                                                    //创建文件夹,作为挂载点
# mount /dev/vg0/lv0       /lvm/                //挂载上
# df    -h                                                //查看挂载
/dev/mapper/vg0-lv0    485M   11M 449M   3% /lvm
创建完成。
现在开始动态扩容lvm

二、动态增大lvm

# vgs 使用vgs查看当前卷组是否有空余空间。
VG    #PV #LV #SN Attr   VSize   VFree
vg0     1   1   0 wz--n- 964.00M          464.00M
我要将lvm增大到1500M ,当前的lvm是500M 还需要1G的空间,vg的剩余空间没有这么多,我只能在建立一个pv ,然后将新添加的pv划入vg。我才能增大lvm
#fdisk /dev/sda 方法同上。在添加一个1G的分区/dev/sda6
#pvcreate /dev/sda6
#vgextend   vg0 /dev/sda6         将新创建的pv划入vg0卷组里
# vgs
VG    #PV #LV #SN Attr   VSize        VFree
vg0     2   1   0 wz--n- 1.88G       1.39G
现在剩余空间为1.39G
# lvextend -L 1500M          /dev/vg0/lv0  
# lvs
LV    VG   Attr   LSize Origin Snap% Move Log Copy% Convert
lv0 vg0 -wi-ao        1.46G  
使用lvs查看当前的lvm .我的逻辑卷已经变成了1500M,但是我使用df查看的时候发现
/dev/mapper/vg0-lv0    485M   11M 449M   3% /lvm
这里还是显示我的lvm是485M,扩容的时候要注意,只有lvm增大的时候,增大的那部分空间是不能用的,因为没有文件系统,所以现在我们要使用resize2fs这个命令来增大lvm的文件系统
# resize2fs /dev/vg0/lv0
# df -h
/dev/mapper/vg0-lv0    1.5G   11M 1.4G   1% /lvm
这个时候lvm就已经变成了1.5G
说完了增大,我还想将lvm回缩到500M这个就需要用到lvm的回缩功能

三、lvm的减小

注意:减小的时候lvm不能是挂载状态,否则回缩文件系统会失败
减小的方法跟增大的方法类似,但是与增大正好相反,增大时先增大lvm然后拉伸文件系统,而减小则是先回缩文件系统,然后在缩小lvm
# umount /dev/vg0/lv0 首先卸载lvm
# resize2fs /dev/vg0/lv0 500M
resize2fs 1.39 (29-May-2006)
Please run 'e2fsck -f /dev/vg0/lv0' first.
系统提示我们要先运行e2fsck -f /dev/vg0/lv0这个命令,这个命令是强制检查我们的这个lvm设备
# e2fsck -f /dev/vg0/lv0
# resize2fs /dev/vg0/lv0 500M
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vg0/lv0 to 512000 (1k) blocks.
The filesystem on /dev/vg0/lv0 is now 512000 blocks long.
系统提示说/dev/vg0/lv0现在已经500M了
# lvresize -L 500M /dev/vg0/lv0 //减小lvm
WARNING: Reducing active logical volume to 500.00 MB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv0? [y/n]: y 这里询问我们是否要减小lvm
Reducing logical volume lv0 to 500.00 MB
Logical volume lv0 successfully resized 这里提示lvm已经成功减小
# mount /dev/vg0/lv0 /lvm 再次挂载lvm
# df -h 查看挂载,变成了500M
/dev/mapper/vg0-lv0    485M   11M 454M   3% /lvm


本文转自 周新宇1991 51CTO博客,原文链接:http://blog.51cto.com/zhouxinyu1991/1269440,如需转载请自行联系原作者

相关文章
|
1月前
|
存储 Linux
|
数据可视化 Linux
LVM 扩容方法
LVM 扩容方法
|
数据可视化 Linux
LVM扩容
LVM扩容
4023 0
LVM扩容
|
弹性计算 Linux 存储
初识LVM及ECS上LVM分区扩容
LVM是逻辑卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的逻辑层,来提高磁盘分区管理的灵活性。
9197 0