AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 648615
Accepted
Guss
Guss
Asked: 2014-12-03 09:41:14 +0800 CST2014-12-03 09:41:14 +0800 CST 2014-12-03 09:41:14 +0800 CST

AWS 上的 cloud-init:映像和重建后挂载消失

  • 772

我正在使用 cloud-init 自动准备 AWS 映像 (AMI) 以在生产环境中使用 - 这样我可以在源代码控制系统中跟踪环境设置过程,但是当我需要时可以跳过那个冗长的过程新的生产服务器。

所以过程如下:

  1. 使用 cloud-init 文件启动新的基础映像(Ubuntu 14.04 cloud-image)
  2. 等待 cloud-init 完成,然后从正在运行的实例创建一个映像,然后终止它
  3. 为了启动一个新的生产服务器,我使用一个小型 cloud-init 从 AMI 启动并执行最终配置(设置正确的主机名、部署软件等)。

我遇到的问题是第一个 cloud-init 配置文件使用disk_setup, 和mounts模块来挂载 EBS 卷。完成后,实例已/etc/fstab更新,一切正常。但是,在执行第 3 步之后,生成的实例已正确附加并安装了 EBS 卷(实际上是它的副本),但/etc/fstab不包含该卷的安装。幸运的是,在第 3 步之后我没有重新启动,但我可能会破坏服务器。

知道发生了什么吗?我没有mounts在步骤 3 的 cloud-init 配置中使用,但为什么它不保留fstab图像中的设置?

ubuntu
  • 2 2 个回答
  • 875 Views

2 个回答

  • Voted
  1. Best Answer
    Bazze
    2014-12-04T02:23:49+08:002014-12-04T02:23:49+08:00

    我无法真正解释您遇到的行为,但 AWS 自己建议您不要使用 fstab 条目,而是使用 RC 初始化脚本。请参阅下面来自Cindy@AWS的报价。这个论坛帖子虽然很老,但并不能真正解决您遇到的同一问题,但也许这样做也可以解决您的问题。

    我建议考虑使用 RC 初始化脚本,而不是为此使用 fstab(对于 EC2 实例)。如果 fstab 中列出的设备无法挂载,那么这将停止引导过程,您将无法 ssh 进入实例。相反,使用 RC 脚本可能会发生“软故障”,因此您仍然可以 ssh 进入然后修复问题。

    来源:https ://forums.aws.amazon.com/message.jspa?messageID=304528#304549

    • 0
  2. Guss
    2015-09-22T07:26:14+08:002015-09-22T07:26:14+08:00

    问题在于第二个 cloud-init 配置(用于在 OP 的步骤 3 上启动生产实例)包含一个小mounts部分,用于挂载额外的实例特定卷。当 cloud-init 遇到一个mounts部分时,它不会将任何找到的配置附加到当前 fstab,而是覆盖上游 cloud-init 创建的任何 cloud-init 设置。

    解决方案是要么包含所有先前生成的挂载配置,要么不包含任何新配置并在步骤 1 中完成所有卷配置。

    • 0

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve