优化RHEL / CentOS kickstart工作流程的提示

Modified on: Sun, 18 Aug 2019 23:20:02 +0800

我在一个由位于多个数据中心和办公地点的CentOS系统组成的环境中工作。我一直在使用一个合理的kickstart和一个可靠的安装后脚本,但是想要简化和扩展这个过程。我们有自己的yum repo,我可以控制使用的硬件范围(通常是HP ProLiant硬件或VMWare)假设我每周都会构建或重新部署一台服务器。遵循硬件准备所需的步骤,我开始操作系统设置。我现在遇到的问题是:

1)。将系统引导到网络安装程序的好方法。我一直在使用CentOS发行版中提供的10mb boot.iso / netinstall.iso。我通过VMWare vCenter(适用于VM)或HP ILO(通常通过SSH,指向ISO的URL)安装它以启动安装。在大多数情况下,我无法使用PXE,因为数据中心位置没有可用的DHCP。有没有一种干净的方法可以将boot.iso放到USB密钥上,例如?

2)。有时我需要为kickstart设置静态IP。除了在安装程序提示符下的boot:命令行输入信息之外,还有更好的方法来输入该信息吗?

3)。自定义kickstart的好方法。现在,我拥有我需要的大部分内容,但有时需要更改分区方案以考虑不同的RAID设置(例如两个SmartArray控制器)。现在,我基本上是为每个系统(或系统组)设置创建一个单独的kickstart文件。我最终得到一个充满旧* .cfg文件的目录。我知道这样做有一种更优雅的方式。 PHP也许?

4)。帮助安装方法。从现在开始,从完成到完成的完整构建需要5-10分钟。我注意到安装方法很重要,具体取决于位置。 HTTP在yum服务器本地运行良好,但与我们与其他站点的高带宽低延迟连接相比较差。 NFS在这些情况下效果更好。我很感激在kickstart过程之前用于预加载设置或系统参数的任何漂亮技巧。

5)。安装后的脚本运行良好。它提取额外的包,设置一些初始设置,修剪服务列表并填充一些用户/密码/ SSH密钥。我想通过适当的配置管理来运行这个环境(我习惯于CFEngine,但是认为PuppetBcfg2现在可能是更好的选择)。我是否会减少安装后的脚本并将这些功能移到CFEngine中?不过,这可能是一个不同的问题。

以下是我一直使用的kickstart文件的示例:

install text url --url http://yum.abc.com/5.6/os/x86_64/ #nfs --server=yum.abc.com --dir=/yum/5/os/x86_64 lang en_US.UTF-8 langsupport --default=en_US.UTF-8 en_US.UTF-8 keyboard us network --device eth0 --bootproto dhcp rootpw --iscrypted $encryptedpassword firewall --disabled selinux --disabled authconfig --enableshadow --enablemd5 timezone --utc America/Chicago bootloader --location=mbr clearpart --all --initlabel part /boot --fstype ext3 --size=200 part /usr --fstype ext3 --size=8192 --asprimary part / --fstype ext3 --size=12288 --asprimary part /var --fstype ext3 --size=4096 part swap --size=8192 part /tmp --fstype ext3 --size=2048 #part /opt --fstype ext3 --size=100 --grow #part /scratch --fstype ext3 --size=61440 %packages @ admin-tools @ editors @ system-tools @ network-server @ mail-server @ server-cfg @ development-tools yum-fastestmirror rpm-devel e2fsprogs grub kernel-devel net-snmp-utils -subversion -xdelta %post exec < /dev/tty3 > /dev/tty3 chvt 3 echo echo "################################" echo "# Running Post Configuration #" echo "################################" ( /usr/bin/wget http://ks.abc.com/post/post-install-abc.sh -O /root/post-install-abc.sh /bin/chmod 755 /root/post-install-abc.sh /root/post-install-abc.sh ) 2>&1 | /usr/bin/tee /var/log/post-install.log chvt 1

作者:Community,ewwhite

最佳答案

看看Cobbler - https://fedorahosted.org/cobbler/ - 我用它在PXE环境中它应该适合你。

作者:jcollie

相关问答

添加新评论