对现有的 LVM 分区进行分区?

对现有的 LVM 分区进行分区?

因此,目前我正尝试将 /var 移动到其自己的分区,这在网络上有很好的记录。我遇到的问题是创建 LVM 分区内的逻辑卷。运行sudo fdisk /dev/sda并打印分区表后,我收到了对我有意义的输出。

在此处输入图片描述

这表明我的机器上确实有一个 ~20GB 的 LVM。现在到了令人困惑的部分。运行时,sudo vgdisplay我看到了以下内容;

在此处输入图片描述

如上所示,虽然卷组的大小为 19.52GB,而已分配的 PE 占用了 4997 个块,占了所有块的 100%。因此,我无法使用类似以下命令从此分区创建分区lvcreate,例如本教程

所以我想我的问题是,在这个过程中我哪里做错了,以及如何创建任意大小的分区?(我们就说 2GB 来放一个数字)

答案1

请记住,所有操作都是危险的,可能会损坏您的系统。您没有说明 /dev/sda2 和 /dev/saa3 的用途或是否已安装它们。

如果您可以删除现有的逻辑卷,则可以在现有卷组中创建两个新的逻辑卷。这很容易。

如果需要保留现有的逻辑卷,则需要在同一卷组内创建一个新的逻辑卷。

要使用现有的分区和卷组,您需要:

  1. 减少现有逻辑卷中文件系统的大小,
  2. 减小逻辑卷的大小,
  3. 创建新的逻辑卷
  4. 在新的逻辑卷中创建文件系统
  5. 将您的文件复制到新的逻辑卷并挂载它

其中 X 是您要将现有逻辑卷缩减到的大小,vg=your volume grouplv= your logical volume确保现有逻辑卷中有足够的空闲空间,以便您可以缩减大小。在实际操作之前,请务必小心并在您可以承受得起的麻烦上尝试。这些对于实时文件系统来说非常危险,请确保您有备份。

 umount /dev/mapper/vg-lv
 fsck /dev/mapper/vg-lv
 resize2fs /dev/mapper/vg-lv (X-1)G 
 lvreduce -L XG /dev/mapper/vg-lv 
 resize2fs  /dev/mapper/vg-lv (to fill up the lv)
 lvcreate -l 100%FREE -n lv-var vg 
 mkfs -t ext4 /dev/mapper/lv-var

然后,您需要将 var 的内容复制到新的逻辑卷中,编辑 fstab 并重新启动系统。

另一种方法是减小主分区 /dev/sda1 的大小并创建新分区 /dev/sda4。

要做到这一点你需要一个实时会话

  1. 减小 /dev/sda1 中文件系统的大小
  2. 减小分区大小
  3. 在未分配的空间中创建一个新的分区。
  4. 在新分区中创建新的文件系统

执行此操作的工具通常是resizefs parted缩小分区并创建新分区并 mkfs创建文件系统。

我就把细节留给别人吧。这也是非常危险的。

相关内容