用PXE引导调用kickstart安装CentOS 5

简介: PXE引导启动优点:客户端不需要任何外设支持,无需光驱和U盘,只要网卡支持PXE启动就行。
PXE 引导启动优点:
客户端不需要任何外设支持,无需光驱和U盘,只要网卡支持PXE启动就行。
合适多种自动应答的安装,如有A,B,C三种配置,只需PXE引导后指定A或B或C配置就行。实现了无外设的全自动无人值守安装。
安装机器的台数无限制,可以同时进行多台机器的基于不同配置的安装。
 
工作流程:
客户端设置从PXE引导后,从DHCP服务器上获取到IP和下一跳TFTP服务器地址,然后从TFTP上加载initr.img 和vmlinuz引导文件引导系统,最后指定从HTTP或者FTP上获取安装文件进行安装。PXEàDHCPàTFTPà kickstart àHTTP/FTP
 
服务器端配置:
服务器端要配置DHCP,TFTP,HTTP/FTP三种服务
DHCP为PXE客户端分发IP地址,TFTP为客户端提供引导文件,HTTP/FTP为客户端提供安装源文件。
需要安装的包:
dhcp.i386 tftp-server.i386 syslinux.i386 httpd.i386
 
配置 DHCP 服务器:
 
在/etc目录下新建dhcpd.conf 文件,或者从/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample CP一份到/etc目录中。
主要参数:
range dynamic-bootp 是PXE启动后获得的IP地址。
next-server 是PXE启动获得IP后下一跳的地址,也就是TFTP服务器地址。
filename 是启动文件。
内容如下:
-------------------------------------内容--------------------------------------------
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 192.168.40.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.40.254;
option subnet-mask 255.255.255.0;
# option nis-domain "domain.org";
# option domain-name "domain.org";
option domain-name-servers 192.168.40.254;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.40.13 192.168.40.15;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.40.163;
filename "pxelinux.0";
# we want the nameserver to appear at a fixed address
# host ns {
# next-server marvin.redhat.com;
# hardware ethernet 12:34:56:78:AB:CD;
# fixed-address 207.175.42.254;
# }
}
 
 
配置 tftp 服务器
 
vi /etc/xinetd.d/tftp
disable = no 将disable项改为NO。
复制内核启动文件到tftp目录:
cp /usr/lib/syslinux/pxelinux.0   /tftpboot/
将CentOS5.2光盘 /media/image/pxeboot/ 目录中的initr.img 和vmlinuz 两个文件复制到/tftpboot/目录中。
将 CentOS5.2光盘 /media/isolinux/ 下*.msg 文件复制到/tftpboot/ 目录中
在/tftpboot/目录中新建pxelinux.cfg 目录。将光盘/media/isolinux/isolinux.cfg 文件复制到/tftpboot/pxelinux.cfg目录中并改名为default.cfg
命令如下:
#cp /usr/lib/syslinux/pxelinux.0   /tftpboot/
#cp /media/image/pxeboot/initr.img  /tftpboot/
#cp /media/image/pxeboot/vmlinuz    /tftpboot/
#cp /media/isolinux/*.msg       /tftpboot/
#mkdir /tftpboot/pxelinux.cfg
#cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
 
 
配置无人值守安装:
 
1编辑boot启动界面,加入自定义安装项。
[root@PXE /]# vi /tftpboot/boot.msg
^Xsplash.lss
- To install or upgrade in graphical mode, press the ^O0b<ENTER>^O07 key.
- To install or upgrade in text mode, type: ^O0blinux text <ENTER>^O07.
- To Auto Install ^O0bCentOS5.2 Linux^O07, type:^O0blinux autoinstall <ENTER>^O07.
- To Auto Install ^O0bCentOS5.2 sn01^O07, type:^O0blinux sn01 <ENTER>^O07.
- To Auto Install ^O0bCentOS5.2 sn02^O07, type:^O0blinux sn02 <ENTER>^O07.
- To Auto Install ^O0bCentOS5.2 sn03^O07, type:^O0blinux sn03 <ENTER>^O07.
- Use the function keys listed below for more information.
^O0f[F1-Main] [F2-Options] [F3-General] [F4-Kernel] [F5-Rescue]^O07
红颜色的是我加入的自定义安装项,autoinstall sn01 sn02 sn03
2编辑启动配置文件:添加自定义安装项标签和命令。
[root@PXE /]# vim /tftpboot/pxelinux.cfg/default
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append -
label autoinstall
kernel vmlinuz
append ks=http://192.168.40.163/ks/ks228.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb
label sn01
kernel vmlinuz
append ks=http://192.168.40.163/ks/ks01.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb
label sn02
kernel vmlinuz
append ks=http://192.168.40.163/ks/ks02.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb
label sn03
kernel vmlinuz
append ks=http://192.168.40.163/ks/ks03.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb
红颜色的是我自己加的自定义项,分别指向的是HTTP服务器上的自动应答文件,
当在BOOT界面中输入自定义安装项时,会自动调用HTTP上的自动应答文件,实现了全自动的无人值守安装。
 
 
客户端配置:
启动机器设置成PXE启动,然后指定要使用的安装项就可以了。
最好不要将PXE设置成第一启动,要不然每次启动都装一次系统, 应该是启动时手动指定一下从PXE启动就行了,DELL服务器PXE启动为F12键 。
首先客户端会向DHCP申请IP。
clip_image002
DHCP回应,客户端连接到TFTP服务器上读取启动文件,加载/tftpboot/boot.msg 和 /tftpboot/pxelinux.cfg/default 文件,可以看到写进去的自定义安装项。
比如要使用服务器上KS02.cfg这个自动应答文件,
只需在BOOT:输入SN03 回车就开始自动安装了。
clip_image004
目录
相关文章
|
27天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
101 3
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
84 2
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
136 2
|
1月前
|
存储 安全 Linux
VMware安装CentOS7
【11月更文挑战第11天】本文详细介绍了在 VMware 中安装 CentOS 7 的步骤,包括准备工作、创建虚拟机、配置虚拟机硬件和安装 CentOS 7。具体步骤涵盖下载 CentOS 7 镜像文件、安装 VMware 软件、创建和配置虚拟机硬件、启动虚拟机并进行安装设置,最终完成 CentOS 7 的安装。在安装过程中,需注意合理设置磁盘分区、软件选择和网络配置,以确保系统的性能和功能满足需求。
190 0
|
7月前
|
缓存 关系型数据库 MySQL
百度搜索:蓝易云【CentOS8服务器安装MySQL报错:no match mysql-community-server】
现在,你已经成功安装了MySQL服务器并解决了"no match mysql-community-server"的报错问题。祝你使用愉快!
106 1
|
6月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
818 4
|
2月前
|
缓存 Linux 编译器
【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
通过上述步骤,您应该能够在CentOS环境中成功安装并使用log4cplus日志组件。面对任何安装或使用过程中出现的问题,仔细检查错误信息,对照提供的解决方案进行调整,通常都能找到合适的解决之道。log4cplus的强大功能将为您的项目提供灵活、高效的日志管理方案,助力软件开发与维护。
68 0
下一篇
DataWorks