如何在CentOS上缩小LVM分区?

我试图在CentOS 5.8虚拟机上减小分区的大小,因为我的前任为它分配了太多的空间。 但是,我尝试了各种不同的方法,并遇到了所有问题。 当前分区的详细信息如下:

 型号:VMware虚拟磁盘(scsi)
磁盘/ dev / sda:215GB
扇区大小(逻辑/物理):512B / 512B
分区表:msdos

数字开始最终大小types文件系统标志
 1 32.3kB 107MB主要的ext3启动
 2个107MB 215GB 215GB初级lvm

当我尝试使用Parted调整分区大小(运行Knoppix Live-CD并卸载系统分区时),我得到这个错误:

  (分开)调整2 107 30827

警告:您正尝试使用parted来操作(resize)文件系统。  parted的文件系统操作代码并不像在e2fsprogs这样的专用文件系统专用软件包中find的那么健壮。 我们build议您尽可能使用parted来操作分区表。 支持在大多数types的文件系统上执行大多数操作将在即将发布的版本中被删除。
错误:无法检测文件系统。

我试图find一个很好的指导如何使用e2fsprogs做到这一点,但我所遇到的一切都没有解释如何调整像我需要的lvm分区。

我是Linux新手,所以也许这是基本的,我过分分析,但任何帮助将不胜感激。

提前致谢!

越来越多的文件系统很容易。 收缩文件系统是棘手的,并不是所有的文件系统都支持。 尽pipe如此,ext3和ext4也支持收缩,但是要非常小心 。 确保你有良好的备份。 然后,再次validation您的备份是否良好。

您应该首先使用resize2fs /dev/yourdevice newsizegoeshere缩小文件系统本身。

接下来,您需要缩小逻辑卷: lvresize -LX /path/to/your/logical_volume ,其中X是以某种方式表示的新大小。 我故意省略了语法,请参阅man lvresize获取可用的选项,以查看您的首选方式来告诉新的大小。 您可以从旧的尺寸中减去,或者只是指定新的尺寸。

接下来,您需要使用vgresize缩小卷组本身,如果您看到必要的话。 或者,您可以在卷组内创build新的逻辑卷,现在使用lvresize的前一步为您提供了一些呼吸空间。

如果使用了vgresize路由,最后需要使用fdisk调整分区大小,删除分区,然后使用与之前完全相同的起始块重新创build分区大小,并使大小比以前小。

编辑 :看来,用LVM2卷组缩小不是那么简单的事情。 您可能需要删除音量组并重新创build它…哦,亲爱的。 那么,我的脚注怎么样,它会起作用吗?

如果您和/或软件在任何这些步骤中都失败了,您的数据就会变得越来越糟糕。 所以再一次: 确保你有良好的备份


噢,当您的复制粘贴提到VMware时:您可以在VMware中创build一个新的虚拟磁盘,将您的东西从您的超大磁盘复制到新磁盘,从轨道上摧毁超大磁盘,并将其称为天?