pxe+kickstart无人值守安装
一、战前理论
什么是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服务
[[email protected] ~]# yum install -y dhcp [[email protected] ~]# 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服务
[[email protected] ~]# yum install tftp-server -y [[email protected] ~]# 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服务器
[[email protected] ~]# yum install -y syslinux [[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #将光盘或ISO挂载到/media中,将安装镜像中的启动镜像文件和启动配置文件复制到TFTP共享目录下 [[email protected] ~]# mount /dev/cdrom /mnt [[email protected] ~]# cp /mnt/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/ [[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg [[email protected] ~]# 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 - [[email protected] ~]# /etc/init.d/xinetd restart
配置说明:default指定默认引导方式,即下面的以label开头的各种引导方式;kernel指定的是系统内核文件;后面的ks参数可以指定自动应答文件的位置,本例设置为通过访问192.168.0.70的NFS共享方式读取kickstart文件。
(4)创建kickstart自动应答文件
[[email protected] ~]# mkdir /ks [[email protected] ~]# 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服务:
[[email protected] ~]# yum install nfs-utils rpcbind -y [[email protected] ~]# vim /etc/exports /ks 192.168.0.0/255.255.255.0(ro) /mnt 192.168.0.0/255.255.255.0(ro) [[email protected] ~]# /etc/init.d/rpcbind start; /etc/init.d/nfs start
(6)开启客户机
对于首次安装的客户机来说,不需要进入BIOS更改启动顺序,从CD-ROM或硬盘找不到自然会从网络寻找安装源
转载于:https://blog.51cto.com/szk5043/1889965