PXE一键装机(转载)

Linux Kickstart大规模部署安装(Centos6.5)
 
配置过程
 配置PXE安装,要进行如下步骤:
 ① 配置DHCP,用于给客户端提供IP地址及其它信息
 ② 配置TFTP服务器,用于提供客户端PXE引导所必须的文件
 ③ 配置NFS、Ftp、Http、光盘、硬盘(任选其一)服务器,用于存放安装树
 ④ 配置Kickstart,用于自动应答安装
 ⑤ 使用PXE功能引导客户机

测试环境:centos 6.5 +tftp-server +http+dhcp
一、DHCP的配置
1、安装DHCP软件包
[[email protected] ~]# yum install dhcp                                    #yum方式安装
[[email protected] ~]# rpm -ivh dhcp-4.1.1-38.P1.el6.centos.x86_64.rpm   #rpm 方式安装
[[email protected] ~]# rpm -qa | grep dhcp  #检查是否安装成功
dhcp-4.1.1-38.P1.el6.centos.x86_64
dhcp-common-4.1.1-38.P1.el6.centos.x86_64
[[email protected] ~]#
2、配置DHCP
安装完成后,复制DHCPD配置文件模版替换原配置文件
[[email protected] ~]#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcpd.conf  #网上教程都是这样,实际操作如下
安装完毕dhcp,默认存在 /etc/dhcp/dhcpd.conf 仅需要仿照/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample进行配置即可。
[[email protected] ~]# vim /etc/dhcp/dhcpd.conf      
ddns-update-style interim; 
ignore client-updates; 
allow booting; 
allow bootp; 
ddns-update-style interim; 
ignore client-updates; 
allow booting; 
allow bootp; 
subnet 192.168.100.0 netmask 255.255.255.128{ 
range 192.168.100.110 192.168.100.120; 
option routers 192.168.100.106; 
option broadcast-address 192.168.100.127;   
default-lease-time 600; 
max-lease-time 7200; 
next-server 192.168.100.106;     #
filename "pxelinux.0"; 
}
配置完成后,重启DHCP服务,并将它设为开机自启动。
[[email protected] ~]# /etc/init.d/dhcpd start
启动 dhcpd:                         [确定]
[[email protected] ~]#  chkconfig --level 35 dhcpd on  
二、安装配置TFTP服务器
首先,安装TFTP服务器软件包,RedHat提供了两个软件包:tftp和tftp-server 这里仅需要安装服务端tftp-server
[[email protected] etc]# rpm -qa tftp*
[[email protected] etc]# yum install tftp-server
Complete!
[[email protected] etc]# rpm -qa tftp*    
tftp-server-0.49-7.el6.x86_64
1、配置tftp服务
tftp 服务由xinetd服务管理。编辑 '''/etc/xinetd.d/tftp''' 文件,将 '''disable = yes''' 改为:disable = no。

PXE一键装机(转载)

从这里看出,默认选择/tftpboot为TFTP服务器的根目录位置,配置完成后重启xinetd服务,使TFTP服务器生效。

PXE一键装机(转载)

2、PXE引导配置
我们只要安装了syslinux,就会生成一个pxelinux.0,将 pxelinux.0 这个文件复制到/var/lib/tftpboot 目录即可:
[[email protected] ~]# rpm -qa syslinux    #查询是否安装syslinux,若没有使用yum install -y syslinux即可
syslinux-4.02-16.el6_5.x86_64
[[email protected] ~]# find / -name "pxelinux.0"   #查询pxelinux.0文件位置
/usr/share/syslinux/pxelinux.0
[[email protected] ~]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  #拷贝文件到tftp的根目录下
[[email protected] ~]#cp 光盘/images/pxeboot/initrd.img  /var/lib/tftpboot/   #从光盘内拷贝文件,如果权限发生变化,请更改权限
[[email protected] ~]#cp 光盘/images/pxeboot/vmlinux    /var/lib/tftpboot/   #从光盘内拷贝文件,如果权限发生变化,请更改权限
[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[[email protected] ~]#cp 光盘isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default  #从光盘内拷贝文件并更名为default
[[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default   #编辑default文件
修改default文件修改default文件
#default vesamenu.c32
default linux  #这个要和下面的对应
#prompt 1
prompt 1
#timeout 600
timeout 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.100.106/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
  kernel vmlinuz
  append initrd=initrd.img rescue

顺便看一下ks.cfg,主要看清楚圈出的位置

PXE一键装机(转载)


三、HTTP的配置
[[email protected] ~]# yum install httpd            #yum方式安装
[[email protected] ~]# rpm -ivh  httpd-2.2.15-30.el6.centos.x86_64 .rpm  #rpm 方式安装
[[email protected] ~]# rpm -qa | grep httpd  #检查是否安装成功
 httpd-2.2.15-30.el6.centos.x86_64 
[[email protected] ~]# vim /etc/httpd/conf/httpd.conf   # httpd.conf 位置,这里不做修改 使用默认即可
[[email protected] ~]# mkdir /var/www/html/centos  #创建数据目录
[[email protected] ~]# mount -t iso9660 /dev/cdrom /var/www/html/centos  #挂着系统,也可以直接上传到此目录
[[email protected] ~]# ls /var/www/html/
   centos ks.cfg              #ks.cfg是事先做好,上传到这里即可

ks.cfg 可以通过kickstart生成,也可以是/root/anaconda-ks.cfg这个文。ks.cfg决定了硬盘如何分区、密码设置、服务、安装脚本等等重要信息:

 安装 yum install -y system-config-kickstart  

 命令行运行 system-config-kickstart运行kickstart,
四、关闭selinux (不关闭tftp容易报错)enforcing更改为disabled

PXE一键装机(转载)
五、启动所有服务即可

PXE一键装机(转载)
到此实验结束。