概述
之前文章大致做了LVM简介,推荐在使用本地存储时,使用LVM,那如何使用LVM呢?
这里从LVM相关组件分析其常用命令,最后给出创建一个LVM volume的步骤。
物理卷相关
物理卷 - PhysicalVolume
LVM管理的最底层就是一个个物理卷,与之相关的命令基本都以pv开始,大致有如下这些:
1 | root@ubuntu:~# pv |
创建
pvcreate - initialize a disk or partition for use by LVM
从物理盘或者一个分区初始化一个PV,这个PV之后会被LVM用来创建VG;
删除
pvremove - remove a physical volume
删除一个PV,之后LVM将不认为该设备为PV;
显示
pvs - report information about physical volumes
展示系统PVS的信息,可以指定输出格式等;
pvdisplay - display attributes of a physical volume
展示一个/多个PVS的属性信息,可以指定输出格式等;
其他
pvscan - scan all disks for physical volumes
扫描整个系统中支持LVM块设备的PVS;
pvresize - resize a disk or partition in use by LVM2
调整LVM使用的一个PV的大小,前提是它对应的物理设备大小可以resize;
pvchange - change attributes of a physical volume
修改一个PV的属性;
卷组相关
卷组 - VolumeGroup
卷组是LVM基于PVS创建的一个块设备集合,类似于有的存储中说的Volume Pool,它综合了底层所有PVS的存储,做了统一的配置,比如:分配块大小等;
与卷组相关的命令都是以vg开始,大致如下:
1 | root@ubuntu:~# vg |
创建
vgcreate - create a volume group
基于之前创建的PVS创建一个VG,这里原则上选择同质物理盘创建的PVS;
可以指定每次在PV上申请空间的Extent size(-s, –physicalextentsize PhysicalExtentSize[bBsSkKmMgGtTpPeE])
删除
vgremove - remove a volume group
删除一个VG;若VG上有LV,则会有相关提示;
显示
vgs - report information about volume groups
显示系统中有的VGS信息;
vgdisplay - display attributes of volume groups
显示VGS的详细属性信息;
其他
vgextend - add physical volumes to a volume group
添加PVS到VG中,扩容VG;
vgreduce - reduce a volume group
从VG中删除没有使用的PVS,若PV已经分配了PE,则命令失败;
vgchange - change attributes of a volume group
修改一个VG的属性;
逻辑卷相关
逻辑卷 - LogicalVolume
逻辑卷是最终面向用户使用的块设备,用户可以像使用普通磁盘/分区一样的使用它;同时逻辑卷支持很多普通磁盘没有的特性,比如:mirror,stripe,raid,thin等;
与逻辑卷相关的命令都是以lv开始,大致如下:
1 | root@ubuntu:~# lv |
创建
lvcreate - create a logical volume in an existing volume group
从一个创建好的VG里创建一个LV,可以指定LV的很多属性,比如:size,stripe,raid,thin等;
删除
lvremove - remove a logical volume
删除一个LV;若该LV系统正在使用,则删除失败;
显示
lvs - report information about logical volumes
显示系统LVS的基本信息;
lvdisplay - display attributes of a logical volume
显示一个LV的详细属性信息;
其他
lvextend - extend the size of a logical volume
扩容一个LV的size;
lvresize - resize a logical volume
调整一个LV的size;可以扩容,可以缩容,但缩容需谨慎,可能导致数据丢失;
lvchange - change attributes of a logical volume
修改一个LV的属性;
lvscan - scan (all disks) for Logical Volumes
扫描系统获取所有LV的 active,snapshot/origin,size等信息;
创建LVM Volume步骤
创建PV
使用fdisk创建LVM Type的磁盘分区
1 | [root@ceph0 ~]# fdisk /dev/sdj |
1 | [root@ceph0 ~]# pvs |
创建VG
1 | [root@ceph0 ~]# vgcreate volgroup-sata /dev/sdi1 /dev/sdj1 /dev/sdk1 |
创建LV
1 | [root@ceph0 ~]# lvcreate -n lv1 -L 1G volgroup-sata |
使用LV
可以像使用系统物理device一样,使用LogicalVolume;
1 | [root@ceph0 ~]# mkfs.ext4 /dev/volgroup-sata/lv1 |