首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >云init:延迟disk_setup和fs_setup

云init:延迟disk_setup和fs_setup
EN

Stack Overflow用户
提问于 2020-09-25 22:15:19
回答 2查看 2.6K关注 0票数 5

我有一个云init文件,它为我们的AWS实例设置了所有需求,其中一部分需求正在形成和安装一个EBS卷。问题是,在某些实例上,卷附件是在实例运行后发生的,所以当云-init执行时,卷/dev/xvdf还不存在,并且会失败。

我有这样的东西:

代码语言:javascript
运行
复制
#cloud-config

resize_rootfs: false
disk_setup:
    /dev/xvdf:
        table_type: 'gpt'
        layout: true
        overwrite: false

fs_setup:
    - label: DATA
      filesystem: 'ext4'
      device: '/dev/xvdf'
      partition: 'auto'

mounts:
    - [xvdf, /data, auto, "defaults,discard", "0", "0"]

并且希望在磁盘配置块之前有类似于sleep 60的东西。

如果整个云-init的执行可以被延迟,那对我也是有效的。

另外,我正在使用terraform创建基础设施。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-28 20:25:32

我能够通过两个改变来解决这个问题:

  1. 更改了挂载选项,添加了nofail选项。
  2. runcmd块添加了一行,删除了disk_setup.

的信号量文件。

所以我的新的云init文件现在看起来是这样的:

代码语言:javascript
运行
复制
#cloud-config

resize_rootfs: false
disk_setup:
    /dev/xvdf:
        table_type: 'gpt'
        layout: true
        overwrite: false

fs_setup:
    - label: DATA
      filesystem: 'ext4'
      device: '/dev/xvdf'
      partition: 'auto'

mounts:
    - [xvdf, /data, auto, "defaults,discard", "0", "0"]
    
runcmd:
    - [rm, -f, /var/lib/cloud/instances/*/sem/config_disk_setup]

power_state:
    mode: reboot
    timeout: 30

它将重新启动,然后再次执行disk_setup模块。此时,卷将被附加,以便操作不会失败。

我想这是一种解决这个问题的方法,所以如果有人有一个更好的答案(比如如何延迟整个云-init执行),请分享它。

票数 3
EN

Stack Overflow用户

发布于 2020-09-28 01:40:50

我想云-init确实有一个运行临时命令的选项。看看这个链接。

https://cloudinit.readthedocs.io/en/latest/topics/modules.html?highlight=runcmd#runcmd

不确定您的代码是什么样子,但我只是尝试在AWS中将下面的代码作为user_data传递,并且可以看到init脚本休眠了1000秒.(只是添加了几个echo语句以供以后检查)。我想您也可以添加更多的逻辑来验证卷的存在。

代码语言:javascript
运行
复制
#cloud-config

runcmd:
 - [ sh, -c, "echo before sleep:`date` >> /tmp/user_data.log" ]
 - [ sh, -c, "sleep 1000" ]
 - [ sh, -c, "echo after sleep:`date` >> /tmp/user_data.log" ]
 
<Rest of the script> 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64071917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档