centos7下dnsmasq+pxe+ks自动安装

我们传统的ks自动安装搭建基本就是http(ftp) + tftp + dhcp + pxe ,需要好几个软件安装配置才能搞定。但对于平时服务器安装比较少的小型环境来说,DNSmasq足够用了,Dnsmasq提供DNS缓存、DHCP、Tftp服务功能。所以使用dnsmasq + httpd两个服务就可以搞定ks自动安装的环境了。

一、关闭selinux和firewalld

<br />
setenforce   0
getenforce
sed  -i    '/^SELINUX=/c\SELINUX=disable'   /etc/selinux/config
grep   ^SELINUX    /etc/selinux/config
systemctl   stop   firewalld
systemctl   disable   firewalld

二、dnsmasq安装配置

dnsmasq安装配置

yum install -y dnsmasq syslinux
mkdir /var/ftpd
cp -rp /usr/share/syslinux/* /var/ftpd/   //该目录下会有多个文件,实际只用到几个文件,后面会提到
修改其配置如下:



<img src="https://www.361way.com/wp-content/uploads/2016/07/dnsmasq-pxe.png" width="496" height="182" title="dnsmasq-pxe" alt="dnsmasq-pxe" />



其中pxe-prompt和pxe-service要同时使用才会出现60s等待,按f8进入安装选择界面



<img src="https://www.361way.com/wp-content/uploads/2016/07/pxe-f8.png" width="417" height="190" title="pxe-f8" alt="pxe-f8" />



如上图,上面白色分割上部分是f8等待界面,按f8后,就进行pxe-server配置的选择界面,pxe-service是可以写多个的。

引导文件配置

挂载Centos/redhat&nbsp; ISO安装镜像到/mnt目录 ,在/mnt/isolinux目录是系统引导相关的配置:



<br />
cd /mnt/isolinux
cp vmlinuz initrd.img  /var/ftpd/
mkdir -p /var/ftpd/pxelinux.cfg
cp isolinux.cfg /var/ftpd/pxelinux.cfg/default
注:从这个引导目录也可以看出,从/usr/share/syslinux/拷贝的文件主要用到menu.c32 和 pxelinux.0 ,不过为了不必要的麻烦,最好还是拷全。



default文件也可以不用系统自带的,这里可以自已去编译。自定义写法如下:



<br />

<

pre class=”prettyprint linenums lang-bsh”>cat > /var/ftpd/pxelinux.cfg/default <注:<strong><span style="color:#E53333;">这里最好将从硬盘启动放在第一位</span></strong>,避免内网主机重启时默认配置的是pxe启动,如果default配置中第一个是ks,就会将之前的系统重装。如果第一项是后面的,就会卡在安装界面。 上面label4启动后,可以通过VNC连接进行安装 。

三、yum源配置

在上面的步骤中我们已经将iso安装文件挂载到了/mnt目录下,下面可以通过http webserver配置yum源



<br />
yum -y install httpd
systemctl start httpd
ln -s /mnt/ /var/www/html/
cp ks.cfg /var/www/html/
ks文件的使用和编辑,可以参看我另一篇博客 <a href="https://www.361way.com/rh134-kickstart/4633.html" target="_blank" rel="noopener">RH134小结(一)kickstart自动化安装</a> 。

四、pxe安装

以上配置完成后,通过systemctl start dnsmasq 服务,并重新启动一台主机,启动时选择pxe启动。就会自动进入启动选择界面。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注