因此,我使用Public AMI EBS Ubuntu风格之一创建了一个实例。我创建一个EBS卷并将其附加到实例。我格式化该卷并在/etc/fstab中添加一个条目以将其安装在/vol上。我将mysql添加到AMI,并将数据文件移动到已格式化并安装在/vol的EBS卷上。然后,我从正在运行的实例中创建一个AMI。然后,我终止正在运行的实例。
我使用新创建的AMI(带有mysql)启动了一个新实例。/vol挂载了mysql数据文件-很好,我希望如此。这就是我感到困惑的地方。当我在实例终止并创建新实例后,在EBS卷/vol上创建任何目录或文件时,它们不再存在。 mysql的东西在那里,但没有我创建的新东西。这些文件和目录不应该存在吗?还是我误会了它的工作原理?
最佳答案
创建AMI时,“Amazon EC2关闭实例电源,获取附加的任何卷的镜像,创建并注册AMI,然后重新启动实例。” -亚马逊。使用AMI启动实例时,将使用附加驱动器的镜像(快照)创建新卷。这些新卷是附加到新实例上的,而不是原始EBS。 (这会生成大量的孤儿卷和快照,并在不断使用中。)
没有自动附加您创建的EBS卷。自动附加的是从AMI启动实例时它创建的卷!它从创建AMI时由您的EBS制作的快照中创建该卷!
避免创建克隆卷并将其附加到新实例的方法很简单:在制作AMI之前先分离卷。您需要使用EC2 Web控制面板手动附加EBS卷,或者使用.net或Java编程,脚本或命令行工具以编程方式附加EBS卷。
关于amazon-ec2 - 文件是否保存在EBS卷上?他们不应该得救吗?我很困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11076741/