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应通过添加以下列表中所需要素的编号来计算:
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 创建文章