PXE批量安装centos6系统

 

本实验通过pxe/ftp/dhcp/tftp来完成批量部署centos系统

 

 

安装:

yum install   -y  dhcp*  tftp*  vsftp

 

------------------------------------------dhcp-----------------------------------------

[root@localhost pub]# cat /etc/dhcp/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

allow booting;

allow bootp;

subnet 192.168.12.0 netmask 255.255.255.0 {

option routers         192.168.12.2;

option subnet-mask     255.255.255.0;

range  192.168.12.100192.168.12.200;

next-server 192.168.12.135;

filename "pxelinux.0";

}

 

------------------------------------------tftp---------------------------------------

[root@localhost pub]# cat /etc/xinetd.d/tftp

service tftp

{

       socket_type             = dgram

       protocol                = udp

       wait                    = no

       user                    = root

       server                  =/usr/sbin/in.tftpd

       server_args             = -s /tftpboot 指定根目录

       disable                 = no

       per_source              = 11

        cps                     = 100 2

       flags                   = IPv4

}

[root@localhost pub]#

 

ftp做为光盘映像及ks.cfg配置文件下载使用

 

mount /dev/cdrom /var/ftp/pub

yuminstall syslinux syslinux-devel -y

#如果是6.x系统执行这一条命令

cp /usr/share/syslinux/pxelinux.0  /var/ftp/pub

cp /mnt/p_w_picpaths/pxeboot/{vmlinuz,initrd.img}    /tftpboot 启动文件

cd/tftpboot

mkdir -p  pxelinux.cfg 

cp /mnt/isolinux/isolinux.cfg   pxelinux.cfg/default完毕!

 

-----------------------------------------------default------------------------------------------------

[root@localhost pub]# cd /tftpboot/pxelinux.cfg/

[root@localhost pxelinux.cfg]# cat default

default linux

prompt 1

timeout 10

display boot.msg

F1 boot.msg

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

label linux

kernel vmlinuz

append initrd=initrd.img ks=ftp://192.168.12.135/pub/centos_ks.cfg  ksdevice=eth0

label text

kernel vmlinuz

append initrd=initrd.img text

label ks

kernel vmlinuz

append ks initrd=initrd.img

label local

localboot 1

label memtest86

kernel memtest

append -

 

 

--------------------------------------ks.cfg-----------------------------------------

 

[root@localhost pub]# cat centos_ks.cfg

# Kickstart file automatically generated by anaconda.

install

url --url=ftp://192.168.12.135/pub/

key --skip

lang zh_CN.UTF-8

keyboard us

network --device eth0 --bootproto=dhcp --noipv6

rootpw linux@passwd

firewall --disabled

authconfig --enableshadow --enablemd5

selinux --disabled

timezone Asia/Shanghai

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

clearpart --all --initlabel

part /boot --fstype ext3 --size=200

part swap --size=4000

part /www/logs --fstype ext3 --size=20000

part / --fstype ext3 --size=20000

part /home --fstype ext3 --size=10000

part /www --fstype ext3 --size=1 --grow

%packages

#@admin-tools

@base

@core

#@development-libs

#@development-tools

#@editors

#@system-tools

#@base-x

@chinese-support

keyutils

kexec-tools

trousers

fipscheck

device-mapper-multipath

imake

 

 

--------------------------OK------------------------------------------

 

下面是pxe支持lvm的配置方法:

[root@server ~]# vim/var/ftp/ks.cfg
……以上省略……
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --asprimary --fstype="ext4"--size=300       ##启动分区必须是主分区
part swap --fstype="swap"--size=2048               ##SWAP分区
part pv.01 --size=1 –grow                          ##剩余空间建立物理卷
volgroup vg_root pv.01                          ##建立卷组
logvol / --vgname=vg_root --size=20480 --name=lv_root   ##建立根逻辑卷
logvol /var --vgname=vg_root  --size=10240 --name=lv_var  ##建立var目录逻辑卷
logvol /home --vgname=vg_root --size=40960  --name=lv_home  ##建立家目录逻辑卷
##以上空间大小根据实际需要和磁盘空间情况进行调整
%packages
@base
@chinese-support
@console-internet
@core
……以下省略……