当尝试调整没有 64 位标志创建的旧 ext4 分区的大小时,如果新大小等于或超过 16TiB,则 resize2fs 1.42 将失败。
$ resize2fs -p /dev/mapper/target-device
resize2fs: New size too large to be expressed in 32 bits
Run Code Online (Sandbox Code Playgroud)
我不想将文件复制到外部媒体。我也不想冒数据丢失的风险。如何安全地调整音量?
anx*_*anx 50
使用该选项-O 64bit(在今天创建的文件系统中默认启用),ext 文件系统可以跨越 1024 PiB 而不仅仅是 16 TiB 卷。您可以升级旧文件系统以激活此选项。
$ cat /proc/partitions,必要时重新启动。1.43(2016-05-17) 或更高版本的 e2fsprogsUbuntu 20.04(2020-04-23) 随附e2fsprogs 1.45.x(好!)Ubuntu 18.04(2018-04-26) 随附e2fsprogs 1.44.x(好!)Ubuntu 16.04(2016-04-21) 与e2fsprogs 1.42.12(2014-08-25 ) 一起发布- 升级到更新的版本或手动安装更新的版本(请参阅此答案的结尾):/dev/mapper/target-device第 1 步:正确卸载
$ sudo umount /dev/mapper/target-device
Run Code Online (Sandbox Code Playgroud)
第 2 步:在开始之前确保一致性
$ sudo e2fsck -fn /dev/mapper/target-device
Run Code Online (Sandbox Code Playgroud)
-nflag 表示不进行更改。根据导致错误的原因,e2fsck尝试修复可能会有所帮助。
第 3 步:在文件系统中启用 64 位支持
$ sudo resize2fs -b /dev/mapper/target-device
Run Code Online (Sandbox Code Playgroud)
请考虑阅读man tune2fs和man resize2fs- 您可能还希望更改一些其他文件系统标志。在典型的 HDD RAID 上,这需要 4 分钟的高 IO 和 CPU 负载。
第 4 步:调整大小
如果您没有在命令行上传递大小,则resize2fs假定“增长到所有可用空间”——这通常是您想要的。
$ sudo resize2fs -p /dev/mapper/target-device
Run Code Online (Sandbox Code Playgroud)
在典型的 HDD RAID 上,这需要 4 分钟的高 IO 和 CPU 负载。该-p标志启用进度条 - 但只有在一些初始步骤后才会显示。
第 5 步:再次检查
$ sudo e2fsck -fn /dev/mapper/target-device
Run Code Online (Sandbox Code Playgroud)
较新版本的 e2fsck 可能会建议修复时间戳或范围树。这并不表示存在任何严重问题,您可以选择现在或稍后修复它。
如果发生错误,也没有恐慌,也没有试图写入卷; 请咨询对文件系统有广泛了解的人,因为进一步的操作可能会破坏数据!
如果没有出现错误,重新挂载设备:
$ sudo mount /dev/mapper/target-device
$ df -h
Run Code Online (Sandbox Code Playgroud)
如果使用旧版本:启用源包支持的额外步骤,e2fsprogs在旧系统上下载并编译新版本:
$ sudo umount /dev/mapper/target-device
Run Code Online (Sandbox Code Playgroud)
您不需要任何非 Ubuntu 版本的 e2fsprogs 来继续运行升级后的文件系统 - 内核现在支持这些已经有一段时间了。只需启动升级。
作为参考,如果要求 mke2fs 使用不适当的选项创建大型设备,则会打印类似的错误消息:
$ mke2fs -O ^64bit /dev/huge
mke2fs: Size of device (0x123456789 blocks) is too big to be expressed in 32 bits using a blocksize of 4096.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23209 次 |
| 最近记录: |