kickstart 文件中的更改未在 Cobbler 中生效

kickstart 文件中的更改未在 Cobbler 中生效

我正在使用 Cobbler 安装 SLES 11 SP2,它一直运行良好。最近我修改了 kickstart 文件,将根分区的大小从 18GB 更改为 36GB。令我惊讶的是,修改并没有生效 - Cobbler 创建了一个大小为 18GB 的​​根分区。我尝试删除配置文件,重命名它,但没有成功。

我完全搞不懂 Cobbler 从哪里得到 18GB 这个值。是否有某种缓存将旧的 kickstart 文件保存在某个地方,我需要先清除它?

我修改的部分:

<partition>
  <create config:type="boolean">true</create>
  <crypt_fs config:type="boolean">false</crypt_fs>
  <filesystem config:type="symbol">ext3</filesystem>
  <format config:type="boolean">true</format>
  <fstopt>acl,user_xattr</fstopt>
  <loop_fs config:type="boolean">false</loop_fs>
  <lv_name>lvroot</lv_name>
  <mount>/</mount>
  <mountby config:type="symbol">device</mountby>
  <partition_id config:type="integer">131</partition_id>
  <raid_options/>
  <resize config:type="boolean">false</resize>
  <size>36GB</size>
</partition>

答案1

我知道这是基本的事情,但是你cobbler sync在做出改变之后知道了吗?你可以通过 GUI 或 CLI 执行此操作。

否则,它们可能不会生效。

答案2

TL; DR:我能够通过更改正在配置的虚拟主机上用于 PXE 启动的主 NIC 的 MAC 地址来解决类似的问题。正在配置的虚拟主机作为 KVM/QEMU 的客户机运行,我正在安装 CentOS 7.5。

完整故事:ignoredisk我的 Kickstart 文件的第 22 行有一个错误命令,导致配置过程停止,并在 VM 控制台上显示相应的错误消息。我从 Kickstart 中删除了该行,保存了它,运行了cobbler sync,然后再次启动了 VM。Anaconda 报告了完全相同的错误,尽管 kickstart 文件显然已经更改。首先,我验证了 Cobbler 服务器是否提供了正确的、更新的 kickstart 文件:

  • 运行cobbler system report --name=my-host-name并验证 Kickstart 文件模板的路径(不故意使用任何模板功能)
  • 运行curl "http://my-cobbler-host/cblr/svc/op/ks/system/my-host-name.ks"并验证错误行已从呈现的 Kickstart 中删除

然后我开始对虚拟主机进行故障排除:

  • 删除虚拟磁盘并创建一个新磁盘,以防 Anaconda 以某种方式将 Kickstart 文件缓存在未格式化的磁盘上(可能性很小,但这也是一种侥幸)
  • 删除了 NIC,并添加了一个具有不同 MAC 地址的新 NIC。此后配置顺利进行。

旧的 Kickstart 文件肯定缓存在某个地方,并与正在配置的主机的 MAC 地址相关联。它似乎没有缓存在 Cobbler 服务器上,但我不知道它还能缓存在哪里。

相关内容