我正在 AWS 上处理 EC2 实例。
操作系统是 CentOS 6.5 并且是半虚拟化的。
当我启动实例时,我输入的 SSD 存储为 32GB。
但实际上,只安装了 8GB。
因此我将块/dev/xvda
(安装在`/@ 上)从 8GB 扩展到 32GB。
我尝试运行命令resize2fs /dev/xdva1
但出现如下错误:
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/xvda1 to 8388352 (4k) blocks.
resize2fs: Operation not permitted While trying to add group #81
AWS 管理控制台上出现系统错误:
EXT4-fs warning (device xvda1): ext4_group_add:1605: No reserved GDT blocks, can't resize
EXT4-fs warning (device xvda1): ext4_group_add:1605: No reserved GDT blocks, can't resize
EXT4-fs warning (device xvda1): ext4_group_add:1605: No reserved GDT blocks, can't resize
EXT4-fs warning (device xvda1): ext4_group_add:1605: No reserved GDT blocks, can't resize
EXT4-fs warning (device xvda1): ext4_group_add:1605: No reserved GDT blocks, can't resize
当前状态如下
df -h
lsblk
我想/dev/xvda1
增加到32GB或者新建/dev/xvda2
为剩余磁盘。
我怎样才能做到?
答案1
原因是,当您创建新的文件系统时,会保留某些文件系统结构,以备以后可能的文件系统扩展(inode、块位图)。
这些结构存储在所谓的 GDT(组描述符表)中。
那么发生了什么呢?创建原始文件系统时,保留结构的数量不足以将此文件系统扩展到 32GB。
尝试将其扩展到较小的尺寸 - 比如说 16GB(因此您必须再次将分区大小调整为较小的尺寸。
如果您必须有 32GB - 您无法在线扩展它。您必须备份数据并离线调整大小。
您的实例正在运行哪种类型的根磁盘?
- 它是实例存储还是
- 电子商务
因为取决于哪一个 - 您的文件系统扩展策略将会有所不同。
看一下这些文档:
答案2
在 AWS 管理控制台中,我停止了 ec2 实例并分离了卷。
我连接了其他非启动设备实例,并运行了 fsck、resize2fs。
它之所以有效是因为我在离线状态下运行这些命令并且没有安装。