1. 程式人生 > >5.12PXE+Kickstart批量無人值守部署

5.12PXE+Kickstart批量無人值守部署

vmlinuz eth pos 服務器 baseurl client all sta key

#PXE+TFTP+DHCP+HTTP+KICKSTART

PXE工作流程:

Client向PXE Server上的DHCP發送IP地址請求消息,返回Client的IP地址,同時將pxe環境下的Boot loader文件pxelinux.0的位置信息傳送給Client

Client向PXE Server上的TFTP請求pxelinux.0 Client執行接收到的pxelinux.0文件

Client向TFTP請求pxelinux.cfg文件(裏面放置的是是啟動菜單,即grub的配置文件)

Client向TFTP發送Linux內核請求信息

Client向TFTP發送根文件請求信息

Client加載Linux內核

Client通過nfs/ftp/http下載系統安裝文件進行安裝

1.關閉防火墻和SELinux
systemctl stop firewalld
setenforce 0 註釋(還可以用SELinux is disabled臨時關閉 永久關閉:進入 vim /etc/sysconfig/selinux)

2.DHCP
#DHCP主要是提供客戶端網絡參數與TFTP的位置,以及boot loader的文件名
yum install dhcp -y
vi /etc/dhcp/dhcpd.conf
subnet 192.168.5.0 netmask 255.255.255.0 { #設置網段
option routers 192.168.5.2; #設置網關 註釋:查詢網關 route -n
option subnet-mask 255.255.255.0; #設置子網掩碼
option domain-name-servers 192.168.5.2; #設置dns服務器地址 註釋: 查詢dns cat /etc/resolv.conf
range dynamic-bootp 192.168.5.200 192.168.5.205; #IP地址租用的範圍
default-lease-time 21600; #默認租約時間
max-lease-time 43200; #最大租約時間
next-server 192.168.5.184; #tftp服務器地址
filename "pxelinux.0"; #tftp服務器根目錄下面的文件名
}
systemctl start dhcpd
systemctl enable dhcpd

3.TFTP
#boot loader文件pxelinux.0以及內核相關的配置文件(目錄pxelinux.cfg下)主要都是由TFTP來提供的!
yum install tftp-server xinetd -y
vim /etc/xinetd.d/tftp
disable = no #此項修改,其它不變;保存退出
systemctl restart xinetd
systemctl enable xinetd

4.PXE的bootloader和相關配置文件
#syslinux是一個功能強大的引導加載程序,而且兼容各種介質。更加確切地說:SYSLINUX是一個小型的Linux操作系統,它的目的是簡化首次安裝Linux的時間,並建立修護或其它特殊用途的啟動盤
yum install syslinux -y
cd /var/lib/tftpboot
cp /usr/share/syslinux/pxelinux.0 .
cp /mnt/images/pxeboot/{vmlinuz,initrd.img} .
cp /mnt/isolinux/{vesamenu.c32,boot.msg} .
mkdir pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg pxelinux.cfg/default

vi pxelinux.cfg/default #刪除60行之後的,在文件末尾添加以下內容;也可自己編寫
label linux
menu label ^Install CentOS 74
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.5.184/config/ks.cfg biosdevname=0 net.ifnames=0

5.HTTP
#通過HTTP協議把光盤鏡像內容傳給客戶端
yum install httpd -y
cp -rf /mnt/* /var/wwyumw/html/
mkdir -p /var/www/html/config #新建目錄,把自定義的文件、腳本等放置於此

6.Kickstart配置文件
vi /var/www/html/config/ks.cfg
#platform=x86, AMD64 或 Intel EM64T
#version=

# Firewall configuration
firewall --disabled

# Install OS instead of upgrade
install

# Use network installation
url --url="http://192.168.5.184/"
#!!!

# Use CDROM installation media
repo --name="yum" --baseurl=http://192.168.5.184/
#!!!

# Root password
rootpw --iscrypted $1$mi4lP.ZY$j5UDGX34knfGuSYPwd82u/ #redhat
# openssl passwd -1

# Use graphical install graphical or text
text

# Run the Setup Agent on first boot
firstboot --disable

# System keyboard
keyboard us

# System language
lang en_US.UTF-8

# SELinux configuration
selinux --disabled

# Reboot after installation
reboot

# System timezone
timezone --isUtc Asia/Shanghai

# Network information
network --bootproto=dhcp --device=eth0 --noipv6 --activate
network --hostname=web
#!!!

# System bootloader configuration
bootloader --location=mbr

# Clear the Master Boot Record
zerombr

# Partition clearing information
clearpart --all --initlabel
#!!!

# Disk partitioning information
part /boot --asprimary --fstype="ext4" --ondisk=sda --size=200
part swap --fstype="swap" --ondisk=sda --size=4096
part / --fstype="ext4" --ondisk=sda --size=20480
#!!!

%packages
@core
wget
%end

%post
#yum_client
cd /etc/yum.repos.d/
rm -rf *
wget http://192.168.5.184/config/client.repo
yum install httpd -y
cd /var/www/h"
%end

%addon com_redhat_kdump --disable --reserve-mb=‘auto‘
%end

7.測試(客戶端啟動方式應更改為PXE網絡啟動!)

5.12PXE+Kickstart批量無人值守部署