PXE && Kictstart网络自动安装OS(rhel 6.2)

PXE && Kictstart 网络自动安装 OS rhel 6.2

// 实现过程

客户端通过网卡PXE启动-->连接到DHCP服务器-->获得IP地址-->客户端从TFTP服务器下载pxelinux.0,根据配置文件(default)下载指定的vmlinuz,initrd-->启动系统内核,加载初始化镜像文件(加载参数是否有ks)-->安装初始化完成-->到指定的位置(NFSFTPHTTP服务器上)下载软件包进行安装

// 组建功能简介

DHCP 用于向客户端分配IP

tftp 用于传输bootloader文件pxelinux.0

ks.cfg 用于初始化安装

ftp 负责传输安装镜像文件install.img

// 安装所需软件包【本试验在192.168.0.254主机中配置所有服务】

[root@localhost~]# yum install dhcp tftp vsftp syslinux kickstart �Cy

// DHCP 部分
一定要保证配置文件格式的正确,否则无法启动dhcpd服务

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

ddns-update-style interim;

ignore client-updates;

next-server 192.168.0.254;  #tftp服务器IP

subnet 192.168.0.0 netmask 255.255.255.0 {

range 192.168.0.10 192.168.0.20;  #地址池

}

filename "/pxelinux.0";

[root@localhost~]# service dhcpd start

// TFTP 部分
设置tftp服务可用,否则启动xinetd服务正常,但port 69 不会listen,且当PXE启动时,虽然可正常获取DHCP地址,但tftp连接会报错,Connection timed out(http://ipxe.org/4c126035)
[root@localhost ~]# vim /etc/xinetd.d/tftp
disable                 = no

[root@localhost~]# service xinetd start
确保69端口被监听
[root@localhost ~]# netstat -aunlp|grep 69
udp        0      0 0.0.0.0:69                  0.0.0.0:*                               1108/xinetd

[root@localhost~]# cp /cdrom/images/pxeboot/initrd.img /var/lib/tftpboot

[root@localhost~]# cp /cdrom/images/pxeboot/vmlinuz /var/lib/tftpboot

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

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

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

default linux

label linux

menu label ^Install rhel 62 with PXE

menu default

kernel vmlinuz

append initrd=initrd.img ks=ftp://192.168.0.254/pub/ks.cfg

完成后,目录树如下:

[root@localhost ~]# tree /var/lib/tftpboot

/var/lib/tftpboot

├── initrd.img

├── pxelinux.0

├── pxelinux.cfg

└── default

└── vmlinuz

1 directory, 4 files

// Kickstart 部分

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

Save : /var/ftp/pub/ks.cfg

ks.cfg 样例见文末

// FTP 部分

[root@localhost~]# service vsftpd start

[root@localhost~]# mkdir /cdrom

[root@localhost~]# mount /dev/cdrom /cdrom
[root@localhost~]# mkdir /var/ftp/pub/rhel6.2

[root@localhost~]# cp -Rf /cdrom/* /var/ftp/pub/rhel6.2

[root@localhost~]# chown -R ftp:ftp /var/ftp/pub/*
此处可先浏览器访问ftp://192.168.0.254/pub看是否可访问到rhel6.2目录下文件及ks.cfg,以确保ftp的可用性!

ks.cfg 样例

#platform=x86, AMD64, or Intel EM64T

#version=DEVEL

# Firewall configuration

firewall --disabled

# Install OS instead of upgrade

install

# Use network installation

url --url="ftp://192.168.0.254/pub/rhel6.2"

# Root password

rootpw --iscrypted $1$3xdVJxOa$3gsZHWJn403WYmNhlMYOl.

# 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

# System timezone

timezoneAfrica/Abidjan

# System bootloader configuration

bootloader --location=mbr

# Clear the Master Boot Record

zerombr

# Partition clearing information

clearpart --all --initlabel

# Disk partitioning information

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

part swap --fstype="swap" --size=1024

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

%packages

@base

@basic-desktop

@chinese-support

@compat-libraries

@console-internet

@development

@fonts

@input-methods

@internet-browser

@remote-desktop-clients

@system-admin-tools

@system-management

@x11

%end





你可能感兴趣的:(pxe,kickstart,网络自动安装os)