pxe+ks实现自动安装Centos7

pxe介绍

PXE(Preboot eXecuteEnvironment,预启动执行环境)是由 Intel 公司开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持 PXE 技术),实现客户端从网络引导启动安装操作系统

kickstart介绍

自动应答文件,事先编辑好安装系统时的选项,实现系统自动安装

 

所需服务:syslinux、tftp、ftp、dhcp、kickstart

测试环境:使用vmware虚拟机测试,pxe主机和测试机需使用同一网络模式,关闭vmware自带的dhcp服务

环境:一台pxe主机,一台测试机。pxe机器ip 192.168.181.6

 

1、pxe主机配置

1、关闭防火墙

iptables -F

systemctl stop firewalld

 

2、安装dhcp,配置dhcp

部分相关参数说明:

allow bootp;  允许bootp引导

filename "pxelinux.0";  引导驱动文件 pxelinux.0

next-server 192.168.181.6;  向指定ip查找引导驱动文件

此处pxe主机ip为192.168.181.6,设置dhcp子网范围192.168.181.100-200

yum install -y dhcp

[root@pioneer~]# vim /etc/dhcp/dhcpd.conf

allow booting;

allow bootp;

ddns-update-style none;

ignore client-updates;

subnet 192.168.181.0 netmask 255.255.255.0{

 option subnet-mask 255.255.255.0;

 option domain-name-servers 192.168.181.6;

 range dynamic-bootp 192.168.181.100 192.168.181.200;

 default-lease-time 21600;

 max-lease-time 43200;

 next-server 192.168.181.6;

 filename "pxelinux.0";

}

 

systemctl restart dhcpd

systemctl enable dhcpd

 

3、安装taftp,配置tftp

由于客户端主机还没有ip,需要使用udp(69)服务tftp来获取引导和驱动文件

此处使用xinetd服务来管理tftp-server;

yum install -y tftp-server xinetd

 

[root@pioneer~]# vim /etc/xinetd.d/tftp

service tftp

{

 socket_type= dgram

 protocol= udp

 wait= yes

 user= root

 server= /usr/sbin/in.tftpd

 server_args= -s /var/lib/tftpboot

 disable= no

 per_source= 11

 cps= 100 2519

 flags= IPv4

}

systemctl restart xinetd

systemctl enable xinetd

 

4、挂载iso镜像文件

用于提供pxe安装时,客户端获取系统安装文件;实现pxe主机的一些必要文件

mkdir /media/cdrom

mount /dev/cdrom /media/cdrom/

 

5、安装syslinux服务

提供引导加载的服务程序,提供用于pxe启动的相关文件,相关目录/usr/share/syslinux下,有很多用于引导的相关文件

yum install -y syslinux

cd /var/lib/tftpboot

cp/usr/share/syslinux/pxelinux.0 .

cp/media/cdrom/images/pxeboot/{vmlinuz,initrd.img} .

cp/media/cdrom/isolinux/{vesamenu.c32,boot.msg} .

 

编辑启动菜单项

复制的default文件,实际上就是pxe引导后客户端安装系统启动界面

mkdir pxelinux.cfg

cp /media/cdrom/isolinux/isolinux.cfgpxelinux.cfg/default

 

vim pxelinux.cfg/default

default vesamenu.c32 替换为 default linux

label linux菜单项所在apend行

由append initrd=initrd.imginst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

修改为append initrd=initrd.imginst.stage2=ftp://192.168.181.6 ks=ftp://192.168.181.6/pub/ks.cf quiet

 

6、配置vsftpd服务,复制光盘文件到ftp目录下

光盘文件已挂载到/media/cdrom/下

yum install -y vsftpd

vim /etc/vsftpd/vsftpd.conf

 

systemctl restart vsftpd

systemctl enable vsftpd

cp -r /media/cdrom/* /var/ftp

 

7、创建ks文件

在系统安装后,在/root目录下会生成一个anaconda-ks.cfg,文件内容是由安装当前系统时配置的选项生成的;使用此文件作为ks.cfg文件

复制文件到ftp目录下

cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg

chmod +r /var/ftp/pub/ks.cfg

 

编辑ks.cfg文件

vim /var/ftp/pub/ks.cfg

修改cdrom行为url--url=ftp://192.168.181.6

修改clearpart --none --initlabel行为clearpart --all --initlabel

pxe主机配置已完成

 

2、客户端配置

新建客户端虚拟机,需要注意的是磁盘格式选择scsi或sata,和网络模式需和pxe主机一致,之后启动测试机,自动从网络pxe启动,全程无干预即可安装成功

 

补充:

1、可以用http协议代替ftp,来完成镜像安装文件的传输

操作如下:

安装httpd服务,httpd提供web服务文件路径/var/www/html,创建镜像文件软链接到此目录下

ls -s /media/cdrom /var/www/html/cdrom

将之前存放在ftp共享文件路径下的ks.cfg文件拷贝到此/var/www/html/

cp /var/ftp/pub/ks.cfg /var/www/html/

 

编辑vim/var/lib/tftpboot/pxelinux.cfg/default

修改label linux菜单项所在apend行

由label linux菜单项所在apend行

由append initrd=initrd.imginst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

修改为append initrd=initrd.imginst.stage2=ftp://192.168.181.6 ks=ftp://192.168.181.6/pub/ks.cf quiet

修改为append initrd=initrd.imginst.stage2=http://192.168.181.6/media ks=http://192.168.181.6/ks.cfg quiet

 

编辑ks.cfg文件

vim /var/www/html/ks.cfg

修改url --url=ftp://192.168.181.6为url --url=http://192.168.181.6/media

 

2、主要的文件路径:

ftp方式

vim /var/ftp/pub/ks.cfg

vim /var/lib/tftpboot/pxelinux.cfg/default

 

http方式

vim /var/www/html/ks.cfg

vim /var/lib/tftpboot/pxelinux.cfg/default

3、使用ftp实现镜像文件传输时,可使用软链接将挂载镜像路径链接到ftp文件路径下

ls -s /var/ftp/cdrom /media/cdrom

4、使用system-config-kickstart图形工具来配置ks应答文件

yum install system-config-kickstart

system-config-kickstart  #启动工具,配置完成后保存文件

 

5、pxelinux.cfg/default文件参数解释

default memu.c32  启动字符界面

default vesamenu.c32  启动图形界面

default linux 直接选择从linux项启动,linux项内容在文件后面补充

memdisk 将内存转换为磁盘使用

 

 

6、ks.cfg文件参数解释

 

7、在grub界面按tab键可手动编辑启动项参数

8、一份default、ks.cfg文件

 

posted on 2025-03-30 10:32  赛博狗尾草  阅读(102)  评论(0)    收藏  举报

导航