在首次启动期间挂载 /var 并将其复制到 EC2 实例存储

在首次启动期间挂载 /var 并将其复制到 EC2 实例存储

我正在实例存储位于 /xvdb 和 /xvdc 上的实例上运行 EC2 EBS 映像。我已经设法创建一个脚本来在第一次启动时突袭这两个驱动器并将它们安装为 /mnt。我在 systemd-remount-fs.service 之后将其作为 OneTime 服务执行(我不知道这是否是适当的时间)。

我真正想做的是袭击它们,复制 EBS 的 /var,然后将它们挂载为 /var,然后再继续真正启动。我假设我需要在早期启动期间在 RAM 磁盘映像中执行此操作。我对 systemd 和启动顺序不太了解 - 我上次在 2009 年构建 ram 磁盘时感到很困惑。集成在第一次启动期间运行的脚本并进行必要的设置的“正确”方法是什么?

答案1

这可能会出现很多问题。 /var包含日志文件。对于任何较早启动的守护进程,打开其日志文件一次,然后继续写入(这是大多数拥有自己的日志文件的守护进程所做的事情,包括 syslogd),即使在您制作副本并保存后,它们也会继续写入原始文件安装在/var.对于套接字(例如)也是如此/var/run/syslog,任何先前启动的守护进程都将侦听这些套接字(并且它们将带来独特的复制问题)。可能还有其他我没有提到的事情。

这一切意味着您确实需要在之前进行安装任何事物触摸/var开始。

相关内容