lvm:logical volume monitor 逻辑卷管理器
作用: 采用lvm划分磁盘:磁盘空间不够时,方便扩展磁盘。物理卷加到卷组时被划分等大的pe,即pv是由众多pe构成.pe是卷组的最小单位.默认情况下一个pe对应一个le。一个le可以对应多个pe(相当于raid1,一般不做),但一个pe只能对应一个le。
1.pv: physical volume 物理卷 命令有:pvs/ pvdisplay/pvcreate/pvmove/pvremove
2.vg: volume group 卷组. 命令有:vgs/vgdisplay/vgcreate/vgextend/vgreduce/vgremove 3.lv: logical volume 逻辑卷. 命令有:lvs/lvdisplay/lvcreate/lvextend/lvreduce/lvremove 4.pe: physical extent 物理分区 5.le:logical extent 逻辑分区 |
查看物理卷(pv).
查看物理卷: pvs
或者 pvdisplay
无输出则表示没有物理卷. [root@lbg test]# pvs [root@lbg test]# pvdisplay |
添加物理卷:
添加2个pv. 命令为:
pvcreate +磁盘映射点(分区表不能为gpt)
[root@lbg test]# pvcreate /dev/sdb /dev/sdc ---创建物理卷 Physical volume "/dev/sdb" successfully created. Physical volume "/dev/sdc" successfully created. |
再次查看物理卷:
[root@lbg test]# pvs
PV VG Fmt Attr PSize PFree /dev/sdb lvm2 --- 2.00g 2.00g /dev/sdc lvm2 --- 2.00g 2.00g |
新建卷组并添加物理卷:
将/deb/sdb添加到名为lbgvg的新建卷组里: vgcreate
vg_name pv_path
[root@lbg test]# vgcreate lbgvg /dev/sdb ---新建卷组名为lbgvg Volume group "lbgvg" successfully created |
查看卷组:可知其有1个pv和0个lv.
命令为:
Vgs 或者 vgdisplay
.
[root@lbg test]# vgs
VG #PV #LV #SN Attr VSize VFree lbgvg 1 0 0 wz--n- <2.00g <2.00g |
在卷组里创建逻辑卷(lv):
从组lbgvg里创建1G,名为lbglv的逻辑卷(+1G表示添加2G,而单独的1G表示总空间为1G)
[root@lbg test]# lvcreate -L 1G -n lbglv lbgvg --从卷组lbgvg里新建逻辑卷lbglv 逻辑卷创建完后相当于分区完成. |
查看逻辑卷:lvs 或者 lvdisplay
[root@lbg test]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lbglv lbgvg -wi-a----- 1.00g [root@lbg test]# lvdisplay --- Logical volume --- LV Path /dev/lbgvg/lbglv ---可知逻辑卷映射在操作系统为: /dev/lbgvg/lbglv.可在此路径查看。 LV Name lbglv VG Name lbgvg LV UUID Pkjmem-LUH6-1EXM-m0rP-Vjfa-ac03-dVycbc LV Write Access read/write LV Creation host, time lbg, 2018-10-04 23:16:37 +0800 LV Status available # open 0 LV Size 1.00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 [root@lbg test]# cd /dev/lbgvg [root@lbg lbgvg]# ll lrwxrwxrwx 1 root root 7 Oct 4 23:16 lbglv -> ../dm-0 |
然后可以创建文件系统再挂载即可使用.
[root@lbg lbgvg]# mkfs.xfs
/dev/lbgvg/lbglv
[root@lbg lbgvg]# mount /dev/lbgvg/lbglv /mnt/hh [root@lbg /]# df -Th /dev/mapper/lbgvg-lbglv xfs 1014M 33M 982M 4% /mnt/hh |
卷组扩容:扩容卷组即是新建物理卷并将其加入到卷组中即可
查看卷组:发现只有1个pv,大小为2g.
[root@lbg /]# vgs VG #PV #LV #SN Attr VSize VFree lbgvg 1 1 0 wz--n- <2.00g 1020.00m |
先创建物理卷并查看:
[root@lbg /]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created. [root@lbg /]# pvs PV VG Fmt Attr PSize PFree /dev/sdb lbgvg lvm2 a-- <2.00g 1020.00m /dev/sdc lvm2 --- 2.00g 2.00g |
再将物理卷添加到卷组里然后查看可知卷组为3.99G(命令:vgextend lbgvg
/dev/sdc)
[root@lbg /]# vgextend lbgvg /dev/sdc
Volume group "lbgvg" successfully extended [root@lbg /]# vgs VG #PV #LV #SN Attr VSize VFree lbgvg 2 1 0 wz--n- 3.99g 2.99g |
逻辑卷扩容:
逻辑卷的大小不能超过卷组的大小,故一般扩容是先扩容卷组,再扩容逻辑卷.扩容卷组即是新建物理卷并将其加入到卷组中即可.逻辑卷扩容可以直接在挂载情况下使用 。且逻辑卷扩容,需先扩展物理边界再扩展逻辑边界.
扩展物理边界命令: lvextend
-L +2G /dev/lbgvg/lbglv
[root@lbg /]# lvextend -L +2G /dev/lbgvg/lbglv Size of logical volume lbgvg/lbglv changed from 1.00 GiB (256 extents) to 3.00 GiB (768 extents). Logical volume lbgvg/lbglv successfully resized. [root@lbg /]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lbglv lbgvg -wi-ao---- 3.00g 此时lvs查看是3G,但df -h查看却是1G,因为还需扩展逻辑边界. |
扩展逻辑边界:
[root@lbg /]# resize2fs
/dev/lbgvg/lbglv
---扩展逻辑边界
[root@lbg /]# lvdisplay --- Logical volume --- LV Path /dev/lbgvg/lbglv LV Name lbglv VG Name lbgvg LV UUID Pkjmem-LUH6-1EXM-m0rP-Vjfa-ac03-dVycbc LV Write Access read/write LV Creation host, time lbg, 2018-10-04 23:16:37 +0800 LV Status available # open 0 LV Size 3.00 GiB Current LE 768 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 注意其中open的状态:为1说明在用,可知mount里查看.当open为0,说明没有挂载. 扩展逻辑边界后的结果是:文件系统的大小(挂载情况下df -h)=设备大小(lvs) |
逻辑卷缩容:
必须先umount,再强制文件系统检查,然后缩容逻辑边界,最后缩容物理边界.
强制文件系统检查命令: e2fsck -f /dev/lbgvg/lbglv
[root@lbg /]# e2fsck -f
/dev/lbgvg/lbglv
缩容逻辑边界,改为1G [root@lbg /]# resize2fs /dev/lbgvg/lbglv 1G 最后缩容物理边界,改为1G(会销毁数据.) [root@lbg /]# lvreduce -L 1G /dev/lbgvg/lbglv 再查看:lvs [root@lbg /]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lbglv lbgvg -wi-a----- 1.00g |
卷组缩容:先移走数据再卷组缩容最后删除物理卷.
移走数据时要求空闲的空间大于要移走的物理卷大小.具体步骤如下:
[root@lbg /]# pvmove /dev/sdc
[root@lbg /]# vgreduce lbgvg /dev/sdc [root@lbg /]# pvremove /dev/sdc |