pxe自动化装机

  自动化装机的核心是——kickstartkickstart是一个装机自动应答文件,它可实现手动改装机时的各种操作,通过配置文件中的命令,实现自动应答装机。只有kickstart免去了我们在安装OS时手动选择和配置例如键盘,时区,分区等操作;还是需要人为去参与。自动化装机最终实现应该时在kickstart基础上实现,除通过dhcp服务器获取动态IP外,还从dhcp服务器中获得tftp服务器的位置,在tftp加载启动文件和内核等文件。从而实现从以网络的方式自动安装操作系统。

kickstart的创造方式:

  1. 在手动安装后,在/root下自动生成kickstart文件——anaconda-ks.cfg。我们可以根据此文件稍加修改形成自己个性的配置。
  2. 使用systemc-kickstart-config工具自动生成kickstart文件
  3. 手工编写文件

下面是一个ks文件示例

install
keyboard 'us'
rootpw --iscrypted $1$tMDmgsuf$HPBEmj8FpqjphA30DzmG70
lang en_US
auth  --useshadow  --passalgo=sha512
cdrom
text   ##文本界面安装
firstboot --disable
selinux --disabled  ##关闭selinux
skipx
firewall --disabled  ##关闭防火墙
timezone Asia/Shanghai  ##时区配置
bootloader --append="net.ifnames=0" --location=mbr  ###"net.ifnames=0" 在centos7 上使用eth样式的网卡明明规则
zerombr
clearpart --all
part / --fstype="ext4" --size=10000 ##分区信息
%post
echo "hello" > /root/1.txt  ###安装后配置脚本
%end
%packages
@^minimal   ##安装最小化安装包组
%end  

实验一:根据ks文件示例实现半自动化安装os 

实验环境

两台VMware虚拟机。192.168.206.15作为http服务器,提供通过网络获取ks文件功能,代号X一台新建虚拟机没有操作系统,代号Y

实验步骤

第一步:X上搭建http服务器,将ks文件放在/var/www/html/ks7/testks.cfg

第二步:Y需要在VMware的编辑虚拟机中选择好要使用的centos7光 

第三步:Y开机时按F2进入bios选择第一启动为光盘启动

第四步:如下图,Y上出现grub选择界面时选择第一项,按table。在后边添加ks=http://192.168.206.15/ks7/testks.cfg

第五步:按enter开始自动安装。装机完成。

实验二:Pxe自动化安装服务器。

实验环境 

192.168.206.15作为httptftp服务器代号X,一台新建虚拟机没有操作系统,代号Y

安装软件包

yum -y install httpd tftp-server dhcp syslinux system-config-kickstart

syslinux:可以提供从网络安装os时需要的网络版bootloader——pxelinux.0

httpd:作为发布镜像以及ks文件的网站

Img:是/dev/sr0光盘镜像的挂在位置,ks6,ks7存放了ks文件

dhcp:提供动态IP,并指定tftp位置

tftppxelinux.0及其配置文件存放的位置存放路径/var/lib/tftpboot/

  menu.c32提供文本环境安装界面

  default是由grub的配置文件重命名后得到的定制化的grub界面,提供启动菜单。

    cp /var/www/html/img/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

  vmlinux:内核文件

 配置服务

配置文件共享服务:

systemctl enable httpd

systemctl start httpd

mkdir /var/www/html/img

mount /dev/sr0  /var/www/html/img

准备kickstart文件

使用system-kickstart-config 生成后放在/var/www/html/testks.cfg 注意:权限

配置tftp服务

systemctl enable tftp.socket

systemctl start tftp.socket

tftp不用做配置。它的默认共享目录为/var/lib/tftpboot/

④配置dhcp服务

systemctl enable dhcpd

systemctl start dhcpd

配置内容如下,next-server指明tftp位置

 

⑤相关文件准备

mkdir /var/lib/tftpboot/pxelinux.cfg/

cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/

cp /var/www/html/img/isolinux/{vmlinuz,initrd.img} / var/lib/tftpboot/

cp /var/www/html/img/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

⑥准备启动菜单

Vim /var/lib/tftpboot/pxelinux.cfg/default 。建议将本地启动label local设为默认项,以防止,安装系统后,重启时会自动在安装系统

 

开启自动安装

选择第一项,后续就不用操作。装机会自动进行

 

posted on 2020-08-25 06:44  HowOldAreYou  阅读(436)  评论(0编辑  收藏  举报

导航