centos7下dnsmasq+pxe+ks自动安装
我们传统的ks自动安装搭建基本就是http(ftp) + tftp + dhcp + pxe ,需要好几个软件安装配置才能搞定。但对于平时服务器安装比较少的小型环境来说,DNSmasq足够用了,Dnsmasq提供DNS缓存、DHCP、Tftp服务功能。所以使用dnsmasq + httpd两个服务就可以搞定ks自动安装的环境了。
一、关闭selinux和firewalld
1setenforce 0
2getenforce
3sed -i '/^SELINUX=/c\SELINUX=disable' /etc/selinux/config
4grep ^SELINUX /etc/selinux/config
5systemctl stop firewalld
6systemctl disable firewalld
二、dnsmasq安装配置
dnsmasq安装配置
1yum install -y dnsmasq syslinux
2mkdir /var/ftpd
3cp -rp /usr/share/syslinux/* /var/ftpd/ //该目录下会有多个文件,实际只用到几个文件,后面会提到
修改其配置如下:
其中pxe-prompt和pxe-service要同时使用才会出现60s等待,按f8进入安装选择界面
如上图,上面白色分割上部分是f8等待界面,按f8后,就进行pxe-server配置的选择界面,pxe-service是可以写多个的。
引导文件配置
挂载Centos/redhat ISO安装镜像到/mnt目录 ,在/mnt/isolinux目录是系统引导相关的配置:
1cd /mnt/isolinux
2cp vmlinuz initrd.img /var/ftpd/
3mkdir -p /var/ftpd/pxelinux.cfg
4cp isolinux.cfg /var/ftpd/pxelinux.cfg/default
注:从这个引导目录也可以看出,从/usr/share/syslinux/拷贝的文件主要用到menu.c32 和 pxelinux.0 ,不过为了不必要的麻烦,最好还是拷全。
default文件也可以不用系统自带的,这里可以自已去编译。自定义写法如下:
1cat > /var/ftpd/pxelinux.cfg/default <<EOF
2default menu.c32
3prompt 0
4timeout 50
5ONTIMEOUT local
6menu title ########## PXE Boot Menu ##########
7label 1
8menu label ^1)Bootfromlocal drive
9label 2
10menu label ^2)InstallCentOS7 x64 with Kickstart
11kernel centos7/vmlinuz
12append initrd=centos7/initrd.img inst.ks=ftp://192.168.0.10/ks.cfg quiet
13label 3
14menu label ^3)InstallCentOS7 x64 with http://mirror.centos.org Repo
15kernel centos7/vmlinuz
16append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86_64/ devfs=nomount ip=dhcp
17label 4
18menu label ^4)InstallCentOS7 x64 withLocalRepousing VNC
19kernel centos7/vmlinuz
20append initrd=centos7/initrd.img method=ftp://192.168.0.10/pub devfs=nomount inst.vnc inst.vncpassword=password
21EOF
注:这里最好将从硬盘启动放在第一位,避免内网主机重启时默认配置的是pxe启动,如果default配置中第一个是ks,就会将之前的系统重装。如果第一项是后面的,就会卡在安装界面。
上面label4启动后,可以通过VNC连接进行安装 。
三、yum源配置
在上面的步骤中我们已经将iso安装文件挂载到了/mnt目录下,下面可以通过http webserver配置yum源
1yum -y install httpd
2systemctl start httpd
3ln -s /mnt/ /var/www/html/
4cp ks.cfg /var/www/html/
ks文件的使用和编辑,可以参看我另一篇博客 RH134小结(一)kickstart自动化安装 。
四、pxe安装
以上配置完成后,通过systemctl start dnsmasq 服务,并重新启动一台主机,启动时选择pxe启动。就会自动进入启动选择界面。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/dnsmasq-pxe-ks/5760.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.