游戏开发工具

创建好 LVM 之后,如果经过一段时间的运行,我们发现 LVM 技术并未像有些人吹嘘的那样为系统的管理和维护工作带来很大的方便,可以手动删除它。

与创建 LVM 的顺序恰好相反,在释放 LVM 所占磁盘空间的操作中,首先要删除卷组上所定义的逻辑卷(LV),之后删除这个卷组(VG),最后才能删除所有的物理卷(PV)。接下来,还是通过个实例来演示这些操作的全过程。

首先,要删除一个逻辑卷,就必须先将这个逻辑卷从系统中卸载掉。例如,使用 umount 命令卸载挂载在 /disklvm 目录上的逻辑卷,执行命令如下:

[root@localhost ~]# umount /disklvm

随后,你需要使用如下的 df 系统再次列出所有挂载的文件系统信息:

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 8.7G 7.0G 1.3G 85% /
......
/dev/md0 1004M 18M 936M 2% /oradata

从显示结果中可以看到,再也找不到任何挂载的逻辑卷了,这表明挂载在 /disklvm 目录上的逻辑卷 lamplv 已经被卸载了。

现在,就可使用 lvremove 命令移除设备文件 /dev/scvg/lamplv 所对应的逻辑卷了。在系统提示处输入 【y】 确认要移除 lamplv 逻辑卷,执行命令如下所示:

[root@localhost ~]# lvremove /dev/scvg/lamplv
Do you really want to remove active logical volume "lamplv"? [y/n]:y
Logical volume "lamplv" successfully removed

之后,你可以使用 vgdisplay 命令再次列出 scvg 卷组的详细信息:

[root@localhost ~]# vgdisplay scvg
---Volume group ---
VG Name scvg
......
Cur LV 0
Open LV 0
Max PV 0
......

通过对比你会发现,Cur LV 和 Open LV 的值,都从原来的 1 变为了 0,这就进一步证实了原来在 scvg 卷组上定义的逻辑卷已经全都被删除了。

接下来, 可以使用 vgremove 命令删除 scvg 卷组,执行命令如下:

[root@localhost ~]# vgremove scvg
Volume group "scvg" successfully removed

可以看到,vgdog 卷组己经被成功地删除了,但是为了慎重起您可以使用 vgdisplay 再次列出 vgdog 卷组的详细信息,如下所示:

[root@localhost ~]# vgdisplay scvg
Volume group "scvg" not found

显示结果表明,系统已经找不到 scvg 卷组了,这就进一步证实了 scvg 卷组已经被删除了。

注意,一些 Linux 教程认为在删除了卷组之后就算完成了全部所需的操作,但是最好还是要移除所有分区上的物理卷的卷标。因此,最好使用 pvremove 命令同时移除 /dev/sdb5、 /dev/sdb6 和 /dev/sdb7 这 3 个分区上的物理卷的卷标,执行命令如下:

[root@localhost ~]# pvremove /dev/sdb5 /dev/sdb6 /dev/sdb7
Labels on physical volume "/dev/sdb5" successfully wiped
Labels on physical volume "/dev/sdb6" successfully wiped
Labels on physical votume "/dev/sdb7" successfuily wiped

完成了以上操作之后,我们不但删除了逻辑卷和卷组,而且还释放了物理卷所使用的所有磁盘空间,即将这些磁盘空间归还给了 Linux 系统。