PXE安装靠谱指南:

最近需要大量安装服务器操作系统收到使用ks脚本安装还是觉得太慢,遂使用此简便方法以省人力。


PXE原理请参考:

http://code.google.com/p/redhatsolution/wiki/RHEL_PXE_Installation_Server (linux下的原理以及安装配置方法,很详细)

http://technet.microsoft.com/zh-cn/library/cc725614(v=ws.10).aspx

http://technet.microsoft.com/zh-cn/library/cc732649(v=ws.10).aspx (windows下的原理)


首先:

1、准备CentOS-6.4-x86_64-bin-DVD1.iso安装文件,DVD1即可。

2、准备已安装好CentOS、Ubuntu或其他Linux发行版的主机、虚拟机或者笔记本。

3、准备一个交换机、交换机型号视你需要部署的服务器数量而定。

4、连接好服务器和交换机并启动服务器

简单部署结构图:

113504237.png



##CentOS做安装源##

yum -y install tftp
yum -y install tftp-server #提供tftp服务
yum -y install dhcp     #提供dhcp服务
yum -y install httpd    #提供使用http协议的安装源

#创建文件夹:

mkdir -p /data/tftp
mkdir -p /data/centos

#挂载光驱:

mount -t iso9660 -o ro,loop CentOS-6.4-x86_64-bin-DVD1.iso /data/centos/

#复制光盘里的内核文件和启动文件:

cp /data/centos/p_w_picpaths/pxeboot/* /data/tftp/
cp /data/centos/isolinux/boot.msg /data/tftp/
cp /data/centos/isolinux/vesamenu.c32 /data/tftp/

#复制pxelinux.0 由于系统未安装syslinux,需解包复制此文件

rpm2cpio /data/centos/Packages/syslinux-4.02-8.el6.x86_64.rpm | cpio -dimv
cp usr/share/syslinux/pxelinux.0 /data/tftp/

#创建文件夹:

mkdir -p /data/tftp/pxelinux.cfg

#复制并修改配置文件:

cp /data/centos/isolinux/isolinux.cfg /data/tftp/pxelinux.cfg/default
cat /data/tftp/pxelinux.cfg/default
default vesamenu.c32
#prompt 1
timeout 10
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.4!
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.0.128/ks.cfg ksdevice=eth0 #指定ks脚本地址,指定获取ip地址的网卡,实现真正自动安装,不需要手动选择网卡。(前提是网线插在eth0口)

#为系统配置静态IP

cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:2F:F7:DF"
IPV6INIT="no"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="56b98005-46ac-458e-9314-5f23228d2489"
IPADDR="192.168.0.128"
NETMASK="255.255.255.0"

#复制并修改dhcp配置文件

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
# 
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.129 192.168.0.150;
option routers 192.168.0.128;
filename "pxelinux.0";
next-server 192.168.0.128;
default-lease-time 600;
max-lease-time 7200;
}

#修改tftp-server配置

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 /data/tftp
disable= no #修改为no以启用服务
per_source= 11
cps= 100 2
flags= IPv4
}

#复制光盘所有内容到/var/www/html    #此地址可以更具httpd 主目录自行修改

cp -rf /data/centos/* /var/www/html/

#重启所有服务

service xinetd restart
service dhcpd restart
service httpd restart
service network restart

现在就可以进行全自动化安装。


下面我们讲解下使用Ubuntu作为安装源在配置方面的区别


##Ubuntu做安装源##

#安装tftp并使用inetd管理tftp服务

apt-get install tftpd tftp openbsd-inetd

#修改inetd配置文件配置tftp

vi /etc/inetd.conf
#:BOOT: TFTP service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /data/tftp #此处注意修改tftp目录为/data/tftp

#重启inetd

/etc/init.d/openbsd-inetd restart

#安装dhcp服务

apt-get install dhcp3-server

#dhcp配置修改同上,不赘述。启动dhcp服务

/etc/init.d/isc-dhcp-server restart
或者
service isc-dhcp-server restart

#为网卡配置静态IP地址

vim /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.128
netmask 255.255.255.0

#启用网络配置

ifup eth0
或
service networking restart

其他配置基本一样。

同样其他所有服务之后就将计算机与服务器所连交换机相连就可以进行安装。


注意:现在一般网卡都自带并配置pxe启动,如未配置则需人工进入BIOS配置,悲催。

以上两种方案均为亲自配置并验证过的靠谱方案,如果有错误或不当的地方请指出。