我有一个目录中的文件树。 这用于在硬盘驱动器和闪存驱动器上构build可启动系统。 我也用它来为虚拟机构build镜像。 我想从中创build一个AWS AMI(加上需要做的任何调整,以使云值得,如云初始化的东西)。 现在我正在探索如何制作EBS支持的AMI。 所有文档和回答的问题都集中在构buildAMI的其他方法上,涉及到使用现有的AMI,或者启动实例并保存正在运行的状态。 但是我想根据我的系统设置从头开始。
我设想了一些基于我可以从AWS文档中find的方法来做到这一点(没有什么字面上的需求)。 在这两种情况下,我创build一个新卷,并将其附加到运行任意Linux AMI的实例。 在方法A中,在这种情况下,我使用ext4格式化卷,将其挂载为/ mnt / xvdf,然后运行rsync将我的系统文件树上传到卷本身,然后卸载它。 在方法B中,我在我的主机上创build一个回送文件,对其进行格式化,装载,从系统树中填充它,卸载它,然后将图像文件传输到卷上的实例,然后将图像复制到卷设备很像dd。 在这两种情况下,我最终都会在硬盘,闪存驱动器和虚拟机映像文件(原始数据)上创build一个文件系统。
然后我对这个卷进行快照,并将其注册为AMI。 但它不起作用。 从实例日志中获得的错误是由于无法装入文件系统types(具有不受支持的function)而使内核惊慌。
我基本上做正确的过程,只是搞了一个步骤(如格式化文件系统types,它不喜欢…我使用的是ext4)?
还是我做错了? 它已经足够让我注册AMI,并从中启动一个实例。
我相信我需要对文件树进行很多调整才能在云环境中正常工作。 我将会学习这些。 但是现在还没有足够的时间来考虑我的文件是对还是错。
请不要build议我尝试制作一个支持S3的AMI或从正在运行的实例中创build一个。 我打算尝试这些方法,作为学习一切的一部分,但那些是后来的。 这是现在,目标是从一个未启动的临时图像/树(在其他地方工作)制作一个AMI。