我们通常在安装操作系统时使用kickstart脚本(由Cobbler服务)提供服务器。
但是我们需要从已经安装了操作系统的ISP那里获得一个新的服务器,并且可能没有远程控制台访问。
有没有办法重新启动Linux服务器(我们通常使用相同的操作系统),并强制它使用kickstart脚本重新安装?
你可以尝试使用蛇服务器 。
一旦configuration了服务器和客户机,它将提供一个curses界面来select其他选项中的kickstart文件。
如果你有一个单独的物理分区来复制你的安装媒体,你可以这样做,并在启动时将Grub修改为Kickstart。
install harddrive --partition=sdb2 --dir=/path/to/installation-media
添加到/etc/grub.conf :
title Reinstall CentOS 6 root(hd0,0) kernel /vmlinuz-kickstart ks=kickstart.cfg initrd /initrd-kickstart.img
您需要修改上面的值(如果适用)您的环境。 内核和初始内存盘可以从安装介质中复制(通常在./isolinux目录中)。 注意:我附加了-kickstart到文件名,以便它们在目录列表中突出。
最后,将默认的Grub条目设置为这个并重启。 (计数标题的实例,从0开始)
我不能强调,你应该在VirtualBox虚拟机或类似的地方进行本地testing,然后在共同的系统上进行testing。
了解更多信息:
Kickstart选项
开始Kickstart安装
如果提供商允许您远程访问服务器的带外pipe理硬件(例如,IPMI,iLO,DRAC),则可以自己进行安装。 如果你没有这样的访问,或者如果服务器甚至没有这样的硬件,你可能不应该与他们做生意,find另一个提供商。
我不知道在已经安装好的服务器上执行kickstart(尽pipe我不是一个CentOS / Redhat的人,所以完全有可能我不知道我在说什么)。
迈克尔·汉普顿的解决scheme,如果你有远程KVM(与远程媒体,体面的带宽),但在你的情况下,我会build议通过木偶 , 厨师或其他许多工具之一的部署/configurationpipe理。
configuration/部署pipe理工具可以让你确保所有的服务器都符合一个独立于其启动状态的标准configuration(所以如果你的ISP给你一个基本上不可用的系统,你可以快速启动并运行)正在进行的pipe理安装更新等。
这更像是一个长期的解决scheme,而且肯定有一个学习曲线,但如果你将要pipe理一大堆机器,这可能是值得的。
最近我被要求看看这样做,并作为寻找解决scheme的一部分,我发现这个问答。
正如Michael所说,带外是首选,但并不总是可用的。
我看了Dawudbuild议的蛇服务器。 它可以工作,但不受欢迎,而且它的文档中有错误。 我不会推荐使用它。
我问IRC #centos他们指着我从grub安装 。 这与Aaron的解决scheme类似,但它使用networking资源而不是单独的分区。 这是我最终实现的。 要点是
wget -N http://mirror.centos.org/centos/6.5/os/x86_64/isolinux/vmlinuz wget -N http://mirror.centos.org/centos/6.5/os/x86_64/isolinux/initrd.img 编辑/boot/grub/grub.conf并为新内核创build一个条目
title Reinstall CentOS kernel /vmlinuz ro upgradeany ip=192.168.254.44 netmask=255.255.255.0 hostname=somehost.tld ks=http://server.tld/ks/kickstart.ks gateway=192.168.254.220 dns=8.8.8.8 headless vnc vncpassword=SomePassword initrd /initrd.img 在server.tld你需要有一个httpd服务一个适当configuration的kickstart文件,这里的重要内容是url指令
url --url http://mirror.centos.com/centos/6.5/os/x86_64
这会导致从名为的远程系统复制安装文件。
这显然只有在你可以安装你自己的内核时才有效,例如它不能用于数字海洋液滴。
在开发解决scheme时,您可能会容易地错误地configuration某些内容,因此我不build议在没有某种方法轻松重新安装服务提供程序映像的系统上进行此操作。
由于得到这个工作,我没有遇到任何问题。