基于HTTP和TFTP的PXE批量自动化安装Linux系统

时间:2023-03-10 05:58:21
基于HTTP和TFTP的PXE批量自动化安装Linux系统

CentOS 6.5 PXE自动化部署系统

拓扑图如下:

基于HTTP和TFTP的PXE批量自动化安装Linux系统

步骤:

1、  安装http服务,上传ISO文件

[root@UCS-1 ~]# yum install httpd –y

[root@UCS-1 ~]# chkconfig --add httpd

[root@UCS-1 ~]# chkconfig --level 35 httpd on

[root@UCS-1 ~]# /etc/init.d/httpd start

[root@UCS-1 ~]# mkdir -p /var/www/html/os/6

[root@UCS-1 ~]# mount /dev/cdrom /mnt

[root@UCS-1 ~]# cd /mnt

[root@UCS-1 mnt]# cp -r * /var/www/html/os/6

[root@UCS-1 ~]#  yum install tftp-server –y

[root@UCS-1 mnt]# cp /var/www/html/os/6/isolinux/boot.msg /var/lib/tftpboot/

[root@UCS-1 mnt]# cp /var/www/html/os/6/images/pxeboot/initrd.img /var/lib/tftpboot/

[root@UCS-1 mnt]# cp /var/www/html/os/6/images/pxeboot/vmlinuz /var/lib/tftpboot/

[root@UCS-1 html]# cp /var/www/html/os/6/isolinux/splash.jpg /var/lib/tftpboot/

[root@UCS-1 html]# cp /var/www/html/os/6/isolinux/vesamenu.c32 /var/lib/tftpboot/

[root@UCS-1 mnt]# yum -y install syslinux

[root@UCS-1 mnt]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[root@UCS-1 mnt]# mkdir /var/lib/tftpboot/pxelinux.cfg

[root@UCS-1mnt]#cp /var/www/html/os/6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

2、  修改tftp配置文件

[root@UCS-1 mnt]# vi /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(原来yes修改成为no)

per_source              = 11

cps                     = 100 2

flags                   = IPv4

}

[root@UCS-1 mnt]# chkconfig xinetd on

[root@UCS-1 mnt]# chkconfig --level 35 xinetd on

[root@UCS-1 mnt]# yum -y install dhcp

[root@UCS-1 mnt]# vi /etc/dhcp/dhcpd.conf

3、  安装dhcp服务

[root@UCS-1 mnt]# vi /etc/dhcp/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

allow booting;

allow bootp;

subnet 192.168.8.0 netmask 255.255.255.0{

range 192.168.8.110 192.168.8.120;

option routers 192.168.8.254;

option broadcast-address 192.168.8.255;

default-lease-time 600;

max-lease-time 7200;

next-server 192.168.8.254;

filename "pxelinux.0";

} [root@UCS-1 mnt]# /etc/init.d/dhcpd start

4、  安装system-config-kickstart.noarch

[root@UCS-1 mnt]# yum install system-config-kickstart.noarch -y

5、  进入图形界面执行[root@UCS-1 mnt]# /etc/init.d/dhcpd start

6、  生成ks.cfg文件

#platform=x87, AMD64, 或 Intel EM64T

#version=DEVEL

# Firewall configuration

firewall --disabled

# Install OS instead of upgrade

install

# Use network installation

url --url="http://192.168.8.254/os/6"

#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100(注释掉,否则启动从光盘安装)

# Root password

rootpw --iscrypted $1$EuW9dIZG$Vclkz/TcHRuoiBqYdPvTD0

# System authorization information

auth  --useshadow  --passalgo=sha512

# Use text mode install

text

# System keyboard

keyboard us

# System language

lang zh_CN

# SELinux configuration

selinux --disabled

# Do not configure the X Window System

skipx

# Installation logging level

logging --level=info

# Reboot after installation

reboot

# System timezone

timezone  Asia/Shanghai

# Network information

network  --bootproto=dhcp --device=eth0 --onboot=on

network  --bootproto=dhcp --device=eth1 --onboot=on

# System bootloader configuration

bootloader --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder="sda"

# Clear the Master Boot Record

zerombr

# Partition clearing information

clearpart --all

# Disk partitioning information

part / --fstype="ext4" --grow --size=1

%packages

@base

@basic-desktop

@chinese-support

@core

@debugging

@desktop-debugging

@desktop-platform

@development

@directory-client

@fonts

@general-desktop

@graphical-admin-tools

@input-methods

@internet-applications

@internet-browser

@java-platform

@legacy-x

@network-file-system-client

@office-suite

@print-client

@remote-desktop-clients

@server-platform

@server-policy

@workstation-policy

@x11

abrt-gui

certmonger

device-mapper-persistent-data

genisoimage

jpackage-utils

krb5-workstation

libXmu

mtools

  • oddjob

pam_krb5

pax

samba-winbind

sgpio

systemtap-client

wodim

%end

7、  修改PXE引导文件的ks.cfg,修改如下部分

[root@UCS-1 html]# vi /var/lib/tftpboot/pxelinux.cfg/default

timeout 60 # 修改等待时间为6秒

display boot.msg

menu background splash.jpg

menu title Welcome to CentOS 6.5!

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=http://192.168.8.254/ks.cfg 指定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

注意部分:如果是多个网卡的话,还要打开路由功能