pxe+kickstart
这个网上文档还挺多的,但是基本都好多坑,最后自己综合了几篇做成功了,在此记录。
pxe的工作示意图,不管做什么还是要弄懂原理的
整个过程图解:
一.测试环境
centos 6.8(基础服务器安装)
NAT网络模式
IP:192.168.40.134
关闭防火墙
SELINUX=disabled
二.安装篇
1 apache安装
#yum install httpd -y 注:此处还可以用nfs或者ftp
#service httpd start
#chkconfig httpd on
2 tftp-server安装
#yum install -y tftp-server
#service xinetd start
#chkconfig xinetd on
3 dhcp安装
#yum install -y dhcp
#service dhcpd start
#chkconfig dhcpd on
4 syslinux安装
#yum install -y syslinux
三.配置篇
1 httpd配置
挂载一个镜像
#mkdir /mnt/cdrom
#mount /dev/cdrom /mnt/cdrom
复制光盘所有内容到http的根目录/var/www/html/cdrom下
#cp -r /mnt/cdrom /var/www/html/cdrom
2配置TFTP
vim /etc/xinetd.d/tftp
修改disable的值为no
3配置pxe启动所需程序
复制pxelinux.0文件到/var/lib/tftpboot/文件夹中
#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
复制iso 镜像中的/isolinux/* 至/var/lib/tftpboot/ 文件夹中
#cp /mnt/cdrom/isolinux/* /var/lib/tftpboot/
# mkdir /var/lib/tftpboot/pxelinux.cfg
#cp /var/www/html/cdrom/isolinux/isolinux.cfg/var/lib/tftpboot/pxelinux.cfg/default
修改default文件
#vim /var/lib/tftpboot/pxelinux.cfg/default
defaultks #默认启动的是 'label ks' 中标记的启动内核
prompt1 #显示 'boot: ' 提示符。为 '0' 时则不提示,将会直接启动 'default' 参数中指定的内容。
timeout 6 #在用户输入之前的超时时间,单位为 1/10 秒。
displayboot.msg #显示某个文件的内容,注意文件的路径。默认是在/var/lib/tftpboot/目录下。也可以指定位类似 '/install/boot.msg'这样的,路径+文件名。
F1boot.msg #按下 'F1' 这样的键后显示的文件。
F2options.msg
F3general.msg
F4param.msg
F5rescue.msg
labellinux #'label'指定你在 'boot:' 提示符下输入的关键字,比如boot: linux[ENTER],这个会启动'label linux' 下标记的kernel 和initrd.img 文件。
kernel vmlinuz #kernel 参数指定要启动的内核。
append initrd=initrd.img #append 指定追加给内核的参数,能够在grub 里使用的追加给内核的参数,在这里也都可以使用。
labeltext
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks=http://192.168.40.134/ks.cfginitrd=initrd.img #告诉系统,从哪里获取ks.cfg文件
labellocal
localboot 1
labelmemtest86
kernel memtest
append –
4 配置dhcp
复制配置模板文件到DHCP的配置目录中
# cp -f /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
添加给dhcp分配的网段
#vim /etc/hcp/dhcpd.conf
subnet192.168.40.0 netmask 255.255.255.0 { #提供DHCP服务的网段
range dynamic-bootp 192.168.40.10192.168.40.90; #地址池
option subnet-mask 255.255.255.0; #掩码
next-server 192.168.40.134; #tftp服务器地址
filename "pxelinux.0"; #PXE引导文件
}
5配置ks.cfg文件
有两种方式,一种是图形环境下配置
需要安装
# yum install system-config-kickstart
# yum groupinstall "X Window System"
# yum groupinstall Desktop
#reboot
注:生成ks.cfg 文件需要system-config-kickstart 工具,而此工具依赖于X Windows,所以我们需要安装X Windows 和Desktop 并重启系统
安装完成后打开图形界面
# system-config-kickstart
然后依次设置,最后ks文件保存在/var/www/html/目录下
安装是有几个地方要注意:
关于图形配置我不多做介绍网上挺多的 起到的目的就是自动给你生成ks.cfg文件 不用手动去配置了
这里我测试时选择的手动配置ks文件
vim /var/www/html/ks.cfg
#platform=x87, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url=http://192.168.40.134/cdrom/ #这个选项告诉安装程序:到服务器192.168.111.134 的HTTP根目录下的
cdrom 文件夹下寻找安装介质
# Root password
rootpw 123456
# System authorization information
auth --useshadow --enablemd5
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone --isUtcAsia/Shanghai
# Network information
network --bootproto=dhcp--device=eth0 --onboot=on
# System bootloader configuration
bootloader --append="rhgb quiet" --location=mbr--driveorder=sda
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --initlabel --all --drives=sda
# Disk partitioning information
part / --fstype="ext4" --size=8192
part swap --fstype="swap" --size=1024
part /home --fstype="ext4" --size=2048
%packages
@base
#这中间可以写你要安装的特定的软件包
#mysql
%end
到此配置结束
参考:http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html
http://www.cnblogs.com/along1226/p/5307614.html
转载于:https://blog.51cto.com/neephon/1920058