一、LVM简介
LVM顾名思义-逻辑卷管理器,它能够实现将多个底层块设备在一个更高层次上组合成一个逻辑设备,而且能很高的扩展,最常用的版本是lvm2
LVM工作流程图:
卷组volumegroup (VG)
卷组是LVM中最高抽象层,是由一个或多个物理卷所组成的存储器池。
物理卷physicalvolume (PV)
典型的物理卷是硬盘分区,但也可以是整个硬盘或已创建的Software RAID 卷。
物理块physicalextent (PE)
物理卷按大小相等的“块”为单位存储,块的大小与卷组中逻辑卷块的大小相同。
逻辑块logicalextent (LE)
逻辑卷按“块”为单位存储,在一卷组中的所有逻辑卷的块大小是相同的。
逻辑卷logicalvolume (LV)
逻辑卷相当于非LVM 系统中的分区,它在卷组上建立,是一个标准的块设备,可以在其上建立文件系统
lvm对底层物理设备组合成逻辑设备的核心就是由内核中的dm模块来实现的,dm才是真正意义上将多个组件扩展为一个逻辑设备的核心
#对于raid来讲有级别的概念,但对于lvm来讲有层次的概念、物理卷、卷组、逻辑卷;
逻辑卷的功能:创建lvm后,lvm也必须要格式化才能使用,因此创建完文件系统,一旦分区大小不能使用了,逻辑卷的边界(大小)可以自由调整的,但文件系统不会随着分区的大小而改变,所以还需要扩展文件系统的边界(大小)可大可小。而边界可以随着分区扩大或减小,如果到达一定的大小还想继续扩大分区,则可以加卷组。
1.PE:物理盘区
一般我们去划分一个逻辑卷的时候就是通过分配多少个PE来决定的。
比如:假设一个PE的大小为8MB 那么这个逻辑卷不管再怎么小也不能小于8MB。假设一个PE的大小为8MB,那么创建一个大小为50MB的逻辑卷,它必须是8的倍数(6*8=48)所以它不可能精确到50MB。
PE是创建卷组的时候来决定的,一旦被分配给LVM后 就被称为这个LVM的LE(逻辑盘区),而所谓的缩减就是将某些逻辑盘区收回来来完成的,而扩展则分配更多的物理盘区进来称为逻辑分区。
在创建逻辑卷的时候可以指定多少个盘区,也可以指定多大,只不过指定大小未必精确,它的盘曲大小一般都是2的N次方MB。盘区到底有多大,要看存储文件或者将来分配的力度有多大
2.LVM快照:
如:假如有一个50G的数据信息,而且这个数据库状态是在线的,意味着随时有人来访问、随时读写更新。
为了能够实现对原来卷在同一个卷组内迅速的创建一个快照卷,可以没有原卷大,以后在去访问原来卷的内容的时候有两个通路:
(1)将原卷挂载,(因为它是一个分区),作为访问入口
(2)将快照卷挂载,作为访问入口,快照卷的数据是来自原卷,但是把快照卷来做为对原卷的访问通路来使用。
原卷的数据发生变化,那么快照卷的数据也会跟着发生变化,一旦创建快照以后,任何文件,在创建快照那一刻将原卷的所有状态都保留下来。
之后创建快照之后任何文件修改必须在修改之前把原有的数据复制到快照卷里来,以后通过原卷来访问一定是改变后的文件。
如果没修改的话将访问原卷的数据,如果修改将访问快照卷的数据
快照卷只保存了需要修改数据的原来内容,所以快照卷的主要目的就是保留了原卷数据原来内容的。
如果修改内容的容量大小超过了快照卷的容量大小,可导致快照卷崩溃,所以一定保证快照卷的空间大小能保证容纳所有变化的情况,根据需求来定义
将多个物理卷组合叫做卷组,卷组类似于扩展分区 必须被格式化之后才可以使用,一个卷组内可以创建多个逻辑卷,一个逻辑卷可跨越多个物理卷。
二、管理逻辑卷:
逻辑卷的创建流程:首先将物理卷(PV)做成卷组(GV)再将卷组生成为逻辑卷(LV)
(1)需求:2块大于5G的硬盘分区
(2)将硬盘分区,并修改文件系统类型
1.创建物理卷
#查看系统分区情况:
[root@test~]# fdisk -l /dev/sd{b,c}
Disk/dev/sdb: 10.7 GB, 10737418240 bytes
255heads, 63 sectors/track, 1305 cylinders
Units =cylinders of 16065 * 512 = 8225280 bytes
Sectorsize (logical/physical): 512 bytes / 512 bytes
I/Osize (minimum/optimal): 512 bytes / 512 bytes
Diskidentifier: 0x00000000
Disk/dev/sdc: 10.7 GB, 10737418240 bytes
255heads, 63 sectors/track, 1305 cylinders
Units =cylinders of 16065 * 512 = 8225280 bytes
Sectorsize (logical/physical): 512 bytes / 512 bytes
I/Osize (minimum/optimal): 512 bytes / 512 bytes
Diskidentifier: 0x00000000
#依次将2个磁盘分区
[root@test~]# fdisk /dev/sdb
Command(m for help): p
Command(m for help): n #新建分区
Commandaction
e extended
p primary partition (1-4)
p
Partitionnumber (1-4): 1 #分区号
Firstcylinder (1-1305, default 1):
Usingdefault value 1
Lastcylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): +5G #分区大小
#修改文件系统类型
Hexcode (type L to list codes): l
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec(FAT-
2 XENIXroot 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIXusr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16<32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx
5 Extended 42 SFS 86 NTFS volume set da Non-FSdata
6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS /.
7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt
9 AIXbootable 50 OnTrack DM 93 Amoeba e1 DOS access
a OS/2Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
b W95FAT32 52 CP/M 9f BSD/OS e4 SpeedStor
c W95FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
e W95FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
f W95Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1
#选择lvm文件系统,键入8e
Hexcode (type L to list codes): 8e
#查看分区信息
Command(m for help): P
Disk/dev/sdb: 10.7 GB, 10737418240 bytes
255heads, 63 sectors/track, 1305 cylinders
Units =cylinders of 16065 * 512 = 8225280 bytes
Sectorsize (logical/physical): 512 bytes / 512 bytes
I/Osize (minimum/optimal): 512 bytes / 512 bytes
Diskidentifier: 0x2d79447a
Device Boot Start End Blocks Id System
/dev/sdb1 1 654 5253223+ 8e Linux LVM
Command(m for help): w
Thepartition table has been altered!
#将sdc也进行同样的操作,步骤略
#调整完分区类型后,使用pvcreate命令将两个分区合并为物理卷(PV):
[root@test~]# pvcreate /dev/sdb1 /dev/sdc1
Physicalvolume "/dev/sdb1" successfully created
Physicalvolume "/dev/sdc1" successfully created
#使用pvs命令查看物理卷的当前状态信息:
[root@test~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 a-- 5.01g 5.01g
/dev/sdc1 lvm2 a-- 5.01g 5.01g
#还可以使用pvdisplay更详细的查看pv信息
[root@test~]# pvdisplay
"/dev/sdb1" is a new physicalvolume of "5.01 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 5.01 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID oQkwKg-Almf-BKx3-YrrH-yPEk-Bltu-1phI4a
"/dev/sdc1" is a new physicalvolume of "5.01 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc1
VG Name
PV Size 5.01 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID Eft1NZ-bUZK-sagm-Heki-cFM1-Ao1S-VKQJqs
2.创建卷组(VG)
vg与pv不同,vg是靠名称来识别的。
命令格式:
vgcreate name /dev/sdb1 ..
常用参数:
-s PE #表示创建PE大小,PE大小是在创建VG的时候来指定的,将多个物理存储空间所存储的能力在VG的基础上划分成一个个的物理盘区,将物理盘区分配出去可以实现逻辑卷的创建或逻辑卷的扩展等操作。
#创建VG,指定分区:
[root@test~]# vgcreate vgtest /dev/sdb1 /dev/sdc1
Volume group "vgtest" successfullycreated
#查看vg状态信息:
#与pv一样,vgs查看简要信息,vgdisplay用来查看详细信息
[root@test~]# vgs
VG #PV #LV #SN Attr VSize VFree
vgtest 2 0 0 wz--n- 10.02g 10.02g
#查看详细信息
[root@test~]# vgdisplay
--- Volume group ---
VG Name vgtest
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 10.02 GiB
PE Size 4.00 MiB
Total PE 2564
Alloc PE / Size 0 / 0
Free PE / Size 2564 / 10.02 GiB
VG UUID YyR1jS-P5yp-nua1-6cJw-3NMz-MIy8-2v11aL
3. 创建逻辑卷(PV)
可以使用lvcreate命令来创建PV,用法如下:
lvcreate -L size -n lv_name vg_name
#下面来创建一个大小为2G的lv
[root@test~]# lvcreate -L 2G -n lvtest0 vgtest
#使用lvs命令来查看其lv的相关信息
[root@test~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lvtest0 vgtest -wi-a---- 2.00g
再来查看pv,可以发现pe信息已经显示出来了
[root@test~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name vgtest
PV Size 5.01 GiB / not usable 2.10 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 1282
Free PE 770
Allocated PE 512
PV UUID oQkwKg-Almf-BKx3-YrrH-yPEk-Bltu-1phI4a
--- Physical volume ---
PV Name /dev/sdc1
VG Name vgtest
PV Size 5.01 GiB / not usable 2.10 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 1282
Free PE 1282
Allocated PE 0
PV UUID Eft1NZ-bUZK-sagm-Heki-cFM1-Ao1S-VKQJqs
#卷组只需要名称,但lv靠设备文件来引用(/dev/卷组(gv)名/pv名 (/dev/vgtest/lvtest0)
#可以看到逻辑卷的设备文件存放路径:
[root@test~]# ll /dev/vgtest/lvtest0
lrwxrwxrwx.1 root root 7 11月 20 01:08 /dev/vgtest/lvtest0 ->../dm-0
另一个路径为/dev/mapper/
[root@test~]# ls -lth /dev/mapper/
总用量0
lrwxrwxrwx.1 root root 7 11月 20 01:08 vgtest-lvtest0 ->../dm-0
crw-rw----.1 root root 10, 58 11月 20 00:36 control
4.格式化LV
[root@test~]# mke2fs -t ext4 /dev/vgtest/lvtest0
以上,一个标准的逻辑卷就创建完成了。
5. 扩展卷组:
需求:首先需要准备好一个分区将其做成pv,这里新分出一个2G分区来做实验,扩展卷组可以使用vgtend命令,格式如下:
vgxtend VG_name 物理卷名:
#首先将系统分区划分好,步骤略,将 sbd2 创建为pv:
[root@test~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2"successfully created
#将物理卷加到卷组里即可:
[root@test~]# vgs
VG #PV #LV #SN Attr VSize VFree
vgtest 2 1 0 wz--n- 10.02g 8.02g
使用vgtend将其扩容:
[root@test~]# vgextend vgtest /dev/sdb2
Volume group "vgtest" successfullyextended
#查看VG信息:
[root@test~]# vgs
VG #PV #LV #SN Attr VSize VFree
vgtest 3 1 0 wz--n- 12.02g 10.02g
#查看VG成员:
[root@test~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vgtest lvm2 a-- 5.01g 3.01g
/dev/sdb2 vgtest lvm2 a-- 2.00g2.00g #可以看到新加入的分区信息
/dev/sdc1 vgtest lvm2 a-- 5.01g 5.01g
#vg的扩展并不影响lv的使用,可以事先查看之前挂载点
6. 缩减卷组:
缩减卷组大概分为两个方法:
(1)确定要移除的pv
(2)将此pv上的数据转移至其他pv
可以使用命令pvmove来完成卷组的缩减,如下所示:
#将分区 /dev/sdb1 移除:
[root@test~]# pvmove /dev/sdb1
/dev/sdb1: Moved: 1.6%
/dev/sdb1: Moved: 100.0%
#从卷组中移除此pv:
可以使用vgreduce命令,格式如下:
vgreducevg名称 /dev/分区号
#将pv /dev/sdb1移除:
[root@test~]# vgreduce vgtest /dev/sdb1
Removed "/dev/sdb1" from volumegroup "vgtest"
#再来查看卷组(VG)信息,可以看到,其中vfree的容量少了一半,如下所示
[root@test~]# vgs
VG #PV #LV #SN Attr VSize VFree
vgtest 2 1 0 wz--n- 7.01g 5.01g
[root@test~]# vgdisplay
--- Volume group ---
VG Name vgtest
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 7.01 GiB
PE Size 4.00 MiB
Total PE 1795
Alloc PE / Size 512 / 2.00 GiB
Free PE / Size 1283 / 5.01 GiB
VG UUID YyR1jS-P5yp-nua1-6cJw-3NMz-MIy8-2v11aL
7.删除物理卷
把当前物理卷在可用物理卷中删除:
#首先使用pvs查看pv信息,可看到/dev/sdb1目前不属于任何VG
[root@test~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 a-- 5.01g 5.01g
/dev/sdb2 vgtest lvm2 a-- 2.00g 2.00g
/dev/sdc1 vgtest lvm2 a-- 5.01g 3.01g
#将/dev/sdb1移除
[root@test~]# pvremove /dev/sdb1
Labels on physical volume"/dev/sdb1" successfully wiped
#再来查看pv相关信息
[root@test~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb2 vgtest lvm2 a-- 2.00g 2.00g
/dev/sdc1 vgtest lvm2 a-- 5.01g 3.01g
8.扩展逻辑卷(LV)
当扩展一个逻辑卷以后意味着这个逻辑卷本身有两个逻辑边界(物理边界和逻辑边界,所以扩展物理边界后逻辑边界不会随着扩展)与缩减边界的步骤正好相反,下面来思考两个问题:
(1)确定扩展多大?
(2)如果直接扩展,确定当前逻辑卷所在的卷组有足够空闲的空间
扩展物理边界:
扩展物理边界可以使用命令:lvextend -L +大小 /dev/lvname 来完成,如下所示:
#将逻辑卷lvtest0扩展到3G,先来看其大小:
[root@test~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lvtest0 vgtest -wi-a---- 2.00g
#以上信息可以看到目前大小为2G,下面为它曾加到3G:
[root@test~]# lvextend -L +1G /dev/vgtest/lvtest0
Extending logical volume lvtest0 to 3.00 GiB
Logical volume lvtest0 successfully resized
#再次查看:
[root@test~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lvtest0 vgtest -wi-a---- 3.00g
扩展逻辑边界:
扩展逻辑边界可以使用命令resize2fs来完成:
[root@test ~]# resize2fs /dev/vgtest/lvtest0
resize2fs1.41.12 (17-May-2010)
Resizingthe filesystem on /dev/vgtest/lvtest0 to 786432 (4k)blocks.
The filesystem on /dev/vgtest/lvtest0 is now786432 blocks long.
#使用df来查看其挂载点的容量大小:
[root@test~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.3G 3.1G 2.9G 52% /
tmpfs 245M 0 245M 0% /dev/shm
/dev/sda1 194M 28M 156M 16% /boot
/dev/mapper/vgtest-lvtest0
3.0G 67M 2.8G 3% /mnt
9.逻辑卷的缩减
首先先来熟悉一下文件系统检测命令e2fsck 或 fsck
#如果使用的为ext4文件系统则建议使用e2fsck工具进行检测;
#如果是其他文件系统则需要使用fsck工具进行检测;
#检测逻辑卷lvtest0当前状态:
[root@test ~]# e2fsck -p /dev/vgtest/lvtest0
/dev/vgtest/lvtest0is mounted.
e2fsck:Cannot continue, aborting.
#检测并修复可以使用-f参数,如下所示:
[root@test~]# e2fsck -f /dev/vgtest/lvtest0
e2fsck1.41.12 (17-May-2010)
/dev/vgtest/lvtest0is mounted.
e2fsck:Cannot continue, aborting.
缩减逻辑卷:
首先来考虑两个问题:
(1)确定缩减为多大,前提是至少能容纳所有原数据
(2)在做缩减操作之前必须要卸载挂载点并强行检测文件系统(e2fsck-f)
先缩减逻辑边界,再缩减物理边界,缩减是非常有风险,所以首先要强行检测文件系统
#缩减的步骤:
缩减的步骤大概分为5个流程:
第1步: 检查inode,块,和大小
第2步: 检查目录结构
第3步: 检查目录连接性
第4步: 检查引用数
第5步: 检查簇概要信息
将逻辑卷缩减到2G:
#首先取消挂载,不然会出现错误
[root@test~]# umount /mnt/
#同样使用resize2fs命令先来修改逻辑边界的大小
[root@test~]# resize2fs /dev/vgtest/lvtest0 2G
resize2fs1.41.12 (17-May-2010)
Pleaserun 'e2fsck -f /dev/vgtest/lvtest0' first.
#提示要先检测磁盘是否有错,不然无法执行下一步操作
[root@test~]# e2fsck -f /dev/vgtest/lvtest0
e2fsck1.41.12 (17-May-2010)
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
#再次执行:
[root@test~]# resize2fs /dev/vgtest/lvtest0 2G
resize2fs1.41.12 (17-May-2010)
Resizingthe filesystem on /dev/vgtest/lvtest0 to 524288 (4k) blocks.
Thefilesystem on /dev/vgtest/lvtest0 is now 524288 blocks long.
[root@test~]# echo $?
0
缩减物理边界:
#使用lvreduce命令 –L 指定大小,如下所示:
[root@test~]# lvreduce -L 2G /dev/vgtest/lvtest0
WARNING: Reducing active logical volume to2.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
#提示已有数据存在是否进行,选择y
Do youreally want to reduce lvtest0? [y/n]: y
Reducing logical volume lvtest0 to 2.00 GiB
Logical volume lvtest0 successfully resized
#再次强行检测修复分区:
[root@test~]# e2fsck -f /dev/vgtest/lvtest0
#挂载逻辑卷,如下所示,可以看到lv0已经成功缩减到2GB
[root@test~]# mount /dev/vgtest/lvtest0 /mnt
[root@test~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.3G 3.1G 2.9G 52% /
tmpfs 245M 0 245M 0% /dev/shm
/dev/sda1 194M 28M 156M 16% /boot
/dev/mapper/vgtest-lvtest0
2.0G 67M 1.9G 4% /mnt
10.创建快照卷
逻辑卷管理(LVM)提供了为任何逻辑卷作一个快照的功能,目的是在一致的状态下来得到一个分区的备份.因为在备份过程中,应用程序可能访问一个分区的文件或者数据库.一些文件可能在一个状态被备份,而后面的文件可能在一个更新后被备份,导致备份的不完整。
#创建快照卷可以使用命令 lvcreate-s
不需要指定卷组,因为快照卷一定是对某个逻辑卷来指定的,只能跟它快照的原卷在一个卷组中。常用参数有:
-p -r 指定权限为只读访问
-n 快照卷名称
假设:假如对当前的卷来创建快照卷,但这个快照卷最多只使用2个小时,而2个小时之内数据的变化量不会超过50M,那么是否可将快照卷设置大小为50M即可?如下所示:
#创建逻辑卷
[root@test~]# lvcreate -L 50 -s -p r -n lvm-test/dev/vgtest/lvtest0
Rounding up size to full physical extent52.00 MiB
Logical volume "lvm-test" created
#查看逻辑卷设备,可以看到生成了一个名为lvm-test的快照卷
[root@test~]# ls /dev/vgtest/
lvm-test lvtest0
#查看lv信息:
[root@test~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lvm-test vgtest sri-a-s-- 52.00m lvtest0 0.02
lvtest0 vgtest owi-aos-- 2.00g
#挂载快照卷
[root@test~]# mount -o ro /dev/vgtest/lvm-test /media/
[root@test~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.3G 3.1G 2.9G 52% /
tmpfs 245M 0 245M 0% /dev/shm
/dev/sda1 194M 28M 156M 16% /boot
/dev/mapper/vgtest-lvtest0
2.0G 67M 1.9G 4% /mnt
/dev/mapper/vgtest-lvm--test
2.0G 67M 1.9G 4% /media
#测试:修改原卷的数据,看看快照卷是否也更新变化
[root@test~]# cp /etc/passwd /mnt/
[root@test~]# ls /mnt/
lost+found passwd
[root@test~]# ls /media/
lost+found
可以总结出:其保存的数据是过去某个时刻的状态
11.移除逻辑卷
#移除lv或gv或pv,首先必须挂载点取消:
[root@test~]# umount -lf /mnt/
[root@test~]# umount -lf /media/
#移除快照卷:
[root@test~]# lvremove /dev/vgtest/lvm-test
Do youreally want to remove active logical volume lvm-test? [y/n]: y
Logical volume "lvm-test"successfully removed
#移除lv
[root@test~]# lvremove /dev/vgtest/lvtest0
#移除gv
[root@test~]# vgremove vgtest
Volume group "vgtest" successfullyremoved
#移除pv
[root@test~]# pvremove /dev/sdb2
Labels on physical volume"/dev/sdb2" successfully wiped
[root@test~]# pvremove /dev/sdc1
Labels on physical volume"/dev/sdc1" successfully wiped
[root@test~]# pvs #如下所示,已被完全删除,已无pv信息
[root@test~]#