例如,我有一个图像,其快照大小为20 GiB( EBS卷的总大小:20 GiB ),它有15个GiB可用空间。我想从实例创建具有10 GiB的新图像。
当我这样做时:Image =>创建图像并为卷输入10 GiB,我面对以下错误消息:
卷大小必须至少为快照的大小(20 GiB)
[问] 是否可以防止此错误并创建一个比快照的EBS卷体积更小的图片?
感谢您宝贵的时间和帮助。
请注意,以下两种基于答案的方法无法正常工作,答案的拥有者并没有进一步指导我!我不知道有同样问题的人会因为这些方法而浪费时间,因为复制粘贴操作在卷之间需要很长时间。如果有人指导我,我将不胜感激。
方法1:(目标量是单个EBS卷)
我根据@EFeit
的答案关注了guide,其链接指向:https://serverfault.com/a/718441
首先,我停止了要调整大小的实例。比我创建的小EBS卷为5 GiB并将其作为/dev/xvdf
附加到我的实例中。启动实例并通过SSH登录新实例;做了以下事情:
sudo mkdir /source /target
sudo mkfs.ext4 /dev/xvdf
sudo mount -t ext4 /dev/xvdf /target
sudo e2label /dev/xvdf /
sudo mount -t ext4 /dev/xvda1 /source
sudo rsync -aHAXxSP /source/ /target
sudo umount /target
sudo umount /source
返回AWS控制台:停止实例,然后分离所有卷。
将新大小的卷附加到实例中:" /dev/sda1
"
启动实例,它应该启动。
错误讯息:
方法2:(目标卷是从新创建的较小实例获得的)
我已关注guide。我在启动菜单上也遇到了Error 15
:(
答案 0 :(得分:3)
没有简单的方法可以做到这一点,但我认为this tutorial将为您提供您正在寻找的结果。
答案 1 :(得分:3)
您认为磁盘空间是连续分配的吗?您可能认为只使用了前5GB。但是分配可以遍布整个磁盘。您有责任将数据复制到较小的磁盘,将其附加到您的实例并丢弃旧磁盘。有很多关于如何做的教程。
答案 2 :(得分:1)
检查此回答here,我遇到同样的问题,并问this question。
我还没有尝试过提到的解决方案,因为我不再需要这个卷了,我只关心快照大小,但我注意到快照存储为基于数据的不是基于阻止,所以它不会保留与活动时相同的容量。