「resize2fs(8)」-

ext2/ext3/ext4 file system resizer

命令语法格式

resize2fs [ -fFpPMbs ] [ -d debug-flags ] [ -S RAID-stride ] [ -z undo_file ] device [ size ]

命令描述

程序resize2fs将调整ext2、ext3、ext4文件系统的大小。 它可用于放大或缩小位于设备上的未挂载文件系统。 如果文件系统已挂载,则可以使用它来扩展已挂载文件系统的大小,假设内核和文件系统支持在线调整大小。 (现代Linux 2.6内核,对于使用ext3和ext4挂载的文件系统,支持的在线调整大小;ext3文件系统将需要使用启用了resize_inode功能的文件系统。)

参数size指定所请求的文件系统的新大小。 如果未指定单位,则size参数的单位应为文件系统的文件系统“块大小”。可选地,参数size可以后缀以下单位符号之一:’s’,’K’,’M’,’G’,分别表示512字节扇区、千字节、兆字节、千兆字节。 文件系统的大小可能永远不会大于分区的大小。 如果未指定size参数,则默认为分区的大小。

注意:当上面使用千字节时,我的意思是实际的2的次方,(即1024字节),一些政治上正确的人坚持应该是愚蠢的“kibibytes”。 同样适用于兆字节,有时也称为“mebibytes”,或千兆字节,作为令人惊讶的愚蠢的“gibibytes”。 让你想要傻瓜,不是吗?

程序resize2fs不会操纵分区的大小。 如果要扩展文件系统,必须首先确保可以扩展基础分区的大小。 如果您正在使用逻辑卷管理器lvm(8),则可以使用fdisk(8)删除分区并使用更大的大小重新创建或使用lvextend(8)来完成此操作。 重新创建分区时,请确保使用与以前相同的起始磁盘柱创建它! 否则,调整大小操作肯定不起作用,您可能会丢失整个文件系统。 运行fdisk(8)后,运行resize2fs以调整ext2文件系统的大小,以使用新扩展分区中的所有空间。

如果要缩小ext2分区,请首先使用resize2fs缩小文件系统的大小。 然后,您可以使用fdisk(8)缩小分区的大小。 缩小分区大小时,请确保不要使其小于ext2文件系统的新大小!

选项-b和-s分别启用和禁用64位功能。 当然,resize2fs程序将根据需要负责调整块组描述符的大小并将其他数据块移开。 在更改64位状态的同时,无法同时调整文件系统的大小。

命令支持的选项及含义

-b
打开64位功能,根据需要调整组描述符的大小,并移除其他元数据。

-s
关闭64位功能,并释放不再使用的块。

-d debug-flags
如果已经编译到二进制文件中,则打开各种resize2fs调试功能。参数debug-flags应通过添加以下列表中所需要素的编号来计算:

2 – 调试块重定位

4 – 调试inode重定位

8 – 调试移动inode表

16 – 打印定时信息

32 – 调试最小文件系统大小(-M)计算

-f
强制resize2fs继续进行文件系统调整大小操作,覆盖resize2fs通常强制执行的一些安全检查。

-F
在开始之前刷新文件系统设备的缓冲区高速缓存。 只对resize2fs时间试验非常有用。

-M
鉴于存储在文件系统中的文件,尽可能缩小文件系统以最小化其大小。

-p
在脱机调整大小期间为每个resize2fs操作打印一个百分比完成条,以便用户可以跟踪程序正在执行的操作。

-P
如果使用resize2fs的-M选项缩小文件系统中文件系统块的数量,则打印该文件系统块的估计值,然后退出。

-S RAID-stride
程序resize2fs将启发式地确定创建文件系统时指定的RAID步幅。 此选项允许用户显式指定resize2fs使用的RAID步幅设置。

-z undo_file
在覆盖文件系统块之前,将块的旧内容写入撤消文件。 如果出现问题,此撤消文件可与e2undo(8)一起使用以恢复文件系统的旧内容。 如果空字符串作为undo_file参数传递,则撤消文件将写入通过E2FSPROGS_UNDO_DIR环境变量指定的目录中名为resize2fs-device.e2undo的文件。

警告:撤消文件不能用于从电源或系统崩溃中恢复。

注意事项

由resize2fs估计的文件系统的最小大小可能不正确,尤其是对于具有1k和2k块大小的文件系统。

相关手册

fdisk(8), e2fsck(8), mke2fs(8), lvm(8), lvextend(8)

参考文献

  • man 8 resize2fs, Version 1.44.3-1

更新日志

  • 10/09/2018 创建文章