【问题标题】:Zero-byte files in /usr/local/bin after AMI capturedAMI 捕获后 /usr/local/bin 中的零字节文件
【发布时间】:2014-02-02 00:43:55
【问题描述】:

我正在使用 Ansible 启动 EC2 实例并捕获 AMI 映像。我已验证这些依赖项已正确安装在实例上。例如,这是我在 AMI 成像之前在 EC2 实例上得到的:

ubuntu@ip-1-2-3-4:/usr/local/bin$ ansible --version
ansible 1.4.4

-rwxr-xr-x 1 root root  5907 Jan 31 22:20 ansible
-rwxr-xr-x 1 root root  9269 Jan 31 22:20 ansible-doc
-rwxr-xr-x 1 root root 29163 Jan 31 22:20 ansible-galaxy
-rwxr-xr-x 1 root root 10419 Jan 31 22:20 ansible-playbook
-rwxr-xr-x 1 root root  6916 Jan 31 22:20 ansible-pull
-rwxr-xr-x 1 root root   714 Jan 31 22:19 aws
-rwxr-xr-x 1 root root  1408 Jan 31 22:19 aws.cmd
-rwxr-xr-x 1 root root   897 Jan 31 22:19 aws_completer
-rwxr-xr-x 1 root root  1860 Jan 31 22:19 aws_zsh_completer.sh

问题是,一旦我捕获了一个 AMI 并启动了一个新实例,/usr/local/bin 中的所有文件都是零字节文件!

-rwxr-xr-x 1 root root 0 Jan 31 22:20 ansible
-rwxr-xr-x 1 root root 0 Jan 31 22:20 ansible-doc
-rwxr-xr-x 1 root root 0 Jan 31 22:20 ansible-galaxy
-rwxr-xr-x 1 root root 0 Jan 31 22:20 ansible-playbook
-rwxr-xr-x 1 root root 0 Jan 31 22:20 ansible-pull
-rwxr-xr-x 1 root root 0 Jan 31 22:19 aws
-rwxr-xr-x 1 root root 0 Jan 31 22:19 aws.cmd
-rwxr-xr-x 1 root root 0 Jan 31 22:19 aws_completer
-rwxr-xr-x 1 root root 0 Jan 31 22:19 aws_zsh_completer.sh

为什么当我从 AMI 创建新实例时这些文件会被清零?

【问题讨论】:

  • 如何创建 AMI 映像?实例根设备是支持 EBS 还是支持 EC2 实例存储?您可能需要阅读以下内容:docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
  • 您是否尝试过使用 Amazon Linux AMI?只需在 /usr/local/bin 下创建一个非空文件,创建 AMI 并使用新的 AMI 重新启动

标签: amazon-web-services amazon-ec2 amazon-ami ansible


【解决方案1】:

这是 Ansible 的问题,而不是 AWS。原来在 Ansible 1.4.4 中有一个 documentation bug,其中 ec2_ami 模块默认情况下不会关闭并重新启动实例(文档声称确实如此!)。这会导致文件系统完整性出现各种问题。

解决方法是在 Ansible 任务中包含 no_reboot: no

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-05
    • 2013-04-22
    • 2014-03-27
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    相关资源
    最近更新 更多