我在实例上运行 EC2 EBS 映像,实例存储在 /dev/xvdb 和 /dev/xvdc 上。我已成功创建了一个脚本,用于在首次启动时对这两个驱动器进行突袭,并将它们挂载为 /mnt。我真正想要做的是突袭它们,复制 EBS /var,然后将它们挂载为 /var。我假设我需要在早期启动期间在 RAM 磁盘映像中执行此操作。我对 systemd 和启动顺序不太了解 - 我上次构建 RAM 磁盘是在 2009 年。集成在首次启动期间运行并进行必要设置的脚本的“正确”方法是什么?
不想使用 cloud-init。它很慢,文档记录不全。而且肯定会在启动过程的后期发生。
答案1
在 EC2 中你应该看看 cloudinit (https://help.ubuntu.com/community/CloudInit)和用户数据(http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)。通过此功能,您可以根据发送到 AWS API 的数据提供在实例启动期间运行的脚本。
但除此之外:为什么要进行 RAID 并在启动时将数据从启动卷复制到 RAID?虽然不知道您的确切用例,但这听起来不对 ;-) 也许您可以对此进行更详细的说明,以便我们能够真正提供更好的解决方案,而无需执行启动脚本等。