centos7下dnsmasq+pxe+ks自动安装

2016年7月30日 发表评论 阅读评论

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

一、关闭selinux和firewalld

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/   //该目录下会有多个文件,实际只用到几个文件,后面会提到

修改其配置如下:

dnsmasq-pxe

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

pxe-f8

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

引导文件配置

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

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文件也可以不用系统自带的,这里可以自已去编译。自定义写法如下:

cat  > /var/ftpd/pxelinux.cfg/default <<EOF
default menu.c32
prompt 0
timeout 50
ONTIMEOUT local
menu title ##########      PXE Boot Menu ##########
label 1
menu label ^1)Bootfromlocal      drive
label 2
menu label ^2)InstallCentOS7  x64 with Kickstart
kernel      centos7/vmlinuz
append initrd=centos7/initrd.img  inst.ks=ftp://192.168.0.10/ks.cfg quiet
label 3
menu label ^3)InstallCentOS7 x64 with http://mirror.centos.org Repo
kernel      centos7/vmlinuz
append initrd=centos7/initrd.img  method=http://mirror.centos.org/centos/7/os/x86_64/  devfs=nomount  ip=dhcp
label 4
menu label ^4)InstallCentOS7 x64 withLocalRepousing VNC
kernel      centos7/vmlinuz
append initrd=centos7/initrd.img  method=ftp://192.168.0.10/pub devfs=nomount inst.vnc  inst.vncpassword=password
EOF

注:这里最好将从硬盘启动放在第一位,避免内网主机重启时默认配置的是pxe启动,如果default配置中第一个是ks,就会将之前的系统重装。如果第一项是后面的,就会卡在安装界面。

上面label4启动后,可以通过VNC连接进行安装 。

三、yum源配置

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

yum -y install httpd
systemctl start httpd
ln -s /mnt/ /var/www/html/
cp ks.cfg /var/www/html/

ks文件的使用和编辑,可以参看我另一篇博客 RH134小结(一)kickstart自动化安装

四、pxe安装

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




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.