一、战前理论
什么是PXE?
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术, 工作于Client/Server的网络模式, 只想hi工作站通过网络从远程服务器下载镜像, 并由此支持通过网络启动操作系统, 在启动过程中, 终端要求服务器分配IP地址, 在用TFTP(Trivial file transfer protocol)或MTFTP(Multicast Trivial File Transfer Protocol)协议卸载一个启动软件包到本机内存中执行, 这个启动软件包完成终端基本软件设置, 从而引导预先安装服务器中的操作系统. PXE可以引导多种操作系统, 如: Windows 95/98/2000/windows 2008/xp/win 7/win8;
Kickstart技术:
Kickstart技术的核心是:自动应答文件(Kickstart文件),就是将本来在安装过程中需要我们手动设置的语言、密码、网络参数等通过读取读取自动应答文件实现自动设置。也就是说,我们需要事先将对操作系统的设置写入自动应答文件,开始安装操作系统时,指定安装程序读取自动应答文件实现自动安装及部署操作系统
二、安装部署
以下配置文件中的IP等内容需根据实际环境填写,不可原样复制
切勿注意内网中是否有别的DHCP服务器
1、安装服务器的IP:192.168.0.70
2、具体实现步骤如下
(1)安装DHCP服务
[root@c6 ~]# yum install -y dhcp
[root@c6 ~]# vim /etc/dhcp/dhcpd.conf
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.150 192.168.0.200;
option domain-name-servers 114.114.114.114;
option routers 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.0.70;
filename "pxelinux.0";
}配置说明:指定为192.168.0.0/24网络分配动态IP地址,动态地址池从192.168.0.150至192.168.0.200;客户端获取的网关地址为192.168.0.1;TFTP地址为192.168.0.70,启动文件名称为pxelinux.0
(2)安装部署TFTP服务
[root@c6 ~]# yum install tftp-server -y
[root@c6 ~]# 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 2
flags = IPv4
}配置说明:共享路径为/var/lib/tftpboot
(3) 将客户端所需启动文件复制到TFTP服务器
[root@c6 ~]# yum install -y syslinux
[root@c6 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
#将光盘或ISO挂载到/media中,将安装镜像中的启动镜像文件和启动配置文件复制到TFTP共享目录下
[root@c6 ~]# mount /dev/cdrom /mnt
[root@c6 ~]# cp /mnt/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
[root@c6 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@c6 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default linux
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.8!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=nfs:192.168.0.70:/ks/ks.cfg
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
[root@c6 ~]# /etc/init.d/xinetd restart配置说明:default指定默认引导方式,即下面的以label开头的各种引导方式;kernel指定的是系统内核文件;后面的ks参数可以指定自动应答文件的位置,本例设置为通过访问192.168.0.70的NFS共享方式读取kickstart文件。
(4)创建kickstart自动应答文件
[root@c6 ~]# mkdir /ks [root@c6 ~]# vim /ks/ks.cfg #platform=x86, AMD64, 或 Intel EM64T #version=DEVEL # 禁用防火墙规则iptables firewall --disabled # 安装系统 install # nfs服务器地址ip,及nfs上的系统镜像路径 nfs --server=192.168.0.70 --dir=/mnt # Root 密码(加密的123456) rootpw --iscrypted $1$16PXgd.m$C4vE6OJCMGfQVadgm0DSe. # System authorization information auth --useshadow --passalgo=sha512 # 使用字符界面安装 text firstboot --disable # 美式键盘 keyboard us # 系统语言 lang en_US # 关闭Selinux selinux --disabled # 不配置图形界面 skipx # 安装日志记录级别为 info logging --level=info # 安装完成后重启 reboot # 系统时区 timezone Asia/Shanghai # 网络配置:动态获取ip、网卡名称eth0,开机自动启动网络服务,不开启ipv6,主机名(自定义,可以不写,默认localdomain:localhost) network --bootproto=dhcp --device=eth0 --onboot=on --noipv6 --hostname=CentOS04 # 系统启动引导配置:mbr引导 bootloader --location=mbr # 磁盘分区,zerombr:一定要有,不然安装的时候会停在格式化分区界面 zerombr clearpart --all --initlabel # 磁盘分区方式 part /boot --fstype="ext4" --size=200 part swap --fstype="swap" --size=2000 part / --fstype="ext4" --grow --size=1 # 安装完成后要执行的脚本 %post /sbin/chkconfig --level 2345 atd off /sbin/chkconfig --level 2345 httpd off /sbin/chkconfig --level 2345 cups off /sbin/chkconfig --level 2345 smartd off /sbin/chkconfig --level 2345 bluetooth off /sbin/chkconfig --level 2345 sshd on /sbin/chkconfig --level 2345 snmpd on /usr/sbin/useradd tomcat mkdir /root/.ssh/ chmod -R 600 /root/.ssh/ %end # 自定义一些软件包,比如vim、开发工具 %packages @additional-devel @development @core vim-common vim-enhanced vim-minimal wget lrzsz %end
(5)部署NFS服务:
[root@c6 ~]# yum install nfs-utils rpcbind -y [root@c6 ~]# vim /etc/exports /ks 192.168.0.0/255.255.255.0(ro) /mnt 192.168.0.0/255.255.255.0(ro) [root@c6 ~]# /etc/init.d/rpcbind start; /etc/init.d/nfs start
(6)开启客户机
对于首次安装的客户机来说,不需要进入BIOS更改启动顺序,从CD-ROM或硬盘找不到自然会从网络寻找安装源
本文出自 “卫斯理” 博客,请务必保留此出处http://szk5043.blog.51cto.com/8456440/1889965
原文:http://szk5043.blog.51cto.com/8456440/1889965