如何将LVM中的新文件系统(ext4)replace为具有更多索引节点的文件系统(ext4)?

我有一些在SLES 10(现在已经很久以前的EOL)上已经运行了十年以上的系统。 我们正在迁移到CentOS 6 64位。 我把所有的东西都完成了,但是最后的数据同步了,瞧,惊讶,我用完了磁盘空间,除了inode表,不是原始容量。 ReiserFS(在SLES框中使用)并没有强制实施一个限制 – 事实上,我甚至不知道有多less个inode正在使用,因为它不但没有执行,甚至也没有跟踪/报告它们。 我可以用一行就可以得到这个数字,没问题。

我的问题很大程度上围绕着LVM。 这是我的弱点。 我只是真的使用它,自1993年以来主要使用原始设备。

我拥有的是具有逻辑卷组的新机器,其中包含交换分区和作为两个卷的根文件系统。 这是一个巨大的100GB,但它需要有超过6.5mil的inode …我用完了6.4mil。

我完全理解,我需要得到一个全新的ext4文件系统,因为你根本无法增加inode计数。

我在VMWare下工作,这有帮助。 我可以根据需要简单地添加/删除虚拟驱动器。

我想基本上用一个有更好的inode比率的根文件系统replace我们的用途。 我不确定的是如何处理这个的LVM部分,以及实际的“恢复数据而不恢复文件系统[即保存inode表的部分等]本身,我基本上需要得到数据到一个空闲的虚拟驱动器,根据需要重新格式化根分区,然后恢复驱动器,LVM以我的方式进入知识领域,在某种程度上我熟悉了lvcreate,lvchange等等。我可以使用一个正确的描述哪些工具正确地使用来处理整个文件系统(它是一个文件系统,所有驻留在/,所以它包括/ dev等),只要备份和恢复,特别是LVM换出。

如果有助于编写命令等,则假定vg_webserver4c6为逻辑卷组,lv_root和lv_swap为逻辑卷名称。 lv_root是问题的孩子。

任何帮助非常感谢 – 越详细,越好!

谢谢!

  1. 使用tar或rsync来备份整个文件系统。 不需要包含/ dev /,/ proc或/ sys:这些是在启动时创build的。

  2. 无需使用任何lv命令,因为您不需要调整lv_root的大小,只需要用1000万个inode重新创build文件系统即可:

    mkfs.ext4 -N 10000000 /

  3. 使用tar或rsync来恢复文件

  4. 修复你的启动加载器(重新运行grub-install)

而已。