如何保证kickstart安装会选择某个驱动器?

如何保证kickstart安装会选择某个驱动器?

我们正在从 RHEL6 --> CentOS 7 升级。相关主机的操作系统位于 /dev/sda 上,并且在 /dev/sdb 和 /dev/sdc 上有一些补充数据驱动器。当我运行 kickstart 安装时,我显然希望 /dev/sda (旧操作系统)的内容被新操作系统覆盖。

如果现在是 /dev/sda,我敢打赌在 kickstart 环境中它将是 /dev/sda。但我似乎记得在某处读到这并不是 100% 值得信赖的保证。

如果当前称为 /dev/sdb 或 /dev/sdc 的内容在 kickstart 环境中被确定为 /dev/sda 并被操作系统覆盖,那将是一场史诗般的悲剧。

关于如何保证 kickstart 将操作系统安装在特定驱动器上,有什么建议吗?

我最好的猜测是,在 kickstart 文件中检查以确保 /dev/sda 包含我们期望的 LVM 实体,例如根逻辑卷的“lv_root”。如果 /dev/sda 包含 lv_root,则假设确实已为 /dev/sda 分配了正确的驱动器并继续。

答案1

在您要查找的 kickstart 文件中:

ignoredisk --only-use=sda

这将导致sda安装忽略除此之外的所有磁盘。


sd字母应保持不变(因为它基于使用的 SATA 端口)。然而值得注意的是,sd如果可移动介质在硬盘驱动器之前使用并且通常被识别为使用sd*(例如,如果您从 USB 驱动器安装),则可移动介质可以抵消字母。

如果您也未在 kickstart 中指定autopartpart部分,安装将在擦除驱动器之前暂停(询问您要如何分区。kickstart/安装中的任何其他提示也将阻止立即擦除磁盘)。在这里,您可以在安装开始之前使用++切换到TTY2并尝试安装CTRL驱动器ALTF2

在 TTY2 上,您将拥有一个免费root终端,因此您可以创建一个目录,挂载sda#到该目录,然后浏览以确保这些是文件。

如果磁盘正确,您可以返回 TTY1 并继续安装。


有关 kickstart 的 RHEL 文档对于这种东西来说是黄金。

答案2

我认为您可以编写脚本,以便使用磁盘 uuid 而不是块设备标签。例如: part / --fstype=ext4 --onpart=/dev/disk/by-id/ata-ST3160815AS_6RA0C882。至少这可以保证重新启动时的一致性。

相关内容