查看设备分区信息:

使用以下命令查看当前设备中的磁盘及分区信息

lsblk

image-20221205174023902
image-20221205174023902

可以看到当前设备中存在一个名为sda的磁盘,且磁盘sda下划分了两个分区sda1sda2,且对分区sda2进行了逻辑卷划分,卷名分别为rootswaphome,卷组名为centos。

在这里我们希望将逻辑卷home的空间进行缩减,随后将缩减出的空间分配给一个新的逻辑卷

卸载centos-home逻辑卷

由于我们需要对这个逻辑卷进行修改,修改会导致数据丢失,所以务必在开始之前对逻辑卷centos-home的挂载目录/home 下的内容进行备份。

数据备份完成之后,执行以下指令卸载此逻辑卷:

umount /dev/mapper/centos-home

再次执行

lsblk

image-20221205175619886
image-20221205175619886

可以看到当前逻辑卷已经卸载完成。

缩减逻辑卷

卸载完成后,我们将对该逻辑卷进行空间缩减,执行以下命令:

lvreduce /dev/mapper/centos-home -L -50G

执行过程中会提示是否确认缩减,输入 y 确认

其中 lvreduce 为缩减卷的命令,/dev/mapper/centos-home 为要缩减的逻辑卷,-L 为指定卷大小的参数,-50G 为本次缩减的大小,即减少 50G,这里减少 50G 也就是最后剩余 91.1G,此处如果传的是 50G 则是直接缩减到50G,也就是最后只剩50G

执行完成后在此执行

lsblk

可以看到已经缩减成功了:

image-20221205180550960
image-20221205180550960

新建逻辑卷

新建逻辑卷需要指定一个卷组,新建卷组可以用指令vgcreate完成,此处我们就使用原有的卷组centos

执行以下命令新建卷组:

lvcreate -n data -L 50G centos

随后执行 lsblk 查看:

image-20221205182145291
image-20221205182145291

可以看到新建逻辑卷成功

挂载卷

到这里,卷的划分已经完成,接下来需要将划分好的卷挂载到目录。

首先挂载centos-home卷

mount /dev/mapper/centos-home /home

image-20221205183149528
image-20221205183149528

执行之后发现执行失败,原因是我们缩减了卷需要对卷进行格式化:

mkfs.xfs /dev/mapper/centos-home

image-20221205183417288
image-20221205183417288

这里格式化也提示了错误,我们这里是将这个卷格式化为xfs格式,但是这个卷中原来就有一个xfs文件系统,所以需要加上 -f 参数强制格式化:

mkfs.xfs /dev/mapper/centos-home -f

image-20221205183638182
image-20221205183638182

格式化完成之后,重新执行挂载指令,最后查看分区信息,可以看到已经挂载完成了。

接下来我们挂载新建的逻辑卷centos-data,我们需要将这个卷挂载到/data目录,所以先创建这个目录,目录不存在挂载会报错。

mkdir /data
mkfs.xfs /dev/mapper/centos-data
mount /dev/mapper/centos-data /data

image-20221205184007409
image-20221205184007409

vim修改文件/etc/fstab:

vim /etc/fstab

image-20221205185151629
image-20221205185151629

新增一行:

image-20221205185240275
image-20221205185240275

重新执行挂载命令即可

mount /dev/mapper/centos-data /data