GRUB 使用 kickstart 在 CentOS 6 机器上安装 CentOS 7

GRUB 使用 kickstart 在 CentOS 6 机器上安装 CentOS 7

我想知道是否有人可以提供一些帮助。我正尝试在 CentOS 6 服务器上使用 CentOS 7 进行自动安装(使用 kickstart 文件)。但是到目前为止我已经失败了多次。我用 Google 搜索过它,但没有那么幸运...

最新的资料,准确解释了我正在尝试做的事情,位于这里

那么我该怎么做呢?我首先将 CentOS 7 vmlinuz 和 initrd.img 文件下载到 /boot/

curl -o /boot/vmlinuz http://mirror.zetup.net/CentOS/7/os/x86_64/isolinux/vmlinuz
curl -o /boot/initrd.img http://mirror.zetup.net/CentOS/7/os/x86_64/isolinux/initrd.img

之后我用“vi /boot/grub/grub.conf”编辑了 grub.conf 并添加:

title Install CentOS 7
kernel /vmlinuz ks=http://my-server-ip/installation.ks
initrd /initrd.img

旁注:是的,我使用当前 CentOS 6 版本测试了服务器的 IP,并且可以下载/打开它。

所以最后我的 grub.conf 看起来像这样:

default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Install CentOS 7
        kernel /vmlinuz http://my-server-ip/installation.ks
        initrd /initrd.img
[older entries below]

我也尝试过:

default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Install CentOS 7
        kernel /boot/vmlinuz http://my-server-ip/installation.ks
        initrd /boot/initrd.img
[older entries below]

由于某种原因,这两种方法都失败了。我不得不亲自检查服务器,结果发现以下错误之一:

错误 1:

Error 15: File not found
Press any key to continue...

错误 2:

Error 1: Filename must be either an absolute pathname or blocklist
Press any key to continue...

抱歉,但我不记得在哪种方法上我遇到了哪种错误。

上面的所有内容有一个小的/微小的变化。我没有使用 CentOS 7 vmlinuz 和 initrd.img 文件,而是使用了 OpenVZ 7 iso 中的文件。这两个文件都位于文件夹下:/images/pxeboot/

原因是我想在服务器上安装 OpenVZ 7(因此删除当前的 CentOS 6 版本并将其替换为干净但已启动的 OpenVZ 7 版本)。我怀疑 vmlinuz 和 initrd.img 文件有太大差异,因此会导致上述错误,对吗?

我创建的 kickstart 文件可以正常工作。已使用 PXE 启动测试(在几台不同的服务器上),然而我还希望能够通过 GRUB 加载程序安装 CentOS 7 或 OpenVZ 7(首选)。这应该可以吧?

也许我错过了什么?也许有人知道我做错了什么或者我可以尝试什么?

同时,我会再次重试,但使用 CentOS 7 中的文件。我怀疑这是问题所在,但无论如何值得一试......

我的测试服务器规格(不知道是否重要):

  • LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2(RAID 控制器)
  • RAID 1 中的 2 个 HDD
  • 目前运行于 CentOS 6.10 (最终版)

以下内容可能相关(抱歉这篇文章写得乱七八糟,我尽量写得详细些)。当我输入上述服务器规格时,我注意到使用相同 RAID 控制器卡的 PXE 启动机器也存在“类似”问题。也许这就是问题所在?由于我受够了 OpenVZ 7 安装失败,我决定使用 PXE 自动启动(在其他服务器上有效)。请注意,这是另一台/不同的服务器,它有相同的 RAID 卡,但它被刷新到 IT 模式,并且只安装了一个(较旧的)东芝 400GB SAS SSD。

无论如何,运行自动安装(通过 kickstart 文件)时,我注意到在将监视器连接到服务器后,服务器挂起了,并出现以下(最后)错误:

dracut-initqueue[723]: Warning: dracut-initqueue timeout - starting timeout scripts
dracut-initqueue[723]: Warning: dracut-initqueue timeout - starting timeout scripts
dracut-initqueue[723]: Warning: dracut-initqueue timeout - starting timeout scripts
x many more and followed by:
dracut-initqueue[723]: Warning: Could not boot
dracut-initqueue[723]: Warning: /dev/root does not exist

这时我感觉好极了。你知道吗?我将通过 PXE 启动手动安装 OpenVZ 7(我有一个选项)。

因此再次重新启动服务器,等到它向我显示 GRUB 2 菜单(通过 PXE 服务器)并选择手动安装。我进入菜单并想选择磁盘来安装 OpenVZ 7。现在令我“惊讶”的是,它没有找到任何驱动器!?所以它显然无法继续安装。无论我点击“重新扫描”多少次,都没有驱动器……根本没有……!

我不知道问题是什么。但也许是 CentOS 7 / OpenVZ 7 不支持 RAID 控制器?这个控制器(最初是 PERC H200 Dell RAID 控制器,相当于 LSI-9211-8i)已刷新到 IT 模式,并连接了单个 Toshiba 400 GB SAS SSD(控制器在发布期间可以看到)。所以也许这就是整个问题?也许有人知道?

直到我在上面输入服务器规格时,我才注意到相同的控制器。虽然一个是 IT 模式,另一个是常规 RAID 1 模式。所以我倾向于认为是控制器,但另一方面,据我所知,LSI-9211-8i 受到所有操作系统和版本的广泛支持。即使当前在其上安装的 CentOS 6.x 似乎也没有问题?

提前致谢。抱歉,帖子太长/太详细了。

问候

答案1

您的 grub.conf 没有指定,root因此它不知道从哪个驱动器或分区加载文件vmlinuzinitrd.img

您还缺少inst.ks=URL 前面的内容。

不要尝试进行硬盘启动,而是从 CentOS 7 安装介质启动并inst.ks=<URL>在启动命令行上指定。

相关内容