扩大 EC2 实例就像呼吸一样简单(例如,创建一个 AMI,从中启动一个实例,然后更改存储大小)。
但是减少它变得更加困难。我想减小 Amazon Web Services (AWS) EC2 实例 Elastic Block Store (EBS) 根卷大小。网上有几个旧的高级程序。我发现的更详细的版本是一个关于 StackOverflow 问题的一年前的答案:如何减少我的 ebs 卷容量,步骤有相当高的水平:
创建一个所需大小的新 EBS 卷(例如 /dev/xvdg)
启动一个实例,并将两个 EBS 卷附加到它
检查文件系统(原始根卷的):(例如)e2fsck -f /dev/xvda1
最大限度缩小原始根卷:(例如 ext2/3/4)resize2fs -M -p /dev/xvda1
用 dd 复制数据:
选择块大小(我喜欢 16MB)
计算块数(使用 resize2fs 输出中的块数): blocks*4/(chunk_size_in_mb*1024) - 为安全起见,四舍五入
复制数据:(例如)dd if=/dev/xvda1 ibs=16M of=/dev/xvdg obs=16M count=80
在新的(较小的)EBS 卷上调整文件系统的大小:(例如)resize2fs -p /dev/xvdg
检查文件系统(原始根卷的):(例如)e2fsck -f /dev/xvdg
分离您的新 EBS 根卷,并将其附加到您的原始实例
我无法找到详细的分步“如何”解决方案。
我的 EBS 根卷附加到 HVM Ubuntu 实例。
任何帮助将非常感激。