如果没有使用逻辑卷管理LVM技术,能否在RHEL3下实现对已有的磁盘分区调整大小?
解决方法:
用户经常会发现已有的文件系统空间不足,但是另外一个文件系统上还有很多空闲空间,而且用户没有使用LVM技术。用户可以使用下面的方法来实现对文件系统调整大小。
但是需要注意的是:对文件系统以及下层分区调整大小是非常危险的操作,而且只能将分区向后扩展,无法实现在硬盘内搬移分区或者向前扩展。所以虽然从技术上这样是可行的,但是仍然有很大风险,而且红帽对此是不做支持的,建议用户在做操作以前进行完整备份。
建议在采取行动之前仔细阅读本文,了解所有的步骤。
下面是减小文件系统和分区的步骤:
1. 备份数据。 2. 把fdisk -l的输出进行备份,来实现对分区表的备份。 3. 记录磁盘的柱面尺寸(字节),并记录为C。例如下面的例子中C = 8225280
Disk /dev/hda: 40.0 GB, 40000000000 bytes
255 heads, 63 sectors/track, 4863 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
4. 运行tune2fs -l <device>,device应该是希望调整大小的文件系统所在硬盘设备名。 5. 记录以下输出内容:Block count, Block Size, and Free blocks. Label the Block Count T, the Block Size K, and Free Blocks F. 6. 重新启动系统进入rescue模式,使用第一张光盘启动,在boot后输入linux rescue即可进入。 7. 不要加载任何分区,特别是那些希望调整大小的设备。 8. 记录希望调整大小的尺寸,以Z来标记。 9. 以Z删除C,取整并加1,结果标记为N。 10. 计算((N*C)/K)+1并记录为X。 11. 确保X不大于F,如果X大于F,那么就要减少Z,并重复上两步。 12. T删除X,结果标记为R。 13. 执行命令e2fsck -fy <device>。 14. 执行命令resize2fs <device> <R>. 15. 假设调整尺寸大小成功,运行e2fsck -y <device>来验证文件系统完整性,如果运行正常,那么继续下一步,如果失败,则很可能会丢失数据。 16. 运行fdisk:fdisk <device>。 17. 使用P命令显示当前分区表。 18. 使用d来删除被调整大小的文件系统所在分区。 19. 使用n来创建新分区。 20. 指定原始的启动柱面,值不变。 21. 指定结束柱面,值为原始的结束柱面减去N. 22. 使用w命令保存分区表。 23. 运行e2fsck -y <device>,验证文件系统完整。 24. 如果正常,那么就完成了。如果无法发现正常的文件系统,那么重复上面的连续8步(从fdisk开始),但是减少N。 25. 如果总是失败,那么用备份的分区表来重新创建分区别。使用resize2fs <device> <T>恢复文件系统原始大小。最后再次使用e2fsck -y <device>检测文件系统完整性。
下面的步骤是用来对文件系统和分区扩容:
1. 备份数据 2. 运行fdisk -l并详细记录,以备份分区表。 3. 记录磁盘的柱面尺寸(字节),并记录为C。例如下面的例子中C = 8225280
Disk /dev/hda: 40.0 GB, 40000000000 bytes
255 heads, 63 sectors/track, 4863 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
4. 运行tune2fs -l <device>,device应该是希望调整大小的文件系统所在硬盘设备名。
5. 记录以下输出内容:Block count, Block Size, and Free blocks. Label the Block Count T, the Block Size K, and Free Blocks F.
6. 重新启动系统进入rescue模式,使用第一张光盘启动,在boot后输入linux rescue即可进入。
7. 不要加载任何分区,特别是那些希望调整大小的设备。
8. 记录希望调整大小的尺寸,以Z来标记。
9. 以Z删除C,取整并加1,结果标记为N。
10. 计算((N*C)/K)并记录为X。
11. X+T并记录为R。
12. 执行e2fsck -fy <device>.
13. 运行fdisk <device>.
14. 使用P命令显示当前分区表。
15. 使用d来删除被调整大小的文件系统所在分区。
16. 使用n来创建新分区。
17. 指定原始的启动柱面,值不变。
18. 指定结束柱面,值为原始的结束柱面加上N。
19. 使用w命令保存分区表。
20. 运行e2fsck -y <device>,验证文件系统完整。
21. 执行resize2fs -f <device> <R>
注:必须使用-f命令来增大文件系统,否则该命令会被拒绝。
22. 假设resize成功执行,再运行e2fsck -y <device>确保文件系统完整性,如果正常,则说明一切完成,如果报错则说明你的数据丢失了