【问题标题】:vmware esxi - Changes to /etc/profile.local are not persistent but used to bevmware esxi - 对 /etc/profile.local 的更改不是持久的,但曾经是
【发布时间】:2020-10-26 20:02:52
【问题描述】:

首先我应该声明我是一个 linux/esx 菜鸟...

我正在运行 esxi 6.7.0 我正在尝试为 esx shell 保留一个持久的别名列表,因此我使用 /etc/profile.local 来存储它们。

我现在遇到的问题是我想对已经创建的列表进行进一步的更改,但每次重新启动时新的更改都会丢失。

我可以编辑文件并对其进行分类以验证更改是否已保存,但每次重新启动后我的更改都会丢失。 profile.local 中只有我原来的 4 个别名,无法添加/更改它们。

我也尝试过对 /etc/rc.local.d/local.sh 添加更改,但重启时会发生同样的事情。

经过一番搜索,我了解了 /sbin/auto-backup.sh 并认为这将有助于我也运行它,但同样的问题。

有一个名为 /etc/.#profile.local 的文件(我没有创建),但它的内容只是一些 cmets,而不是我在 /etc/profile.local 中的几个别名的内容。重启我原来的 4 个别名正在恢复。

谁能告诉我为什么我曾经能够持久化对 /etc/profile.local 的更改但现在不能?

谢谢。

【问题讨论】:

    标签: vmware esxi


    【解决方案1】:

    您需要运行 /sbin/auto-backup.sh 以便将修改后的文件正确保存在“单独的”tar 存档中(见下文)。有关详细信息,请参阅https://kb.vmware.com/s/article/2001780。请注意,此脚本仅每小时运行一次,因为廉价的闪存设备仅支持在可以以年为单位的生命周期内有限数量的写入周期。如果您在 ESXi 命令提示符下手动编辑配置文件,则需要手动运行此脚本,但不应过于频繁地运行它。如果脚本在过去一小时或一天内过于频繁地运行,则可能会在一段时间内阻止进一步的写入。

    FWIW,.# 文件是原始文件,永远无法删除,但这不是问题所在。您应该只编辑设置了粘性位的文件,并且当您这样做时,新的(编辑的)文件被放置在单独的 tar 存档中。作为 ESXi 引导的一部分,tar 存档被解压缩并映射到内存中,但不会进一步处理(即,不解压缩)。以确定的顺序扫描档案,从而最后扫描上述单独的档案。每次找到文件路径时,它都会被插入到目录树中,覆盖任何以前的路径,因此您修改的文件“获胜”并被使用。所以你的问题是文件的第一个 mod 位于单独的 tar 存档中,而文件的第二个 mod 没有被捕获。运行上述命令后检查文件修改日期。

    好奇的人可以仔细阅读http://download3.vmware.com/software/vmw-tools/papers/VMTJ_issue_1.pdf 中的第一篇论文(作者 Olivier Cremel),以更完整地了解 ESXi 的原始设计。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多