Centos6.5配置Kickstart无人值守安装

使用PXE安装系统我们需要用到:

DHCP 服务器软件:用于给PXE客户端分配IP地址

TFTP 服务器软件:向PXE客户端传送启动时所需要的文件

HTTP/NFS/FTP/软件:主要提供系统安装盘的全部文件。(这些协议较TFTP稳定)

 

1.配置网络及本地

设置网络:

 [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=00:0C:29:35:19:69

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=192.168.8.99

NETMASK=255.255.255.0

GATEWAY=192.168.8.1

配置本地yum源:

[root@localhost ~]# mount /dev/cdrom /mnt

[root@localhost ~]# cat /etc/yum.repos.d/centos.repo

[local]

name=local

baseurl=file:///mnt/

enable=1

gpgcheck=0

[root@localhost ~]# mount |grep iso

/dev/sr0 on /mnt type iso9660 (ro)

 

关闭防火墙及selinux

[root@localhost ~]# /etc/init.d/iptables stop

iptables:将链设置为政策 ACCEPTfilter                      [确定]

iptables:清除防火墙规则:                                 [确定]

iptables:正在卸载模块:                                   [确定]

[root@localhost ~]# /etc/init.d/iptables save

[root@localhost ~]# setenforce 0

[root@localhost ~]# echo "setforce 0" >>/etc/rc.local

 

 

2.安装并配置dhcpvsftpdtftp-serversyslinux等软件

1)安装并配置DHCP服务,dhcp服务器为要安装的系统主机分配的iP地址。

安装:

[root@localhost ~]# yum install dhcp -y

配置:

[root@localhost ~]# vi /etc/dhcp/dhcpd.conf

subnet 192.168.8.0 netmask 255.255.255.0 {

range 192.168.8.150 192.168.8.180;

option routers 192.168.8.1;

option subnet-mask 255.255.255.0;

default-lease-time 21600;

max-lease-time 43000;

next-server 192.168.8.99;

filename "pxelinux.0";

}

class "pxeclients" { 

match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; 

[root@localhost ~]# /etc/init.d/dhcpd start

正在启动 dhcpd:                         [确定]

[root@localhost ~]# netstat -utpln |grep dhcp

udp        0      0 0.0.0.0:67       0.0.0.0:*           1271/dhcpd          

 

2)安装并配置vsftpd

[root@localhost ~]# yum install vsftpd -y

[root@localhost ~]# mkdir /var/ftp/centos6.5

[root@localhost ~]# mount /dev/cdrom /var/ftp/centos6.5/    ##将系统盘中的数据提供

[root@localhost ~]# /etc/init.d/vsftpd start

vsftpd 启动 vsftpd:                                    [确定]

[root@localhost ~]# netstat -utlpn |grep vsftp

tcp        0      0 0.0.0.0:21       0.0.0.0:*            LISTEN      1302/vsftpd         

另外linux主机测试:

[root@localhost ~]# yum install lftp -y

[root@localhost ~]# lftp 192.168.8.99

lftp 192.168.8.99:~> ls

dr-xr-xr-x    6 0        0            4096 Nov 29  2013 centos6.5

drwxr-xr-x    2 0        0            4096 Mar 01  2013 pub

lftp 192.168.8.99:/> cd centos6.5/

lftp 192.168.8.99:/centos6.5> ls |head -5

-r--r--r--    2 0        0              14 Nov 29  2013 CentOS_BuildTag

-r--r--r--    2 0        0             212 Nov 27  2013 EULA

-r--r--r--    2 0        0           18009 Nov 27  2013 GPL

dr-xr-xr-x    2 0        0          509952 Nov 29  2013 Packages

-r--r--r--    2 0        0            1354 Nov 27  2013 RELEASE-NOTES-en-US.html

 

3)安装并配置tftp-server

[root@localhost ~]# yum install tftp-server -y

[root@localhost ~]# vi /etc/xinetd.d/tftp   ##修改配置“disable = no”启用tftp

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

# default: off

# description: The tftp server serves files using the trivial file transfer \

#protocol.  The tftp protocol is often used to boot diskless \

#workstations, download configuration files to network-aware printers, \

#and to start the installation process for some operating systems.

service tftp

{

socket_type= dgram

protocol= udp

wait= yes

user= root

server= /usr/sbin/in.tftpd

server_args= -s /var/lib/tftpboot

disable= no

per_source= 11

cps= 100 2

flags= IPv4

}

[root@localhost ~]# /etc/init.d/xinetd start     ##启动tftp-server的代理服务xinetd

正在启动 xinetd:                                          [确定]

 

4)安装syslinux及配置PXE:

syslinux提供pxelinux.0文件,复制到tftp-server的共享目录

[root@localhost ~]# yum install syslinux -y

[root@localhost ~]# rpm -ql syslinux |grep pxelinux.0

/usr/share/syslinux/gpxelinux.0

/usr/share/syslinux/pxelinux.0

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

5)从系统光盘中拷贝vmlinuzinitrd.img

[root@localhost ~]# cd /mnt/p_w_picpaths/pxeboot/

[root@localhost pxeboot]# cp initrd.img  vmlinuz  /var/lib/tftpboot/

[root@localhost pxeboot]# cd /var/lib/tftpboot/

[root@localhost tftpboot]# ls

initrd.img  pxelinux.0  vmlinuz

[root@localhost tftpboot]#mkdir /var/lib/tftpboot/pxelinux.cfg

[root@localhost tftpboot]#vi /var/lib/tftpboot/pxelinux.cfg/default

default auto

prompt 0

label auto

kernel vmlinuz

append ks=ftp://192.168.8.99/pub/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192 

6)配置应答文件:

[root@localhost ~]# yum install system-config-kickstart -y

[root@localhost ~]# system-config-kickstart   ##运行kickstart

基本配置:

wKiom1iZiizwAit9AABtHIxvnpA698.png 

安装方法:

wKioL1iZijuAmkyBAABXcBCdmGU427.png 

 

引导装载程序选项:

wKiom1iZikjg1GCUAABhM95_NHY401.png 

分区信息:

wKiom1iZilbC1fBEAACdFDoVYR8428.png 

网络配置:

wKiom1iZimPwsg8YAAA6FA74HSk385.png 

 

防火墙:

wKioL1iZim-iC6d8AABDgcwj8bQ231.png 

软件包选择:(注意次处决定了安装后系统自带的功能,大家可根据自己的需求添加,下面是一个实例)

wKioL1iZipeDMpCoAAB-9yr0alw866.png

wKiom1iZipixAFUEAAB6G9bg8Og377.png

wKioL1iZiprAkkdyAACJR2KpvCM851.png

wKiom1iZipuzVc6XAABiVkIGFDU175.png

wKiom1iZipvBrAtlAABhFG4di30106.png

wKioL1iZipzAjqfiAAB4ixYesbY390.png

 

保存并生成ks.cfg文件:

wKiom1iZisviDkrPAACMz5Q8b8E046.png

下面是生成的ks.cfg的完整内容:

[root@localhost ~]# cat ks.cfg

#platform=x86, AMD64, ?.Intel EM64T

#version=DEVEL

# Firewall configuration

firewall --disabled

# Install OS instead of upgrade

install

# Use network installation

url --url="ftp://192.168.8.99/centos6.5"

# System authorization information

auth  --useshadow  --passalgo=sha512

# Use graphical install

graphical

firstboot --disable

# System keyboard

keyboard us

# System language

lang en_US

# SELinux configuration

selinux --disabled

# Installation logging level

logging --level=info

# Reboot after installation

reboot

# System timezone

timezone  Africa/Abidjan

# Network information

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

# System bootloader configuration

bootloader --location=mbr

# Clear the Master Boot Record

zerombr

# Partition clearing information

clearpart --all  

# Disk partitioning information

part /boot --asprimary --fstype="ext4" --size=200

part swap --fstype="swap" --size=4000

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

 

%packages

@additional-devel

@base

@basic-desktop

@chinese-support

@development

@general-desktop

@graphical-admin-tools

@input-methods

@internet-browser

@legacy-x

@network-tools

@server-platform-devel

@system-management

@system-management-messaging-server

@system-management-snmp

@system-management-wbem

@x11

 

%end

 

共享ks.cfg文件:

[root@localhost ~]# cp ks.cfg /var/ftp/pub

[root@localhost ~]# ls /var/ftp/pub/

ks.cfg

[root@localhost ~]# cat /var/lib/tftpboot/pxelinux.cfg/default |grep ks    ##验证正确性

append ks=ftp://192.168.8.99/pub/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192

 

3.安装测试效果图:

新建虚拟机修改bios将启动模式设置为网络启动:

wKioL1iZivqQZK77AAA9dLDkKos649.png

wKiom1iZivqRe6NvAAAQvo92xMI165.png

wKioL1iZivvD4HUQAADXGU_jvqI290.png