有时候需要在主机上增加一个新的逻辑卷。例如,在被提示包含我的 VirtualBox 虚拟机的虚拟磁盘的 /home 文件系统被填满时,我决定去创建一个新的逻辑卷,以存储包含虚拟磁盘在内的虚拟机数据。这将在我的 /home 文件系统中释放大量的空间,并且也允许我去独立地管理虚拟机的磁盘空间。
增加一个新的逻辑卷的基本步骤如下:
如有需要,安装一个新硬盘。
可选: 在硬盘上创建一个分区。
在硬盘上创建一个完整的物理卷(PV)或者一个分区。
分配新的物理卷到一个已存在的卷组(VG)中,或者创建一个新的卷组。
从卷空间中创建一个新的逻辑卷(LV)。
在新的逻辑卷中创建一个文件系统。
在 /etc/fstab 中增加适当的条目以挂载文件系统。
挂载文件系统。
为了更详细的介绍,接下来将使用一个示例作为一个实验去教授关于 Linux 文件系统的知识。
示例这个示例展示了怎么用命令行去扩展一个已存在的卷组,并给它增加更多的空间,在那个空间上创建一个新的逻辑卷,然后在逻辑卷上创建一个文件系统。这个过程一直在运行着和已挂载的文件系统上执行。
警告:仅 EXT3 和 EXT4 文件系统可以在运行和挂载状态下调整大小。许多其它的文件系统,包括 BTRFS 和 ZFS 是不能这样做的。
安装硬盘如果在系统中现有硬盘上的卷组中没有足够的空间可以增加,那么可能需要去增加一块新的硬盘,然后创建空间增加到逻辑卷中。首先,安装物理硬盘,然后,接着执行后面的步骤。
从硬盘上创建物理卷首先需要去创建一个新的物理卷(PV)。使用下面的命令,它假设新硬盘已经分配为 /dev/hdd。
pvcreate /dev/hdd
在新硬盘上创建一个任意分区并不是必需的。创建的物理卷将被逻辑卷管理器识别为一个新安装的未处理的磁盘或者一个类型为 83 的 Linux 分区。如果你想去使用整个硬盘,创建一个分区并没有什么特别的好处,而且元数据所用的磁盘空间也能用做 PV 的一部分使用。
扩展已存在的卷组在这个示例中,我将扩展一个已存在的卷组,而不是创建一个新的;你可以选择其它的方式。在物理磁盘已经创建之后,扩展已存在的卷组(VG)去包含新 PV 的空间。在这个示例中,已存在的卷组命名为:MyVG01。
vgextend /dev/MyVG01/dev/hdd
创建一个逻辑卷首先,在卷组中从已存在的空余空间中创建逻辑卷。下面的命令创建了一个 50 GB 大小的 LV。这个卷组的名字为 MyVG01,然后,逻辑卷的名字为 Stuff。
lvcreate -L +50G--name StuffMyVG01
创建文件系统创建逻辑卷并不会创建文件系统。这个任务必须被单独执行。下面的命令在新创建的逻辑卷中创建了一个 EXT4 文件系统。
mkfs-t ext4 /dev/MyVG01/Stuff
增加一个文件系统卷标增加一个文件系统卷标,更易于在文件系统以后出现问题时识别它。
e2label /dev/MyVG01/StuffStuff
挂载文件系统在这个时候,你可以创建一个挂载点,并在 /etc/fstab 文件系统中添加合适的条目,以挂载文件系统。
你也可以去检查并校验创建的卷是否正确。你可以使用 df、lvs 和 vgs 命令去做这些工作。
在 LVM 文件系统中调整逻辑卷大小从 Unix 的第一个版本开始,对文件系统的扩展需求就一直伴随,Linux 也不例外。随着有了逻辑卷管理(LVM),现在更加容易了。
如有需要,安装一个新硬盘。
可选: 在硬盘上创建一个分区。
在硬盘上创建一个完整的物理卷(PV)或者一个分区。
分配新的物理卷到一个已存在的卷组(VG)中,或者创建一个新的卷组。
从卷空间中创建一个新的逻辑卷(LV),或者用卷组中部分或全部空间扩展已有的逻辑卷。
如果创建了新的逻辑卷,那么在上面创建一个文件系���。如果对已有的逻辑卷增加空间,使用 resize2fs 命令来增大文件系统来填满逻辑卷。
在 /etc/fstab 中增加适当的条目以挂载文件系统。
挂载文件系统。
示例