PXE远程安装与Kickstart无人值守安装

PXE远程安装与Kickstart无人值守安装

逻辑关联关系:

1. 为客户端提供IP参数,并指定去哪找PXE配置文件--DHCP
2. 提供PXE配置文件和内核,文件系统镜像文件的服务器--通常是TFTP
	tftp是个非独立进程,需要配合xinetd
3. 提供yum仓库,安装各种包--http或ftp
4. 需要一个菜单界面--default文件
5. 内核启动之后,需要一个指定安装过程的配置文件
	--可以使用kickstart生成,或根据anaconda-ks.cfg修改
	配置文件需要指定yum仓库的地址

环境:

Centos7,当前实验使用的是cnetos7完成的,所以参考此文档需要使用centos7
服务端IP:192.168.11.11
防火墙和selinux关闭,命令如下

setenforce 0
systemctl stop firewalld
systemctl disable firewalld

配置好yum源(本地yum源或网络yum源)

安装DHCP

yum -y install dhcp
vim /etc/dhcp/dhcpd.conf

option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

log-facility local7;
subnet 192.168.11.0 netmask 255.255.255.0 {
  range 192.168.11.222 192.168.11.244;
  option routers 192.168.11.11;
  filename "pxelinux.0";
  next-server 192.168.11.11;
}

systemctl enable dhcpd && systemctl start dhcpd

安装tftpd和xinetd

yum -y install tftp-server xinetd
vim /etc/xinetd.d/tftp

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot    //有未知原因,在部分centos7中修改此配置项不生效,如果不生效可使用默认配置完成搭建
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

mkdir /tftpboot
systemctl enable xinetd && systemctl start xinetd

安装httpd和syslinux

yum -y install httpd syslinux
mkdir /var/www/html/centos7
mount /dev/sr0 /var/www/html/centos7
cd /var/www/html/centos7/isolinux/
cp vmlinuz initrd.img /tftpboot
mkdir /tftpboot/pxelinux.cfg
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
cp isolinux.cfg /tftpboot/pxelinux.cfg/default
vim /tftpboot/pxelinux.cfg/default

default ks
.
.
.
label ks
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img method=http://192.168.11.11/centos7 ks=http://192.168.11.11/ks.cfg devfs=nomount

此default文件也可自己编写 如下

default linux
prompt 1
timeout 60
display boot.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img text ks=http://192.168.11.11/ks.cfg

编辑ks文件

cd
vim /var/www/html/ks.cfg

auth --enableshadow --passalgo=sha512
install
url --url="http://192.168.198.159/centos7"
graphical
#Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
#Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
#System language
lang zh_CN.UTF-8
#Network information
network  --bootproto=dhcp --device=ens33 --onboot=on --ipv6=auto --no-activate
network  --hostname=node5
#Root password
rootpw --iscrypted $6$av8yvu4ced1rXAjk$2e0L3Sw0LvBbzlz0GIea9HvSGyAX.Do8mLMaBAthStDOz6mGHj/7pCPhcAH8gcWsvEuQUdQqdheaXnNYyM18r1
#passwd=123
#System services
services --disabled="chronyd"
#System timezone
timezone Asia/Shanghai --isUtc --nontp
#System bootloader configuration
bootloader --location=mbr --boot-drive=sda
autopart --type=lvm
#Partition clearing information
clearpart --none --initlabel
%packages
@^infrastructure-server-environment
@base
@core
lrzsz
psmisc
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy luks --minlen=6 --minquality=50 --notstrict --nochanges --notempty
%end

chmod 644 /var/www/html/ks.cfg
systemctl restart httpd xinetd dhcpd

新建虚拟机
安装内存大于2G
开机测试

上一篇:PXE 无人值守批量部署 Centos 7


下一篇:PXE远程网络装机及CentOS 7无人值守安装