PXE+DHCP+TFTP+KickStart批量安装CentOS详解

简介:

一、场景介绍

当我们要部署大批量的服务器时,传统的光盘或U盘安装系统就不再适合,为了应对这种场景,PXE配合kickstart无人值守安装就是一种很好的方法。

1.什么是PXE

PXE是一种引导程序,分为client端和server端,首先,要进行自动化安装的服务器必须有一块支持PXE的网卡,即网卡的ROM中必须有PXE client。当计算机引导时,BIOS把PXE client与TFTP client调入内存(TFTP client也内置于网卡ROM中),并将远端的文件通过网络下载到本地运行,所以PEX引导的执行还需要能够给该服务器提供地址的DHCP服务和存放文件的TFTPserver。

2.什么事kickstart

kickstart是一种无人值守安装方式。他是将安装过程中需要人为交互输入的各种参数保存在一个ks.cfg的文件中,安装过程中遇到需要填写参数的时候会自动去找该文件获取参数,如果找不到,就会停在当前界面等待人工输入。

3.安装流程

计划部署2台服务器完成无人值守安装,拓扑图为:

spacer.gifwKiom1egGZbShv5KAAB-dC0pbMs142.png-wh_50

无人值守的安装流程为:

(l)ient端启动后,会在内网发广播请求地址

(2)DHCP服务器收到请求后会给Client端分配一个IP地址,并同时告诉Client端TFTP服务器的地址

(3)客户端从TFTP服务器获取启动文件,启动文件中包含自动应答文件ks.cfg的地址指向

(4)客户端根据自动应答文件中的参数设置和安装树位置指向进行安装

二、安装前期准备

1.按规划修改每台服务器的IP地址

spacer.gifwKioL1egGZaj0Np2AAAu4VkkJ5s177.png-wh_50

2.关闭服务器上的selinux,修改后并不会立即生效,建议重启操作系统

spacer.gifwKioL1egGZaT_0ZaAABkSWOBylQ341.png-wh_50

3.关闭防火墙,service iptables stop 否则Client端会报错,关闭!关闭!关闭!如果不想让iptables开机启动使用chkconfig iptables off

spacer.gifwKiom1egGZfgrLGjAAAduq7RCDo315.png-wh_50

4.插入光盘并挂在至/media目录下

spacer.gifwKiom1egGZfxEwI4AAATgObvEyg743.png-wh_50

5.使用rm -f $(ls . | grep -v 'Me')将/etc/yum.repo.d/目录下其他yum源删除,只保留CentOS-Media源,并修改url的位置。为什么要删除其他的yum源,因为指定cost为100后,它还是会找其他的yum源而不是Media这个,为了减少干扰就删除了,或者将其他yum源的enable改为0也行

spacer.gifwKioL1egGZfDbLexAAAeHTya01Y139.png-wh_50

三、安装步骤

1.安装DHCP服务器

(1)使用yum -y install dhcp安装dhcp服务

spacer.gifwKiom1egGZeBsHTqAAAcYUSAwRU865.png-wh_50

(2)编辑/etc/dhcp/dhcpd.conf文件,或者可以拷贝一个模板后,在模板基础上修改,命令为:

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf。此处需要说明的是:next-server就是TFTP服务器的地址;filename是告诉Client端引导文件是TFTP服务器根目录下一个叫pxelinux.0的文件,这2个参数都是Client端在想DHCP获取IP地址时,由DHCP一并发送给Client端的,pxelinux.0文件是获得IP地址后Client端第一个执行的文件,类似于MBR。

spacer.gifwKioL1egGZiA0dz2AABOX80nQbA286.png-wh_50

(3)在/etc/sysconfig/dhcpd中指定提供DHCP服务的网口,此处是eth0

spacer.gifwKiom1egGZigecejAAAZJWLWxNg263.png-wh_50

(4)启动dhcp服务,并设置开启自动启动

spacer.gifwKioL1egGZijIPzDAAAY3lDm_yM930.png-wh_50

(5)DHCP默认使用的是UDP协议,检查端口侦听是否正常

spacer.gifwKiom1egGZnD1s1vAAA_gVUnq38407.png-wh_50

2.安装TFTP服务器

(1)使用yum -y install tftp-server安装tftp服务器

(2)使用chkconfig tftp on ;chkconfig xinetd on 开启tftp和xinetd服务,从chkconfig --list中能看到tftp和xinetd服务已经开启。此处需要说明的是:xinetd服务是什么?我们知道,服务是常驻于内存中的进程,会消耗一定的系统资源,有一些服务可能偶尔会用到,所以一直开着对内存资源就是一种浪费,这种服务就统一由xinetd服务来代管,当需要用到此服务时,xinetd会唤醒相应服务,这样只需要启动一个xinetd服务,节省了内存资源

spacer.gifwKioL1egGZnQzOd2AABLsxpisyc170.png-wh_50

另外需要说明的一点是:从tftp的配置文件中发现tftp的根目录为/var/lib/tftpboot,所以安装DHCP服务器步骤(2)中filename "/pxelinux.0"文件就应放在/var/lib/tftpboot目录中

spacer.gifwKioL1egGZnS85BCAABgqQqvfCA251.png-wh_50

(4)查看TFTP所使用的69号端口是否正常监听

spacer.gifwKiom1egGZqzCK9-AAA-GOqRByw356.png-wh_50

3.安装http服务

(1)使用yum -y inistall httpd安装httpd服务

(2)使用service httpd start && chkconfig httpd on启动httpd服务并设置开机启动

(3)创建一个centos6目录,将光盘的内从再挂载到该目录,不管怎么弄,只要把安装光盘内容能让客户端通过web访问即可,它的作用是在ks.cfg文件中提供安装树的url指向,可以是http或NFS等

spacer.gifwKiom1egGZrzlOsUAAA1C9R8Mb8679.png-wh_50

(4)查看htppd服务器的80端口是否正常监听,服务是否正常

spacer.gifwKioL1egGZvhN_F-AABGCsM0PxQ510.png-wh_50

4.PXE配置引导

(1)前面所提到的pxelinux.0文件是在syslinux引导程序中,所以要先安装syslinux程序,yum -y install syslinux

(2)拷贝/var/www/html/centos6/images/pxeboot/目录下vmlinuz和initrd.img文件;/var/www/html/centos6/isolinux/目录下的boot.msg、vesamenu.c32、splash.jpg文件拷贝到tftp服务器根部录下/var/lib/tftpboot/,因为pxelinux.0文件代替了isolinux.bin,所以不用拷贝

(3)将pxelinux.0文件拷贝到ftfp服务器的根部录下 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 

spacer.gifwKioL1egGZvzzJocAAA24xUxsVc067.png-wh_50

(4)类似于isolinux.cfg给isolinux.bin提供配置文件一样,我们也需要给pxelinux.0提供一个配置文件,且配置文件需要放在/var/lib/tftpboot/pxelinux.cfg这个专门的目录中

spacer.gifwKiom1egGZugqm5SAAASPQBVEMM836.png-wh_50

(5)isolinux.cfg文件当模板,复制到/var/lib/tftpboot/pxelinux.cfg/default需要重命名为default。至此,启动环境已经完成 

spacer.gifwKiom1egGZzj_1RpAAAUMqqyEGM460.png-wh_50

5.第一次测试,新建一台服务器选择网卡启动,看到Client在获取到IP后能够进入安装界面,说明可以正常获取到TFTP上的启动文件,需要说明的此时他还会再自动获取一次IP地址,原因是此时不再是TFTP的阶段而是anaconda阶段,所以需要再次获取一次地址,在他的配置文件anaconda.cfg中能看到这点

spacer.gifwKioL1egGZyBC4QVAAA5rk9-v8Y873.png-wh_50

6.配置ks.cfg文件

(1)ks文件可以由system-config-kiskstart生成,推荐使用现有ks文件当模板,在管理员的家目录下有个anaconda-ks.cfg文件,可以用它来当模板

spacer.gifwKioL1egGZzz89n9AAAihZVTtJM217.png-wh_50

(2)拷贝anaconda.cfg文件至/var/www/html目录下重命名为ks.cfg,注意此处该文件的读取权限只有管理员有,而自动安装时获取这个文件是由apache发起,所以匹配的是apache用户权限,从而无法访问

spacer.gifwKiom1egGZ2TqGu1AAAvdM7rg0Q178.png-wh_50

(3)修改ks.cfg文件权限,让其他用户有读取权限

spacer.gifwKioL1egGZ3AhZk6AAAlDddHk18925.png-wh_50

(4)修改ks.cfg文件,将安装方式改为url并指定安装树位置和repo位置,并设置磁盘分区,管理员密码可使用grub-crypt方式加密后将字符串粘贴至此

spacer.gifwKiom1egGZ3jHPFSAACjgSfecrQ487.png-wh_50

(5)回到TFTP服务器在pxe的配置文件/var/lib/tftpboot/pxelinux.cfg/default内指明ks文件的路径,如果有多网卡还需要指明使用ks安装的网卡,不指定的话会在安装时让你手动指定,就达不到自动化安装的目的

spacer.gifwKioL1egGZ6Dd-aeAAAhly7REPQ927.png-wh_50

(6)再次测试,可以成功自动安装,至此,全部操作完成

spacer.gifwKiom1egGZ6CqXpuAAAqCDRUDvQ535.png-wh_50



一、场景介绍

当我们要部署大批量的服务器时,传统的光盘或U盘安装系统就不再适合,为了应对这种场景,PXE配合kickstart无人值守安装就是一种很好的方法。

1.什么是PXE

PXE是一种引导程序,分为client端和server端,首先,要进行自动化安装的服务器必须有一块支持PXE的网卡,即网卡的ROM中必须有PXE client。当计算机引导时,BIOS把PXE client与TFTP client调入内存(TFTP client也内置于网卡ROM中),并将远端的文件通过网络下载到本地运行,所以PEX引导的执行还需要能够给该服务器提供地址的DHCP服务和存放文件的TFTPserver。

2.什么事kickstart

kickstart是一种无人值守安装方式。他是将安装过程中需要人为交互输入的各种参数保存在一个ks.cfg的文件中,安装过程中遇到需要填写参数的时候会自动去找该文件获取参数,如果找不到,就会停在当前界面等待人工输入。

3.安装流程

计划部署2台服务器完成无人值守安装,拓扑图为:

spacer.gifwKiom1egGZbShv5KAAB-dC0pbMs142.png-wh_50

无人值守的安装流程为:

(l)ient端启动后,会在内网发广播请求地址

(2)DHCP服务器收到请求后会给Client端分配一个IP地址,并同时告诉Client端TFTP服务器的地址

(3)客户端从TFTP服务器获取启动文件,启动文件中包含自动应答文件ks.cfg的地址指向

(4)客户端根据自动应答文件中的参数设置和安装树位置指向进行安装

二、安装前期准备

1.按规划修改每台服务器的IP地址

spacer.gifwKioL1egGZaj0Np2AAAu4VkkJ5s177.png-wh_50

2.关闭服务器上的selinux,修改后并不会立即生效,建议重启操作系统

spacer.gifwKioL1egGZaT_0ZaAABkSWOBylQ341.png-wh_50

3.关闭防火墙,service iptables stop 否则Client端会报错,关闭!关闭!关闭!如果不想让iptables开机启动使用chkconfig iptables off

spacer.gifwKiom1egGZfgrLGjAAAduq7RCDo315.png-wh_50

4.插入光盘并挂在至/media目录下

spacer.gifwKiom1egGZfxEwI4AAATgObvEyg743.png-wh_50

5.使用rm -f $(ls . | grep -v 'Me')将/etc/yum.repo.d/目录下其他yum源删除,只保留CentOS-Media源,并修改url的位置。为什么要删除其他的yum源,因为指定cost为100后,它还是会找其他的yum源而不是Media这个,为了减少干扰就删除了,或者将其他yum源的enable改为0也行

spacer.gifwKioL1egGZfDbLexAAAeHTya01Y139.png-wh_50

三、安装步骤

1.安装DHCP服务器

(1)使用yum -y install dhcp安装dhcp服务

spacer.gifwKiom1egGZeBsHTqAAAcYUSAwRU865.png-wh_50

(2)编辑/etc/dhcp/dhcpd.conf文件,或者可以拷贝一个模板后,在模板基础上修改,命令为:

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf。此处需要说明的是:next-server就是TFTP服务器的地址;filename是告诉Client端引导文件是TFTP服务器根目录下一个叫pxelinux.0的文件,这2个参数都是Client端在想DHCP获取IP地址时,由DHCP一并发送给Client端的,pxelinux.0文件是获得IP地址后Client端第一个执行的文件,类似于MBR。

spacer.gifwKioL1egGZiA0dz2AABOX80nQbA286.png-wh_50

(3)在/etc/sysconfig/dhcpd中指定提供DHCP服务的网口,此处是eth0

spacer.gifwKiom1egGZigecejAAAZJWLWxNg263.png-wh_50

(4)启动dhcp服务,并设置开启自动启动

spacer.gifwKioL1egGZijIPzDAAAY3lDm_yM930.png-wh_50

(5)DHCP默认使用的是UDP协议,检查端口侦听是否正常

spacer.gifwKiom1egGZnD1s1vAAA_gVUnq38407.png-wh_50

2.安装TFTP服务器

(1)使用yum -y install tftp-server安装tftp服务器

(2)使用chkconfig tftp on ;chkconfig xinetd on 开启tftp和xinetd服务,从chkconfig --list中能看到tftp和xinetd服务已经开启。此处需要说明的是:xinetd服务是什么?我们知道,服务是常驻于内存中的进程,会消耗一定的系统资源,有一些服务可能偶尔会用到,所以一直开着对内存资源就是一种浪费,这种服务就统一由xinetd服务来代管,当需要用到此服务时,xinetd会唤醒相应服务,这样只需要启动一个xinetd服务,节省了内存资源

spacer.gifwKioL1egGZnQzOd2AABLsxpisyc170.png-wh_50

另外需要说明的一点是:从tftp的配置文件中发现tftp的根目录为/var/lib/tftpboot,所以安装DHCP服务器步骤(2)中filename "/pxelinux.0"文件就应放在/var/lib/tftpboot目录中

spacer.gifwKioL1egGZnS85BCAABgqQqvfCA251.png-wh_50

(4)查看TFTP所使用的69号端口是否正常监听

spacer.gifwKiom1egGZqzCK9-AAA-GOqRByw356.png-wh_50

3.安装http服务

(1)使用yum -y inistall httpd安装httpd服务

(2)使用service httpd start && chkconfig httpd on启动httpd服务并设置开机启动

(3)创建一个centos6目录,将光盘的内从再挂载到该目录,不管怎么弄,只要把安装光盘内容能让客户端通过web访问即可,它的作用是在ks.cfg文件中提供安装树的url指向,可以是http或NFS等

spacer.gifwKiom1egGZrzlOsUAAA1C9R8Mb8679.png-wh_50

(4)查看htppd服务器的80端口是否正常监听,服务是否正常

spacer.gifwKioL1egGZvhN_F-AABGCsM0PxQ510.png-wh_50

4.PXE配置引导

(1)前面所提到的pxelinux.0文件是在syslinux引导程序中,所以要先安装syslinux程序,yum -y install syslinux

(2)拷贝/var/www/html/centos6/images/pxeboot/目录下vmlinuz和initrd.img文件;/var/www/html/centos6/isolinux/目录下的boot.msg、vesamenu.c32、splash.jpg文件拷贝到tftp服务器根部录下/var/lib/tftpboot/,因为pxelinux.0文件代替了isolinux.bin,所以不用拷贝

(3)将pxelinux.0文件拷贝到ftfp服务器的根部录下 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 

spacer.gifwKioL1egGZvzzJocAAA24xUxsVc067.png-wh_50

(4)类似于isolinux.cfg给isolinux.bin提供配置文件一样,我们也需要给pxelinux.0提供一个配置文件,且配置文件需要放在/var/lib/tftpboot/pxelinux.cfg这个专门的目录中

spacer.gifwKiom1egGZugqm5SAAASPQBVEMM836.png-wh_50

(5)isolinux.cfg文件当模板,复制到/var/lib/tftpboot/pxelinux.cfg/default需要重命名为default。至此,启动环境已经完成 

spacer.gifwKiom1egGZzj_1RpAAAUMqqyEGM460.png-wh_50

5.第一次测试,新建一台服务器选择网卡启动,看到Client在获取到IP后能够进入安装界面,说明可以正常获取到TFTP上的启动文件,需要说明的此时他还会再自动获取一次IP地址,原因是此时不再是TFTP的阶段而是anaconda阶段,所以需要再次获取一次地址,在他的配置文件anaconda.cfg中能看到这点

spacer.gifwKioL1egGZyBC4QVAAA5rk9-v8Y873.png-wh_50

6.配置ks.cfg文件

(1)ks文件可以由system-config-kiskstart生成,推荐使用现有ks文件当模板,在管理员的家目录下有个anaconda-ks.cfg文件,可以用它来当模板

spacer.gifwKioL1egGZzz89n9AAAihZVTtJM217.png-wh_50

(2)拷贝anaconda.cfg文件至/var/www/html目录下重命名为ks.cfg,注意此处该文件的读取权限只有管理员有,而自动安装时获取这个文件是由apache发起,所以匹配的是apache用户权限,从而无法访问

spacer.gifwKiom1egGZ2TqGu1AAAvdM7rg0Q178.png-wh_50

(3)修改ks.cfg文件权限,让其他用户有读取权限

spacer.gifwKioL1egGZ3AhZk6AAAlDddHk18925.png-wh_50

(4)修改ks.cfg文件,将安装方式改为url并指定安装树位置和repo位置,并设置磁盘分区,管理员密码可使用grub-crypt方式加密后将字符串粘贴至此

spacer.gifwKiom1egGZ3jHPFSAACjgSfecrQ487.png-wh_50

(5)回到TFTP服务器在pxe的配置文件/var/lib/tftpboot/pxelinux.cfg/default内指明ks文件的路径,如果有多网卡还需要指明使用ks安装的网卡,不指定的话会在安装时让你手动指定,就达不到自动化安装的目的

spacer.gifwKioL1egGZ6Dd-aeAAAhly7REPQ927.png-wh_50

(6)再次测试,可以成功自动安装,至此,全部操作完成

spacer.gifwKiom1egGZ6CqXpuAAAqCDRUDvQ535.png-wh_50




一、场景介绍

当我们要部署大批量的服务器时,传统的光盘或U盘安装系统就不再适合,为了应对这种场景,PXE配合kickstart无人值守安装就是一种很好的方法。

1.什么是PXE

PXE是一种引导程序,分为client端和server端,首先,要进行自动化安装的服务器必须有一块支持PXE的网卡,即网卡的ROM中必须有PXE client。当计算机引导时,BIOS把PXE client与TFTP client调入内存(TFTP client也内置于网卡ROM中),并将远端的文件通过网络下载到本地运行,所以PEX引导的执行还需要能够给该服务器提供地址的DHCP服务和存放文件的TFTPserver。

2.什么事kickstart

kickstart是一种无人值守安装方式。他是将安装过程中需要人为交互输入的各种参数保存在一个ks.cfg的文件中,安装过程中遇到需要填写参数的时候会自动去找该文件获取参数,如果找不到,就会停在当前界面等待人工输入。

3.安装流程

计划部署2台服务器完成无人值守安装,拓扑图为:

spacer.gifwKiom1egGZbShv5KAAB-dC0pbMs142.png-wh_50

无人值守的安装流程为:

(l)ient端启动后,会在内网发广播请求地址

(2)DHCP服务器收到请求后会给Client端分配一个IP地址,并同时告诉Client端TFTP服务器的地址

(3)客户端从TFTP服务器获取启动文件,启动文件中包含自动应答文件ks.cfg的地址指向

(4)客户端根据自动应答文件中的参数设置和安装树位置指向进行安装

二、安装前期准备

1.按规划修改每台服务器的IP地址

spacer.gifwKioL1egGZaj0Np2AAAu4VkkJ5s177.png-wh_50

2.关闭服务器上的selinux,修改后并不会立即生效,建议重启操作系统

spacer.gifwKioL1egGZaT_0ZaAABkSWOBylQ341.png-wh_50

3.关闭防火墙,service iptables stop 否则Client端会报错,关闭!关闭!关闭!如果不想让iptables开机启动使用chkconfig iptables off

spacer.gifwKiom1egGZfgrLGjAAAduq7RCDo315.png-wh_50

4.插入光盘并挂在至/media目录下

spacer.gifwKiom1egGZfxEwI4AAATgObvEyg743.png-wh_50

5.使用rm -f $(ls . | grep -v 'Me')将/etc/yum.repo.d/目录下其他yum源删除,只保留CentOS-Media源,并修改url的位置。为什么要删除其他的yum源,因为指定cost为100后,它还是会找其他的yum源而不是Media这个,为了减少干扰就删除了,或者将其他yum源的enable改为0也行

spacer.gifwKioL1egGZfDbLexAAAeHTya01Y139.png-wh_50

三、安装步骤

1.安装DHCP服务器

(1)使用yum -y install dhcp安装dhcp服务

spacer.gifwKiom1egGZeBsHTqAAAcYUSAwRU865.png-wh_50

(2)编辑/etc/dhcp/dhcpd.conf文件,或者可以拷贝一个模板后,在模板基础上修改,命令为:

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf。此处需要说明的是:next-server就是TFTP服务器的地址;filename是告诉Client端引导文件是TFTP服务器根目录下一个叫pxelinux.0的文件,这2个参数都是Client端在想DHCP获取IP地址时,由DHCP一并发送给Client端的,pxelinux.0文件是获得IP地址后Client端第一个执行的文件,类似于MBR。

spacer.gifwKioL1egGZiA0dz2AABOX80nQbA286.png-wh_50

(3)在/etc/sysconfig/dhcpd中指定提供DHCP服务的网口,此处是eth0

spacer.gifwKiom1egGZigecejAAAZJWLWxNg263.png-wh_50

(4)启动dhcp服务,并设置开启自动启动

spacer.gifwKioL1egGZijIPzDAAAY3lDm_yM930.png-wh_50

(5)DHCP默认使用的是UDP协议,检查端口侦听是否正常

spacer.gifwKiom1egGZnD1s1vAAA_gVUnq38407.png-wh_50

2.安装TFTP服务器

(1)使用yum -y install tftp-server安装tftp服务器

(2)使用chkconfig tftp on ;chkconfig xinetd on 开启tftp和xinetd服务,从chkconfig --list中能看到tftp和xinetd服务已经开启。此处需要说明的是:xinetd服务是什么?我们知道,服务是常驻于内存中的进程,会消耗一定的系统资源,有一些服务可能偶尔会用到,所以一直开着对内存资源就是一种浪费,这种服务就统一由xinetd服务来代管,当需要用到此服务时,xinetd会唤醒相应服务,这样只需要启动一个xinetd服务,节省了内存资源

spacer.gifwKioL1egGZnQzOd2AABLsxpisyc170.png-wh_50

另外需要说明的一点是:从tftp的配置文件中发现tftp的根目录为/var/lib/tftpboot,所以安装DHCP服务器步骤(2)中filename "/pxelinux.0"文件就应放在/var/lib/tftpboot目录中

spacer.gifwKioL1egGZnS85BCAABgqQqvfCA251.png-wh_50

(4)查看TFTP所使用的69号端口是否正常监听

spacer.gifwKiom1egGZqzCK9-AAA-GOqRByw356.png-wh_50

3.安装http服务

(1)使用yum -y inistall httpd安装httpd服务

(2)使用service httpd start && chkconfig httpd on启动httpd服务并设置开机启动

(3)创建一个centos6目录,将光盘的内从再挂载到该目录,不管怎么弄,只要把安装光盘内容能让客户端通过web访问即可,它的作用是在ks.cfg文件中提供安装树的url指向,可以是http或NFS等

spacer.gifwKiom1egGZrzlOsUAAA1C9R8Mb8679.png-wh_50

(4)查看htppd服务器的80端口是否正常监听,服务是否正常

spacer.gifwKioL1egGZvhN_F-AABGCsM0PxQ510.png-wh_50

4.PXE配置引导

(1)前面所提到的pxelinux.0文件是在syslinux引导程序中,所以要先安装syslinux程序,yum -y install syslinux

(2)拷贝/var/www/html/centos6/images/pxeboot/目录下vmlinuz和initrd.img文件;/var/www/html/centos6/isolinux/目录下的boot.msg、vesamenu.c32、splash.jpg文件拷贝到tftp服务器根部录下/var/lib/tftpboot/,因为pxelinux.0文件代替了isolinux.bin,所以不用拷贝

(3)将pxelinux.0文件拷贝到ftfp服务器的根部录下 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 

spacer.gifwKioL1egGZvzzJocAAA24xUxsVc067.png-wh_50

(4)类似于isolinux.cfg给isolinux.bin提供配置文件一样,我们也需要给pxelinux.0提供一个配置文件,且配置文件需要放在/var/lib/tftpboot/pxelinux.cfg这个专门的目录中

spacer.gifwKiom1egGZugqm5SAAASPQBVEMM836.png-wh_50

(5)isolinux.cfg文件当模板,复制到/var/lib/tftpboot/pxelinux.cfg/default需要重命名为default。至此,启动环境已经完成 

spacer.gifwKiom1egGZzj_1RpAAAUMqqyEGM460.png-wh_50

5.第一次测试,新建一台服务器选择网卡启动,看到Client在获取到IP后能够进入安装界面,说明可以正常获取到TFTP上的启动文件,需要说明的此时他还会再自动获取一次IP地址,原因是此时不再是TFTP的阶段而是anaconda阶段,所以需要再次获取一次地址,在他的配置文件anaconda.cfg中能看到这点

spacer.gifwKioL1egGZyBC4QVAAA5rk9-v8Y873.png-wh_50

6.配置ks.cfg文件

(1)ks文件可以由system-config-kiskstart生成,推荐使用现有ks文件当模板,在管理员的家目录下有个anaconda-ks.cfg文件,可以用它来当模板

spacer.gifwKioL1egGZzz89n9AAAihZVTtJM217.png-wh_50

(2)拷贝anaconda.cfg文件至/var/www/html目录下重命名为ks.cfg,注意此处该文件的读取权限只有管理员有,而自动安装时获取这个文件是由apache发起,所以匹配的是apache用户权限,从而无法访问

spacer.gifwKiom1egGZ2TqGu1AAAvdM7rg0Q178.png-wh_50

(3)修改ks.cfg文件权限,让其他用户有读取权限

spacer.gifwKioL1egGZ3AhZk6AAAlDddHk18925.png-wh_50

(4)修改ks.cfg文件,将安装方式改为url并指定安装树位置和repo位置,并设置磁盘分区,管理员密码可使用grub-crypt方式加密后将字符串粘贴至此

spacer.gifwKiom1egGZ3jHPFSAACjgSfecrQ487.png-wh_50

(5)回到TFTP服务器在pxe的配置文件/var/lib/tftpboot/pxelinux.cfg/default内指明ks文件的路径,如果有多网卡还需要指明使用ks安装的网卡,不指定的话会在安装时让你手动指定,就达不到自动化安装的目的

spacer.gifwKioL1egGZ6Dd-aeAAAhly7REPQ927.png-wh_50

(6)再次测试,可以成功自动安装,至此,全部操作完成

spacer.gifwKiom1egGZ6CqXpuAAAqCDRUDvQ535.png-wh_50




一、场景介绍

当我们要部署大批量的服务器时,传统的光盘或U盘安装系统就不再适合,为了应对这种场景,PXE配合kickstart无人值守安装就是一种很好的方法。

1.什么是PXE

PXE是一种引导程序,分为client端和server端,首先,要进行自动化安装的服务器必须有一块支持PXE的网卡,即网卡的ROM中必须有PXE client。当计算机引导时,BIOS把PXE client与TFTP client调入内存(TFTP client也内置于网卡ROM中),并将远端的文件通过网络下载到本地运行,所以PEX引导的执行还需要能够给该服务器提供地址的DHCP服务和存放文件的TFTPserver。

2.什么事kickstart

kickstart是一种无人值守安装方式。他是将安装过程中需要人为交互输入的各种参数保存在一个ks.cfg的文件中,安装过程中遇到需要填写参数的时候会自动去找该文件获取参数,如果找不到,就会停在当前界面等待人工输入。

3.安装流程

计划部署2台服务器完成无人值守安装,拓扑图为:

spacer.gifwKiom1egGZbShv5KAAB-dC0pbMs142.png-wh_50

无人值守的安装流程为:

(l)ient端启动后,会在内网发广播请求地址

(2)DHCP服务器收到请求后会给Client端分配一个IP地址,并同时告诉Client端TFTP服务器的地址

(3)客户端从TFTP服务器获取启动文件,启动文件中包含自动应答文件ks.cfg的地址指向

(4)客户端根据自动应答文件中的参数设置和安装树位置指向进行安装

二、安装前期准备

1.按规划修改每台服务器的IP地址

spacer.gifwKioL1egGZaj0Np2AAAu4VkkJ5s177.png-wh_50

2.关闭服务器上的selinux,修改后并不会立即生效,建议重启操作系统

spacer.gifwKioL1egGZaT_0ZaAABkSWOBylQ341.png-wh_50

3.关闭防火墙,service iptables stop 否则Client端会报错,关闭!关闭!关闭!如果不想让iptables开机启动使用chkconfig iptables off

spacer.gifwKiom1egGZfgrLGjAAAduq7RCDo315.png-wh_50

4.插入光盘并挂在至/media目录下

spacer.gifwKiom1egGZfxEwI4AAATgObvEyg743.png-wh_50

5.使用rm -f $(ls . | grep -v 'Me')将/etc/yum.repo.d/目录下其他yum源删除,只保留CentOS-Media源,并修改url的位置。为什么要删除其他的yum源,因为指定cost为100后,它还是会找其他的yum源而不是Media这个,为了减少干扰就删除了,或者将其他yum源的enable改为0也行

spacer.gifwKioL1egGZfDbLexAAAeHTya01Y139.png-wh_50

三、安装步骤

1.安装DHCP服务器

(1)使用yum -y install dhcp安装dhcp服务

spacer.gifwKiom1egGZeBsHTqAAAcYUSAwRU865.png-wh_50

(2)编辑/etc/dhcp/dhcpd.conf文件,或者可以拷贝一个模板后,在模板基础上修改,命令为:

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf。此处需要说明的是:next-server就是TFTP服务器的地址;filename是告诉Client端引导文件是TFTP服务器根目录下一个叫pxelinux.0的文件,这2个参数都是Client端在想DHCP获取IP地址时,由DHCP一并发送给Client端的,pxelinux.0文件是获得IP地址后Client端第一个执行的文件,类似于MBR。

spacer.gifwKioL1egGZiA0dz2AABOX80nQbA286.png-wh_50

(3)在/etc/sysconfig/dhcpd中指定提供DHCP服务的网口,此处是eth0

spacer.gifwKiom1egGZigecejAAAZJWLWxNg263.png-wh_50

(4)启动dhcp服务,并设置开启自动启动

spacer.gifwKioL1egGZijIPzDAAAY3lDm_yM930.png-wh_50

(5)DHCP默认使用的是UDP协议,检查端口侦听是否正常

spacer.gifwKiom1egGZnD1s1vAAA_gVUnq38407.png-wh_50

2.安装TFTP服务器

(1)使用yum -y install tftp-server安装tftp服务器

(2)使用chkconfig tftp on ;chkconfig xinetd on 开启tftp和xinetd服务,从chkconfig --list中能看到tftp和xinetd服务已经开启。此处需要说明的是:xinetd服务是什么?我们知道,服务是常驻于内存中的进程,会消耗一定的系统资源,有一些服务可能偶尔会用到,所以一直开着对内存资源就是一种浪费,这种服务就统一由xinetd服务来代管,当需要用到此服务时,xinetd会唤醒相应服务,这样只需要启动一个xinetd服务,节省了内存资源

spacer.gifwKioL1egGZnQzOd2AABLsxpisyc170.png-wh_50

另外需要说明的一点是:从tftp的配置文件中发现tftp的根目录为/var/lib/tftpboot,所以安装DHCP服务器步骤(2)中filename "/pxelinux.0"文件就应放在/var/lib/tftpboot目录中

spacer.gifwKioL1egGZnS85BCAABgqQqvfCA251.png-wh_50

(4)查看TFTP所使用的69号端口是否正常监听

spacer.gifwKiom1egGZqzCK9-AAA-GOqRByw356.png-wh_50

3.安装http服务

(1)使用yum -y inistall httpd安装httpd服务

(2)使用service httpd start && chkconfig httpd on启动httpd服务并设置开机启动

(3)创建一个centos6目录,将光盘的内从再挂载到该目录,不管怎么弄,只要把安装光盘内容能让客户端通过web访问即可,它的作用是在ks.cfg文件中提供安装树的url指向,可以是http或NFS等

spacer.gifwKiom1egGZrzlOsUAAA1C9R8Mb8679.png-wh_50

(4)查看htppd服务器的80端口是否正常监听,服务是否正常

spacer.gifwKioL1egGZvhN_F-AABGCsM0PxQ510.png-wh_50

4.PXE配置引导

(1)前面所提到的pxelinux.0文件是在syslinux引导程序中,所以要先安装syslinux程序,yum -y install syslinux

(2)拷贝/var/www/html/centos6/images/pxeboot/目录下vmlinuz和initrd.img文件;/var/www/html/centos6/isolinux/目录下的boot.msg、vesamenu.c32、splash.jpg文件拷贝到tftp服务器根部录下/var/lib/tftpboot/,因为pxelinux.0文件代替了isolinux.bin,所以不用拷贝

(3)将pxelinux.0文件拷贝到ftfp服务器的根部录下 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 

spacer.gifwKioL1egGZvzzJocAAA24xUxsVc067.png-wh_50

(4)类似于isolinux.cfg给isolinux.bin提供配置文件一样,我们也需要给pxelinux.0提供一个配置文件,且配置文件需要放在/var/lib/tftpboot/pxelinux.cfg这个专门的目录中

spacer.gifwKiom1egGZugqm5SAAASPQBVEMM836.png-wh_50

(5)isolinux.cfg文件当模板,复制到/var/lib/tftpboot/pxelinux.cfg/default需要重命名为default。至此,启动环境已经完成 

spacer.gifwKiom1egGZzj_1RpAAAUMqqyEGM460.png-wh_50

5.第一次测试,新建一台服务器选择网卡启动,看到Client在获取到IP后能够进入安装界面,说明可以正常获取到TFTP上的启动文件,需要说明的此时他还会再自动获取一次IP地址,原因是此时不再是TFTP的阶段而是anaconda阶段,所以需要再次获取一次地址,在他的配置文件anaconda.cfg中能看到这点

spacer.gifwKioL1egGZyBC4QVAAA5rk9-v8Y873.png-wh_50

6.配置ks.cfg文件

(1)ks文件可以由system-config-kiskstart生成,推荐使用现有ks文件当模板,在管理员的家目录下有个anaconda-ks.cfg文件,可以用它来当模板

spacer.gifwKioL1egGZzz89n9AAAihZVTtJM217.png-wh_50

(2)拷贝anaconda.cfg文件至/var/www/html目录下重命名为ks.cfg,注意此处该文件的读取权限只有管理员有,而自动安装时获取这个文件是由apache发起,所以匹配的是apache用户权限,从而无法访问

spacer.gifwKiom1egGZ2TqGu1AAAvdM7rg0Q178.png-wh_50

(3)修改ks.cfg文件权限,让其他用户有读取权限

spacer.gifwKioL1egGZ3AhZk6AAAlDddHk18925.png-wh_50

(4)修改ks.cfg文件,将安装方式改为url并指定安装树位置和repo位置,并设置磁盘分区,管理员密码可使用grub-crypt方式加密后将字符串粘贴至此

spacer.gifwKiom1egGZ3jHPFSAACjgSfecrQ487.png-wh_50

(5)回到TFTP服务器在pxe的配置文件/var/lib/tftpboot/pxelinux.cfg/default内指明ks文件的路径,如果有多网卡还需要指明使用ks安装的网卡,不指定的话会在安装时让你手动指定,就达不到自动化安装的目的

spacer.gifwKioL1egGZ6Dd-aeAAAhly7REPQ927.png-wh_50

(6)再次测试,可以成功自动安装,至此,全部操作完成

spacer.gifwKiom1egGZ6CqXpuAAAqCDRUDvQ535.png-wh_50

一、场景介绍

当我们要部署大批量的服务器时,传统的光盘或U盘安装系统就不再适合,为了应对这种场景,PXE配合kickstart无人值守安装就是一种很好的方法。

1.什么是PXE

PXE是一种引导程序,分为client端和server端,首先,要进行自动化安装的服务器必须有一块支持PXE的网卡,即网卡的ROM中必须有PXE client。当计算机引导时,BIOS把PXE client与TFTP client调入内存(TFTP client也内置于网卡ROM中),并将远端的文件通过网络下载到本地运行,所以PEX引导的执行还需要能够给该服务器提供地址的DHCP服务和存放文件的TFTPserver。

2.什么事kickstart

kickstart是一种无人值守安装方式。他是将安装过程中需要人为交互输入的各种参数保存在一个ks.cfg的文件中,安装过程中遇到需要填写参数的时候会自动去找该文件获取参数,如果找不到,就会停在当前界面等待人工输入。

3.安装流程

计划部署2台服务器完成无人值守安装,拓扑图为:

spacer.gifwKiom1egGZbShv5KAAB-dC0pbMs142.png-wh_50

无人值守的安装流程为:

(l)ient端启动后,会在内网发广播请求地址

(2)DHCP服务器收到请求后会给Client端分配一个IP地址,并同时告诉Client端TFTP服务器的地址

(3)客户端从TFTP服务器获取启动文件,启动文件中包含自动应答文件ks.cfg的地址指向

(4)客户端根据自动应答文件中的参数设置和安装树位置指向进行安装

二、安装前期准备

1.按规划修改每台服务器的IP地址

spacer.gifwKioL1egGZaj0Np2AAAu4VkkJ5s177.png-wh_50

2.关闭服务器上的selinux,修改后并不会立即生效,建议重启操作系统

spacer.gifwKioL1egGZaT_0ZaAABkSWOBylQ341.png-wh_50

3.关闭防火墙,service iptables stop 否则Client端会报错,关闭!关闭!关闭!如果不想让iptables开机启动使用chkconfig iptables off

spacer.gifwKiom1egGZfgrLGjAAAduq7RCDo315.png-wh_50

4.插入光盘并挂在至/media目录下

spacer.gifwKiom1egGZfxEwI4AAATgObvEyg743.png-wh_50

5.使用rm -f $(ls . | grep -v 'Me')将/etc/yum.repo.d/目录下其他yum源删除,只保留CentOS-Media源,并修改url的位置。为什么要删除其他的yum源,因为指定cost为100后,它还是会找其他的yum源而不是Media这个,为了减少干扰就删除了,或者将其他yum源的enable改为0也行

spacer.gifwKioL1egGZfDbLexAAAeHTya01Y139.png-wh_50

三、安装步骤

1.安装DHCP服务器

(1)使用yum -y install dhcp安装dhcp服务

spacer.gifwKiom1egGZeBsHTqAAAcYUSAwRU865.png-wh_50

(2)编辑/etc/dhcp/dhcpd.conf文件,或者可以拷贝一个模板后,在模板基础上修改,命令为:

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf。此处需要说明的是:next-server就是TFTP服务器的地址;filename是告诉Client端引导文件是TFTP服务器根目录下一个叫pxelinux.0的文件,这2个参数都是Client端在想DHCP获取IP地址时,由DHCP一并发送给Client端的,pxelinux.0文件是获得IP地址后Client端第一个执行的文件,类似于MBR。

spacer.gifwKioL1egGZiA0dz2AABOX80nQbA286.png-wh_50

(3)在/etc/sysconfig/dhcpd中指定提供DHCP服务的网口,此处是eth0

spacer.gifwKiom1egGZigecejAAAZJWLWxNg263.png-wh_50

(4)启动dhcp服务,并设置开启自动启动

spacer.gifwKioL1egGZijIPzDAAAY3lDm_yM930.png-wh_50

(5)DHCP默认使用的是UDP协议,检查端口侦听是否正常

spacer.gifwKiom1egGZnD1s1vAAA_gVUnq38407.png-wh_50

2.安装TFTP服务器

(1)使用yum -y install tftp-server安装tftp服务器

(2)使用chkconfig tftp on ;chkconfig xinetd on 开启tftp和xinetd服务,从chkconfig --list中能看到tftp和xinetd服务已经开启。此处需要说明的是:xinetd服务是什么?我们知道,服务是常驻于内存中的进程,会消耗一定的系统资源,有一些服务可能偶尔会用到,所以一直开着对内存资源就是一种浪费,这种服务就统一由xinetd服务来代管,当需要用到此服务时,xinetd会唤醒相应服务,这样只需要启动一个xinetd服务,节省了内存资源

spacer.gifwKioL1egGZnQzOd2AABLsxpisyc170.png-wh_50

另外需要说明的一点是:从tftp的配置文件中发现tftp的根目录为/var/lib/tftpboot,所以安装DHCP服务器步骤(2)中filename "/pxelinux.0"文件就应放在/var/lib/tftpboot目录中

spacer.gifwKioL1egGZnS85BCAABgqQqvfCA251.png-wh_50

(4)查看TFTP所使用的69号端口是否正常监听

spacer.gifwKiom1egGZqzCK9-AAA-GOqRByw356.png-wh_50

3.安装http服务

(1)使用yum -y inistall httpd安装httpd服务

(2)使用service httpd start && chkconfig httpd on启动httpd服务并设置开机启动

(3)创建一个centos6目录,将光盘的内从再挂载到该目录,不管怎么弄,只要把安装光盘内容能让客户端通过web访问即可,它的作用是在ks.cfg文件中提供安装树的url指向,可以是http或NFS等

spacer.gifwKiom1egGZrzlOsUAAA1C9R8Mb8679.png-wh_50

(4)查看htppd服务器的80端口是否正常监听,服务是否正常

spacer.gifwKioL1egGZvhN_F-AABGCsM0PxQ510.png-wh_50

4.PXE配置引导

(1)前面所提到的pxelinux.0文件是在syslinux引导程序中,所以要先安装syslinux程序,yum -y install syslinux

(2)拷贝/var/www/html/centos6/images/pxeboot/目录下vmlinuz和initrd.img文件;/var/www/html/centos6/isolinux/目录下的boot.msg、vesamenu.c32、splash.jpg文件拷贝到tftp服务器根部录下/var/lib/tftpboot/,因为pxelinux.0文件代替了isolinux.bin,所以不用拷贝

(3)将pxelinux.0文件拷贝到ftfp服务器的根部录下 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 

spacer.gifwKioL1egGZvzzJocAAA24xUxsVc067.png-wh_50

(4)类似于isolinux.cfg给isolinux.bin提供配置文件一样,我们也需要给pxelinux.0提供一个配置文件,且配置文件需要放在/var/lib/tftpboot/pxelinux.cfg这个专门的目录中

spacer.gifwKiom1egGZugqm5SAAASPQBVEMM836.png-wh_50

(5)isolinux.cfg文件当模板,复制到/var/lib/tftpboot/pxelinux.cfg/default需要重命名为default。至此,启动环境已经完成 

spacer.gifwKiom1egGZzj_1RpAAAUMqqyEGM460.png-wh_50

5.第一次测试,新建一台服务器选择网卡启动,看到Client在获取到IP后能够进入安装界面,说明可以正常获取到TFTP上的启动文件,需要说明的此时他还会再自动获取一次IP地址,原因是此时不再是TFTP的阶段而是anaconda阶段,所以需要再次获取一次地址,在他的配置文件anaconda.cfg中能看到这点

spacer.gifwKioL1egGZyBC4QVAAA5rk9-v8Y873.png-wh_50

6.配置ks.cfg文件

(1)ks文件可以由system-config-kiskstart生成,推荐使用现有ks文件当模板,在管理员的家目录下有个anaconda-ks.cfg文件,可以用它来当模板

spacer.gifwKioL1egGZzz89n9AAAihZVTtJM217.png-wh_50

(2)拷贝anaconda.cfg文件至/var/www/html目录下重命名为ks.cfg,注意此处该文件的读取权限只有管理员有,而自动安装时获取这个文件是由apache发起,所以匹配的是apache用户权限,从而无法访问

spacer.gifwKiom1egGZ2TqGu1AAAvdM7rg0Q178.png-wh_50

(3)修改ks.cfg文件权限,让其他用户有读取权限

spacer.gifwKioL1egGZ3AhZk6AAAlDddHk18925.png-wh_50

(4)修改ks.cfg文件,将安装方式改为url并指定安装树位置和repo位置,并设置磁盘分区,管理员密码可使用grub-crypt方式加密后将字符串粘贴至此

spacer.gifwKiom1egGZ3jHPFSAACjgSfecrQ487.png-wh_50

(5)回到TFTP服务器在pxe的配置文件/var/lib/tftpboot/pxelinux.cfg/default内指明ks文件的路径,如果有多网卡还需要指明使用ks安装的网卡,不指定的话会在安装时让你手动指定,就达不到自动化安装的目的

spacer.gifwKioL1egGZ6Dd-aeAAAhly7REPQ927.png-wh_50

(6)再次测试,可以成功自动安装,至此,全部操作完成

spacer.gifwKiom1egGZ6CqXpuAAAqCDRUDvQ535.png-wh_50



本文转自 qiao645 51CTO博客,原文链接:http://blog.51cto.com/arkling/1833444


相关文章
|
2天前
|
Linux
centos 6.5安装yum
centos 6.5安装yum
14 0
|
2天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置PXE服务
PXE是Intel开发的预启动执行环境,允许工作站通过网络从远程服务器启动操作系统。它依赖DHCP分配IP,DNS服务分配主机名,TFTP提供引导程序,HTTP/FTP/NFS提供安装源。要部署PXE服务器,需关闭selinux和防火墙,安装dhcpd、httpd、tftp、xinetd及相关服务,配置引导文件和Centos7安装源。最后,通过syslinux安装引导文件,并创建pxelinux.cfg/default配置文件来定义启动参数。
7 0
|
2天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置postfix服务
安装CentOS7的Postfix和Dovecot,配置Postfix的`main.cf`文件,包括修改完全域名、允许所有IP、启用邮箱等。然后,配置Dovecot的多个配置文件以启用auth服务和调整相关设置。重启Postfix和Dovecot,设置开机自启,并关闭防火墙进行测试。最后,创建邮箱账户并在Windows邮箱客户端中添加账户设置。
9 0
|
2天前
|
Linux 网络安全
Centos6.5安装并配置NFS服务
该内容描述了在Linux系统中设置NFS服务的步骤。首先挂载yum源,然后安装NFS服务,并编辑配置文件。接着,重启rpcbind和NFS服务,可能需要重复此过程以解决初始可能出现的问题。此外,关闭防火墙策略,并再次重启服务。最终,根目录被共享,特定IP网段被允许访问。
9 0
|
3天前
|
存储 Linux 网络安全
centos7使用yum网络安装
这些是使用Yum进行网络安装的基本步骤。根据你的需求,你可以重复步骤3和4来安装其他软件包。请注意,执行Yum操作需要root或具有sudo权限的用户。
15 1
|
7月前
|
网络协议 Linux 应用服务中间件
2022红帽企业版网络配置--centos7配置DHCP DNS绑定域名 FTP HTTP(apache) nginx samba
2022红帽企业版网络配置--centos7配置DHCP DNS绑定域名 FTP HTTP(apache) nginx samba
151 0
|
8天前
|
域名解析 网络协议 Linux
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
|
9天前
|
网络协议
DHCP实验-动态主机配置协议
DHCP实验-动态主机配置协议
|
1月前
|
负载均衡 监控 网络虚拟化
华为配置DHCP Snooping防止DHCP Server仿冒者攻击示例
企业有三台FTP服务器Server1、Server2和Server3,且这三台服务器的硬件性能顺次降低,Server1性能是Server2的两倍、Server2性能是Server3的两倍。通过配置负载均衡,让这三台服务器联合对外提供FTP服务,且三台服务器承载业务的多少与服务器硬件性能的高低匹配。通过配置健康检测实时监控这三台服务器是否可达。