使用 cloud-init 在 azure vm 上禁用临时磁盘
disable ephemeral disk on azure vm with cloud-init
Ubuntu azure 上的机器获得了临时磁盘,该磁盘正在自动安装在 /mnt
上
我不想在 /mnt
上安装这个临时驱动器,而是禁用它或将它移动到另一个位置。
我正在使用 packer 在 azure 上创建我的基础映像。
我试过像这样使用 cloud-init 来实现这一点:
mounts:
- [/dev/sdb, null]
与 AWS 一样:
mounts:
- [ephemeral0, null]
但这没有帮助,所以我尝试编辑 waagent.conf
并像这样重新启动机器:
sed -i '/s/ResourceDisk.MountPoint=.*/ResourceDisk.MountPoint=\/ephemeral/' /etc/waagent.conf
但这也没有解决问题...
最终我想用 cloud-init 解决它,因为我想在 /mnt
上安装另一个驱动器(持久数据),但任何解决方案都可以。
谢谢
Ubuntu Azure 上的机器支持 cloud-init,
因此,使用一些 cloud-init 命令可以很容易地在 /etc/cloud/cloud.cfg.d/xyz.cfg
下创建一个简单的文件。
在这种情况下,
将临时驱动器安装到空点(或者换句话说 - 不要安装它)。
cat << 'EOF' > /etc/cloud/cloud.cfg.d/01-mounts.cfg
mounts:
- [ ephemeral0, null ]
EOF
为了完全覆盖 Azure 的默认装载,您必须同时覆盖 ephemeral0 和 ephemeral0.1。
这对 Azure 来说工作得很好:
#cloud-config
mounts:
- [ ephemeral0 ]
- [ ephemeral0.1 ]
AWS 使用配置模块的顺序不同,我无法为其临时 NVME 磁盘定义挂载点。如果您使用的是非 NVME 磁盘,也许 BlockDeviceMapping for ephemerals 会对您有所帮助。
编辑:根据我的经验,如果您使用的是 cloud-init,则应禁用 waagent 以避免奇怪的错误配置。
Ubuntu azure 上的机器获得了临时磁盘,该磁盘正在自动安装在 /mnt
我不想在 /mnt
上安装这个临时驱动器,而是禁用它或将它移动到另一个位置。
我正在使用 packer 在 azure 上创建我的基础映像。
我试过像这样使用 cloud-init 来实现这一点:
mounts:
- [/dev/sdb, null]
与 AWS 一样:
mounts:
- [ephemeral0, null]
但这没有帮助,所以我尝试编辑 waagent.conf
并像这样重新启动机器:
sed -i '/s/ResourceDisk.MountPoint=.*/ResourceDisk.MountPoint=\/ephemeral/' /etc/waagent.conf
但这也没有解决问题...
最终我想用 cloud-init 解决它,因为我想在 /mnt
上安装另一个驱动器(持久数据),但任何解决方案都可以。
谢谢
Ubuntu Azure 上的机器支持 cloud-init,
因此,使用一些 cloud-init 命令可以很容易地在 /etc/cloud/cloud.cfg.d/xyz.cfg
下创建一个简单的文件。
在这种情况下, 将临时驱动器安装到空点(或者换句话说 - 不要安装它)。
cat << 'EOF' > /etc/cloud/cloud.cfg.d/01-mounts.cfg
mounts:
- [ ephemeral0, null ]
EOF
为了完全覆盖 Azure 的默认装载,您必须同时覆盖 ephemeral0 和 ephemeral0.1。
这对 Azure 来说工作得很好:
#cloud-config
mounts:
- [ ephemeral0 ]
- [ ephemeral0.1 ]
AWS 使用配置模块的顺序不同,我无法为其临时 NVME 磁盘定义挂载点。如果您使用的是非 NVME 磁盘,也许 BlockDeviceMapping for ephemerals 会对您有所帮助。
编辑:根据我的经验,如果您使用的是 cloud-init,则应禁用 waagent 以避免奇怪的错误配置。