永利注册 19

配置PXE 自动化安装CentOS 6.7

永利注册 1

配置PXE 自动化安装CentOS 6.7

dhcp服务器是pxe自动化安装的必要条件,因此先搞定dhcp服务器,yum -y
install dhcp,  rpm -ql dhcp查看安装了哪些包,less /etc/dhcp/dhcpd.conf
 打开dhcp的主配置文件,如下图:

永利注册 2

没有任何配置,但提示了去哪找主配置文件,cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
/etc/dhcp/dhcp.conf  覆盖主配置文件,vim /etc/dhcp/dhcpd.conf
再次打开,default-lease-time 600;
(默认租约时长)这个参数为600秒感觉短了一点,改为3600。为了避免其他参数的干扰,把鼠标移动到29行,然后执行:.,[email protected]^[^#]@#&@命令(把当前行到最后一行以非#开头的非空白行在行首加上#),接下来在subnet中定义要分配的网段,定义如下图所示:

永利注册 3

保存退出! service dhcpd start 启动服务  ss -unl
 查看67号服务器端口是否监听。

把网卡配置为172.16.0.199/16 的地址,作为客户端的默认网关。

启动另外一台客户端,使用dhclient -d命令 查看如何获取地址如图:

永利注册 4

这样一台dhcp服务器就启动起来了,给客户端分配了172.16.100.29地址。

但有时我们需要固定分配一地址给某台客户端,vim /etc/dhcp/dhcpd.conf
 如图:

永利注册 5

添加一段配置,只需把该客户端的物理网卡地址写上就可以。

看下面这图:

永利注册 6

多添加了filename,和next-server两个参数,filename表示告诉客户端获取了地址之后,去加载pxelinux.0文件,去哪加载,next-server中指定的地址,此处为172.16.100.13。pxelinux.0是基于网卡引导时要加载的initial
boot file 的文件名。而filename处指定的文件必须放在tftp-server上。

第二个必要条件,另外启动一台虚拟机,搞定tftp-server,yum -y install
tftp-server,  yum -y install syslinux。

syslinux 是一堆引导加载器,pxe
网络引导需要用到它。在/usr/share/syslinux/目录下就有pxelinux.0文件。

tftp-server是由xinetd这个超级守护进程管理的。因此vim /etc/xinetd.d/tftp
 把disable=yes 改为 no, service xinetd restart。 ss -unl
 查看是否69号端口已监听。

tftp服务器默认文件存储路径为/var/lib/tftpboot目录下。 cp
/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

放入光盘挂载光盘,mkdir /media/cdrom  mount -r /dev/cdrom /media/cdrom
还得创建一个yum仓库放置光盘里面的文件,我把它放在httpd上。安装httpd服务器,yum
-y installl httpd,   mkdir /var/www/html/CentOS6 创建目录硬链接  mount
–bind /media/cdrom /var/www/html/centos6    ls /var/www/html/centos6
如图:

永利注册 7

制作一个kickstart文件来定制如何安装系统,yum -y install
system-config-kickstart,  system-config-kickstart 如图: 

永利注册 8

 

永利注册 9

永利注册 10

 

永利注册 11

永利注册 12

永利注册 13

为了方便下面几项无需去配置。 可以使用ksvalidator命令检查是否有语法错误
ksvalidator centos6.cfg。 cp /root/centos6.cfg /var/www/html/ 

service httpd start 

接下来复制几个必要的文件:cp
/media/cdrom/images/pxeboot/{vmlinuz,initrd.img}  /var/lib/tftpboot/

cp /media/cdrom/isolinux/{boot.msg,splash.jpg,vesamenu.c32}
/var/lib/tftpboot/

mkdir /var/lib/tftpboot/pxelinux.cfg  cp
/media/cdrom/isolinux/isolinux.cfg
/var/lib/tftpboot/pxelinux.cfg/default

ls /var/lib/tftpboot 如图:

永利注册 14

vim /var/lib/tftpboot/pxelinux.cfg/default

 永利注册 15

加上  ks=

启动一台虚拟机从网卡引导:

永利注册 16

把centos6.cfg文件中的#Use graphic install 下的graphic 两行改为 #Use
text install
text,引导就不需要你点next选项:永利注册 17 

永利注册 ,全搞定!

—————————–分割线—————————–

使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.8 x86_64

Linux PXE无人值守安装出现 PXE-E32:TFTP OPen timeout的解决办法

使用PXE结合kickstart 自动安装Linux系统

RHCE认证之无人值守安装Linux系统(FTP+TFTP+DHCP+Kickstart+PXE)

PXE网络装机(有人值守与无人值守安装)

—————————–分割线—————————–

本文永久更新链接地址:

自动化安装CentOS 6.7
dhcp服务器是pxe自动化安装的必要条件,因此先搞定dhcp服务器,yum -y
install dhcp, rpm -ql dhcp查看安装了哪些包,l…

 

1、说明

所谓的PXE是Preboot Execution
Environment的缩写,字面上的意思是开机前的执行环境。

要实现pxe,至少需要3个服务

永利注册 18

 

2、流程

永利注册 19

 注意:全部用的udp封装

 1)client向pxe
server上的dhcp发送IP地址请求消息,dhcp检测client是否合法,同事将pxe环境下的boot
loader文件pxelinux.0的位置信息发给client

 2)client向pxe
server上的tftp请求pxelinux.0,tftp收到消息向client发送pxelinux.0大小信息,试探client是否满意,当tftp收到client发回的统一大小信息后,发送pxelinux.0.

 3)client执行接收到的pxelinux.0

 4)client向TFTP请求pxelinux.cfg文件(其实是目录,里面放了启动菜单,即grub的配置文件),TFTP将配置文件发回client,继而client根据配置文件执行后续的操作

 5)client向TFTP发送linux内核请求信息,TFTP发送内核

 6)client向TFTP发送根文件请求信息,TFTP接受到消息之后返回linux根文件系统

 7)client加载linux内核(启动参数已经在4中的配置文件中设置好了)。

 8)client通过nfs/ftp/http下载系统安装文件进行安装,如果4中的配置文件指定了kickstart路径,则回根据此文件自动应答安装系统

 

几个文件的说明

  • vmlinuz:核心文件(kernel file);
  • initrd.img:开启过程中核心组件的参数;
  • isolinux.cfg –> demo:开机pxe选择参考;

3、部署

顺序

DHCP

TFTP

提供bootloader及配置文件

挂载光盘,把内核文件cp到tftp目录

部署httpd,并放置文件

设置菜单及提供系统安装文件

3.1部署DHCP

  yum -y install 
  dhcp[root@localhost ~]# cat /etc/dhcp/dhcpd.con

default-lease-time 600;
max-lease-time 7200;
subnet 192.168.216.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.216.220 192.168.216.230;
  option domain-name-servers 192.168.216.147;
  option subnet-mask 255.255.255.0;
  option routers 192.168.216.147;
  default-lease-time 600;
  max-lease-time 7200;  
  next-server 192.168.216.147;      ###这个就是tftp地址
  filename"pxelinux.0";          ###告知从tftp根目录获取bootloader文件

}

host clientA{                        ###可以绑定某台主机的ip地址,用mac绑定
        hardware ethernet 00:0C:29:83:A2:10;      
        fixed-address 192.168.216.229;
}
ddns-update-style interim;

    启动服务

  systemctl start dhcpd

3.2部署TFTP
  从流程得知boot loader文件pxelinux.0以及内核相关的配置文件(目录pxelinux.cfg下)主要都是由TFTP来提供的

  yum install tftp-server
  yum -y install xinetd
  TFTP是由xinetd这个super daemon所管理的,因此设定好TFTP之后,要启动的是xinetd;

[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  ###这个是tftp的根目录
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

  启动tftp

  systemctl start tftp

  查看服务ps -ef |grep xinetd

[root@localhost tftpboot]# ps -ef |grep xinetd
root      49896      1  0 Aug29 ?        00:00:00 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
root      61791  49577  0 16:15 pts/0    00:00:00 grep --color=auto xinetd

  ss -unlp

发表评论

电子邮件地址不会被公开。 必填项已用*标注