lvm逻辑卷管理
逻辑卷解决的问题:
/dev/sda5 500M
/dev/sda6 500M
单个文件700M能否存储?
逻辑卷中有三个组件:物理卷(pv)、卷组(vg)、逻辑卷(lv)
物理卷:由一个一个的相同大小的物理扩展块组成(PE、默认为4M),物理卷又由分区创建。
比如,一个物理卷有500M,那么理论来说它应该有500/4=125个物理扩展块,但实际上没有那么多(只有124个),每一个物理卷需要一小块空间来存放lvm属性(逻辑卷属性信息),占用一个最小的空间,这里最小空间为一个物理扩展块的大小为4M,所以实际上只有496M的空间。
如果是502M的物理卷的话,502/4=125…2,有一个多余的2M的空间,此时,这个最小空间就为2M用来存放lvm属性,所以实际上的空间大小为500M。
卷组:由一个或者多个物理卷组成,创建卷组的同时可以添加物理卷到卷组,并且可以指定PE的大小 (一般情况下指定为4的倍数)。
逻辑卷:从卷组中划分出来的,把卷组看成一个整体来划分。
层次结构:
硬盘 ---- 分区 ----物理卷(pv)---- 卷组(vg)---- 逻辑卷(lv)---- 文件系统(格式化)
最下层(硬盘)、最上层(文件系统)
逐次向下索要空间
比如:
/dev/sda5 500M
/dev/sda6 500M
单个文件700M能否存储?
如果是700M文件的话,我们需要比700M大的一个空间(设为800M)给到逻辑卷,那么向卷组索要空间、卷组向物理卷索要空间、物理卷向分区索要空间,这时两个分区把空间给到物理卷,逐次向上给空间(假设全部分区1000M空间都给到卷组了)。
那么如果单个文件有1500M?
/dev/sda5 500M
/dev/sda6 500M
单个文件1500M能否存储?
那么我们就需要再增加一个分区(分区加起来大于1500M)
/dev/sda5 500M
/dev/sda6 500M
/dev/sda7 1000M
也是逐次向下索要空间,分区把空间2000M(假设全部给出)给到物理卷,物理卷给卷组提供空间,逻辑卷可以从800M进行扩容,增大到比1500M大,那么就能存储单个1500M的文件了。
相关命令:
pvcreate 创建物理卷
pvdisplay 查看物理卷
vgcreate 创建卷组
vgdisplay 查看卷组
lvcreate 创建逻辑卷
lvdisplay 查看逻辑卷
一、问题一
/dev/sda5 500M
/dev/sda6 500M
单个文件700M能否存储?
(1)parted------创建分区 (先创建扩展分区,再在扩展分区里面创建两个500M的逻辑分区)
[root@stw ~]# parted /dev/sda
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit
Unit? [compact]? MiB
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1.00MiB 1025MiB 1024MiB primary xfs boot
2 1025MiB 52225MiB 51200MiB primary xfs
3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)
(parted) mkpart //创建扩展分区
Partition type? primary/extended? extended
Start? 56330MiB
End? 102390MiB //给的空间比1000M要大
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1.00MiB 1025MiB 1024MiB primary xfs boot
2 1025MiB 52225MiB 51200MiB primary xfs
3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)
4 56330MiB 102390MiB 46060MiB extended lba
(parted) mkpart //创建第一个逻辑分区
Partition type? [logical]?
File system type? [ext2]?
Start? 56340MiB
End? 56840MiB //给500M大小
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1.00MiB 1025MiB 1024MiB primary xfs boot
2 1025MiB 52225MiB 51200MiB primary xfs
3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)
4 56330MiB 102390MiB 46060MiB extended lba
5 56340MiB 56840MiB 500MiB logical
(parted) mkpart //创建第二个逻辑分区
Partition type? [logical]?
File system type? [ext2]?
Start? 56850MiB
End? 57350MiB //给500M大小
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1.00MiB 1025MiB 1024MiB primary xfs boot
2 1025MiB 52225MiB 51200MiB primary xfs
3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)
4 56330MiB 102390MiB 46060MiB extended lba
5 56340MiB 56840MiB 500MiB logical
6 56850MiB 57350MiB 500MiB logical
(parted) quit //保存退出
Information: You may need to update /etc/fstab.
[root@stw ~]# udevadm settle //同步到硬盘
硬盘 ---- 分区 ----物理卷(pv)---- 卷组(vg)---- 逻辑卷(lv)---- 文件系统(格式化)
(2)pvcreate------创建物理卷(将两个创建的逻辑分区都加到物理卷中)
[root@stw ~]# pvcreate /dev/sda5
Physical volume "/dev/sda5" successfully created.
[root@stw ~]# pvcreate /dev/sda6
Physical volume "/dev/sda6" successfully created.
[root@stw ~]# pvdisplay //查看物理卷
"/dev/sda6" is a new physical volume of "500.00 MiB"
--- NEW Physical volume ---
PV Name /dev/sda6
VG Name
PV Size 500.00 MiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID PBeNXu-tEl1-0ggO-LnfS-9ghO-9uWU-c9x3ei
"/dev/sda5" is a new physical volume of "500.00 MiB"
--- NEW Physical volume ---
PV Name /dev/sda5
VG Name
PV Size 500.00 MiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID jS6JDv-v6nK-gDnv-1hVm-JnLl-99lX-CBIKBI
硬盘 ---- 分区 ----物理卷(pv)---- 卷组(vg)---- 逻辑卷(lv)---- 文件系统(格式化)
(3)vgcreate------创建卷组
[root@stw ~]# vgcreate vg0 /dev/sda5 /dev/sda6
//vg0:卷组名称,/dev/sda5 /dev/sda6:将这两个物理卷加到卷组里面
Volume group "vg0" successfully created
[root@stw ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda5
VG Name vg0
PV Size 500.00 MiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 124
Free PE 124
Allocated PE 0
PV UUID jS6JDv-v6nK-gDnv-1hVm-JnLl-99lX-CBIKBI
--- Physical volume ---
PV Name /dev/sda6
VG Name vg0
PV Size 500.00 MiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 124
Free PE 124
Allocated PE 0
PV UUID PBeNXu-tEl1-0ggO-LnfS-9ghO-9uWU-c9x3ei
[root@stw ~]# vgdisplay //查看卷组
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 992.00 MiB
PE Size 4.00 MiB
Total PE 248
Alloc PE / Size 0 / 0
Free PE / Size 248 / 992.00 MiB
VG UUID 1mIFL6-DWv4-wzrb-FKha-WnuP-zNks-gf5fTG
(4)lvcreate------创建逻辑卷
指定大小:两种方式
lvcreate -l 指定PE(物理扩展块)的个数
如果要800M的逻辑卷大小的话,那么就应该是lvcreate -l 200 (一个PE大小为4M)
lvcreate -L 直接写逻辑卷的大小 lvcreate -L 800M
[root@stw ~]# lvcreate -l 200 -n lv0 vg0
Logical volume "lv0" created.
-n:-name(给逻辑卷取名,这里为lv0) vg0:从哪个卷组划分
[root@stw ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg0/lv0 //逻辑卷的路径
LV Name lv0
VG Name vg0
LV UUID dLdhWM-LMRR-B09m-SIHC-WlP9-7VP6-g8aP2f
LV Write Access read/write
LV Creation host, time stw.example.com, 2025-08-05 15:07:54 +0800
LV Status available
# open 0
LV Size 800.00 MiB
Current LE 200 //200个PE的大小
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
(5)格式化
[root@stw ~]# mkfs.xfs /dev/vg0/lv0
meta-data=/dev/vg0/lv0 isize=512 agcount=4, agsize=51200 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=204800, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
(6)挂载
[root@stw ~]# mkdir /lv0 //创建挂载点
[root@stw ~]# blkid //查看UUID
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="efbd9c63-21d7-4829-ae74-fa642a28640a" TYPE="xfs"
/dev/sda2: UUID="236d2c7d-6940-4d45-914d-a06afa4c5709" TYPE="xfs"
/dev/sda3: UUID="80552482-4dff-460e-a6f9-b14cd3618248" TYPE="swap"
/dev/sda5: UUID="jS6JDv-v6nK-gDnv-1hVm-JnLl-99lX-CBIKBI" TYPE="LVM2_member"
/dev/sda6: UUID="PBeNXu-tEl1-0ggO-LnfS-9ghO-9uWU-c9x3ei" TYPE="LVM2_member"
/dev/mapper/vg0-lv0: UUID="b4e38075-6f74-43ed-a0d6-e632463aece8" TYPE="xfs"
[root@stw ~]# vim /etc/fstab
[root@stw ~]# mount -a //重新加载/etc/fstab文件里的数据
[root@stw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
/dev/mapper/vg0-lv0 xfs 797M 33M 765M 5% /lv0
二、问题二(扩容)
/dev/sda5 500M
/dev/sda6 500M
单个文件1500M能否存储?
(1)创建分区(因为刚刚已经创建了扩展分区,所以现在只需要创建一个足够大逻辑分区)
[root@stw ~]# parted /dev/sda
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 54.8GB 53.7GB primary xfs
3 54.8GB 59.1GB 4295MB primary linux-swap(v1)
4 59.1GB 107GB 48.3GB extended lba
5 59.1GB 59.6GB 524MB logical
6 59.6GB 60.1GB 524MB logical
(parted) mkpart
Partition type? [logical]?
File system type? [ext2]?
Start? 57360MiB
End? 59360MiB
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 54.8GB 53.7GB primary xfs
3 54.8GB 59.1GB 4295MB primary linux-swap(v1)
4 59.1GB 107GB 48.3GB extended lba
5 59.1GB 59.6GB 524MB logical
6 59.6GB 60.1GB 524MB logical
7 60.1GB 62.2GB 2097MB logical
(parted) quit
Information: You may need to update /etc/fstab.
[root@stw ~]# udevadm settle //同步到硬盘
(2)pvcreate------创建物理卷(将刚创建的逻辑分区都加到物理卷中)
[root@stw ~]# pvcreate /dev/sda7
Physical volume "/dev/sda7" successfully created.
(3)将物理卷添加到卷组(刚刚已经创建过卷组,所以现在对卷组进行扩容------vgextend)
[root@stw ~]# vgextend vg0 /dev/sda7
Volume group "vg0" successfully extended
[root@stw ~]# vgdisplay
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size <2.92 GiB
PE Size 4.00 MiB
Total PE 747
Alloc PE / Size 200 / 800.00 MiB
Free PE / Size 547 / <2.14 GiB
VG UUID 1mIFL6-DWv4-wzrb-FKha-WnuP-zNks-gf5fTG
(4)lvextend------逻辑卷对逻辑卷也进行扩容(在线扩容,正在使用的过程中也可以扩容)
[root@stw ~]# lvextend -L 1700M /dev/vg0/lv0
Size of logical volume vg0/lv0 changed from 800.00 MiB (200 extents) to 1.66 GiB (425 extents).
Logical volume vg0/lv0 successfully resized.
[root@stw ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg0/lv0
LV Name lv0
VG Name vg0
LV UUID dLdhWM-LMRR-B09m-SIHC-WlP9-7VP6-g8aP2f
LV Write Access read/write
LV Creation host, time stw.example.com, 2025-08-05 15:07:54 +0800
LV Status available
# open 1
LV Size 1.66 GiB
Current LE 425
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
但是查看挂载点发现并没有改变大小(文件系统)
[root@stw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
/dev/mapper/vg0-lv0 xfs 797M 33M 765M 5% /lv0
逻辑卷的大小必须和该逻辑卷对应的文件系统的大小保持一致!
所以要把逻辑卷和对应文件系统的大小进行同步
xfs的文件系统同步大小
xfs_growfs 挂载点
ext4文件系统同步大小
resize2fs /dev/卷组名/逻辑卷名
xfs的文件系统的逻辑卷,只能扩容不能缩容
ext4的文件系统的逻辑卷,既可以扩容也可以缩容
[root@stw ~]# xfs_growfs /lv0 //xfs类型、最后接的是挂载点
meta-data=/dev/mapper/vg0-lv0 isize=512 agcount=4, agsize=51200 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=204800, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 204800 to 435200
[root@stw ~]# df -Th //查看后已经同步
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
/dev/mapper/vg0-lv0 xfs 1.7G 33M 1.7G 2% /lv0
三、创建ext4的逻辑卷,对它进行扩容和缩容
1、扩容
[root@stw ~]# parted /dev/sda
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit
Unit? [compact]? MiB
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1.00MiB 1025MiB 1024MiB primary xfs boot
2 1025MiB 52225MiB 51200MiB primary xfs
3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)
4 56330MiB 102390MiB 46060MiB extended lba
5 56340MiB 56840MiB 500MiB logical
6 56850MiB 57350MiB 500MiB logical
7 57360MiB 59360MiB 2000MiB logical
(parted) mkpart
Partition type? [logical]?
File system type? [ext2]?
Start? 59370MiB
End? 61370MiB
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 102400MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1.00MiB 1025MiB 1024MiB primary xfs boot
2 1025MiB 52225MiB 51200MiB primary xfs
3 52225MiB 56321MiB 4096MiB primary linux-swap(v1)
4 56330MiB 102390MiB 46060MiB extended lba
5 56340MiB 56840MiB 500MiB logical
6 56850MiB 57350MiB 500MiB logical
7 57360MiB 59360MiB 2000MiB logical
8 59370MiB 61370MiB 2000MiB logical
(parted) quit
Information: You may need to update /etc/fstab.
[root@stw ~]# udevadm settle //同步到硬盘
[root@stw ~]# pvcreate /dev/sda8 //把sda8创建到物理卷
Physical volume "/dev/sda8" successfully created.
[root@stw ~]# vgcreate vg1 /dev/sda8 //把物理卷添加到卷组
Volume group "vg1" successfully created
[root@stw ~]# vgdisplay
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size <2.92 GiB
PE Size 4.00 MiB
Total PE 747
Alloc PE / Size 425 / 1.66 GiB
Free PE / Size 322 / <1.26 GiB
VG UUID 1mIFL6-DWv4-wzrb-FKha-WnuP-zNks-gf5fTG
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <1.95 GiB
PE Size 4.00 MiB
Total PE 499
Alloc PE / Size 0 / 0
Free PE / Size 499 / <1.95 GiB
VG UUID UdFIYC-7z1Q-g58t-0B2D-edHh-wH5f-44MHMS
[root@stw ~]# lvcreate -l 200 -n lv1 vg1 //创建一个800M空间的逻辑卷
Logical volume "lv1" created.
[root@stw ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg0/lv0
LV Name lv0
VG Name vg0
LV UUID dLdhWM-LMRR-B09m-SIHC-WlP9-7VP6-g8aP2f
LV Write Access read/write
LV Creation host, time stw.example.com, 2025-08-05 15:07:54 +0800
LV Status available
# open 1
LV Size 1.66 GiB
Current LE 425
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID g4Ht6t-yo79-BOdT-ItWO-yE5c-2ywi-cHL6Px
LV Write Access read/write
LV Creation host, time stw.example.com, 2025-08-05 15:53:15 +0800
LV Status available
# open 0
LV Size 800.00 MiB
Current LE 200
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
[root@stw ~]# mkfs.ext4 /dev/vg1/lv1 //格式化
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
51296 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=209715200
7 block groups
32768 blocks per group, 32768 fragments per group
7328 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
[root@stw ~]# mkdir /lv1 //创建挂载点
[root@stw ~]# blkid
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="efbd9c63-21d7-4829-ae74-fa642a28640a" TYPE="xfs"
/dev/sda2: UUID="236d2c7d-6940-4d45-914d-a06afa4c5709" TYPE="xfs"
/dev/sda3: UUID="80552482-4dff-460e-a6f9-b14cd3618248" TYPE="swap"
/dev/sda5: UUID="jS6JDv-v6nK-gDnv-1hVm-JnLl-99lX-CBIKBI" TYPE="LVM2_member"
/dev/sda6: UUID="PBeNXu-tEl1-0ggO-LnfS-9ghO-9uWU-c9x3ei" TYPE="LVM2_member"
/dev/mapper/vg0-lv0: UUID="b4e38075-6f74-43ed-a0d6-e632463aece8" TYPE="xfs"
/dev/sda7: UUID="CVRbGi-7ia7-EFAc-M4Ho-zOKh-t5wh-KUx0Wz" TYPE="LVM2_member"
/dev/sda8: UUID="0qcDWJ-lJwX-Bul4-eo2a-N6QK-W7Vv-edeIsm" TYPE="LVM2_member"
/dev/mapper/vg1-lv1: UUID="99c56527-50eb-43cd-84ef-ec3ee5e950cb" TYPE="ext4"
[root@stw ~]# vim /etc/fstab
[root@stw ~]# mount -a //重新加载/etc/fstab中的内容
[root@stw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
/dev/mapper/vg0-lv0 xfs 1.7G 33M 1.7G 2% /lv0
/dev/mapper/vg1-lv1 ext4 772M 1.6M 714M 1% /lv1
[root@stw ~]# lvextend -L 1700M /dev/vg1/lv1 //将逻辑卷扩容到1700M,因为卷组现在还有1200M的空间,逻辑卷扩容到1700M只需要再增加900M的空间,是足够分的,所以只需要对逻辑卷进行扩容
Size of logical volume vg1/lv1 changed from 800.00 MiB (200 extents) to 1.66 GiB (425 extents).
Logical volume vg1/lv1 successfully resized.
[root@stw ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg0/lv0
LV Name lv0
VG Name vg0
LV UUID dLdhWM-LMRR-B09m-SIHC-WlP9-7VP6-g8aP2f
LV Write Access read/write
LV Creation host, time stw.example.com, 2025-08-05 15:07:54 +0800
LV Status available
# open 1
LV Size 1.66 GiB
Current LE 425
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID g4Ht6t-yo79-BOdT-ItWO-yE5c-2ywi-cHL6Px
LV Write Access read/write
LV Creation host, time stw.example.com, 2025-08-05 15:53:15 +0800
LV Status available
# open 1
LV Size 1.66 GiB
Current LE 425
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
[root@stw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
/dev/mapper/vg0-lv0 xfs 1.7G 33M 1.7G 2% /lv0
/dev/mapper/vg1-lv1 ext4 772M 1.6M 714M 1% /lv1
[root@stw ~]# resize2fs /dev/vg1/lv1 //ext4文件系统同步大小
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv1 is mounted on /lv1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg1/lv1 is now 435200 blocks long.
[root@stw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
/dev/mapper/vg0-lv0 xfs 1.7G 33M 1.7G 2% /lv0
/dev/mapper/vg1-lv1 ext4 1.7G 2.4M 1.6G 1% /lv1
2、缩容(离线缩小,需要先卸载挂载点)
(1)卸载
[root@stw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
/dev/mapper/vg0-lv0 xfs 1.7G 33M 1.7G 2% /lv0
/dev/mapper/vg1-lv1 ext4 1.7G 2.4M 1.6G 1% /lv1
[root@stw ~]# umount /lv1
[root@stw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
/dev/mapper/vg0-lv0 xfs 1.7G 33M 1.7G 2% /lv0
(2)检查逻辑卷是否支持缩小
[root@stw ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg1/lv1: 11/102592 files (0.0% non-contiguous), 11148/435200 blocks
(3)缩小该逻辑卷对应的文件系统的大小
[root@stw ~]# resize2fs /dev/vg1/lv1 400M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (4k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.
(4)再缩小逻辑卷的大小(逻辑卷的大小必须和该逻辑卷对应的文件系统的大小保持一致)
[root@stw ~]# lvreduce -L 400M /dev/vg1/lv1
WARNING: Reducing active logical volume to 400.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y
Size of logical volume vg1/lv1 changed from 1.66 GiB (425 extents) to 400.00 MiB (100 extents).
Logical volume vg1/lv1 successfully resized.
[root@stw ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg0/lv0
LV Name lv0
VG Name vg0
LV UUID dLdhWM-LMRR-B09m-SIHC-WlP9-7VP6-g8aP2f
LV Write Access read/write
LV Creation host, time stw.example.com, 2025-08-05 15:07:54 +0800
LV Status available
# open 1
LV Size 1.66 GiB
Current LE 425
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID g4Ht6t-yo79-BOdT-ItWO-yE5c-2ywi-cHL6Px
LV Write Access read/write
LV Creation host, time stw.example.com, 2025-08-05 15:53:15 +0800
LV Status available
# open 0
LV Size 400.00 MiB
Current LE 100
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
(5)重新挂载
[root@stw ~]# mount -a
[root@stw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 xfs 50G 3.5G 47G 7% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 163M 852M 17% /boot
tmpfs tmpfs 394M 12K 394M 1% /run/user/42
tmpfs tmpfs 394M 0 394M 0% /run/user/0
/dev/mapper/vg0-lv0 xfs 1.7G 33M 1.7G 2% /lv0
/dev/mapper/vg1-lv1 ext4 377M 1.2M 351M 1% /lv1
四、删除
以删除整个逻辑卷lv1为例
1、取消挂载(一定要删掉/etc/fstab中的文件)
[root@stw ~]# umount /lv1
[root@stw ~]# vim /etc/fstab
2、逐次删除 (硬盘 ---- 分区 ----物理卷(pv)---- 卷组(vg)---- 逻辑卷(lv)---- 文件系统(格式化)
[root@stw ~]# lvremove /dev/vg1/lv1
Do you really want to remove active logical volume vg1/lv1? [y/n]: y
Logical volume "lv1" successfully removed
[root@stw ~]# vgremove /dev/vg1
Volume group "vg1" successfully removed
[root@stw ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda5
VG Name vg0
PV Size 500.00 MiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 124
Free PE 0
Allocated PE 124
PV UUID jS6JDv-v6nK-gDnv-1hVm-JnLl-99lX-CBIKBI
--- Physical volume ---
PV Name /dev/sda6
VG Name vg0
PV Size 500.00 MiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 124
Free PE 0
Allocated PE 124
PV UUID PBeNXu-tEl1-0ggO-LnfS-9ghO-9uWU-c9x3ei
--- Physical volume ---
PV Name /dev/sda7
VG Name vg0
PV Size 1.95 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 499
Free PE 322
Allocated PE 177
PV UUID CVRbGi-7ia7-EFAc-M4Ho-zOKh-t5wh-KUx0Wz
"/dev/sda8" is a new physical volume of "1.95 GiB"
--- NEW Physical volume ---
PV Name /dev/sda8
VG Name
PV Size 1.95 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 0qcDWJ-lJwX-Bul4-eo2a-N6QK-W7Vv-edeIsm
[root@stw ~]# pvremove /dev/sda8
Labels on physical volume "/dev/sda8" successfully wiped.
[root@stw ~]# parted /dev/sda
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 54.8GB 53.7GB primary xfs
3 54.8GB 59.1GB 4295MB primary linux-swap(v1)
4 59.1GB 107GB 48.3GB extended lba
5 59.1GB 59.6GB 524MB logical
6 59.6GB 60.1GB 524MB logical
7 60.1GB 62.2GB 2097MB logical
8 62.3GB 64.4GB 2097MB logical
(parted) rm 8
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 54.8GB 53.7GB primary xfs
3 54.8GB 59.1GB 4295MB primary linux-swap(v1)
4 59.1GB 107GB 48.3GB extended lba
5 59.1GB 59.6GB 524MB logical
6 59.6GB 60.1GB 524MB logical
7 60.1GB 62.2GB 2097MB logical
(parted) quit
Information: You may need to update /etc/fstab.
[root@stw ~]# udevadm settle