pxe批量部署linux介绍

1、PXE批量部署的作用及必要性:

xml 复制代码
	1)智能实现操作系统的批量安装(无人值守安装)
	2)减少管理员工作,提高工作效率
	3)可以定制操作系统的安装流程
	   a.标准流程定制(ks.cfg)
	   b.自定义流程定制(ks.cfg(%post))

2、通过dhcp+tftp+nfs/http/ftp+kickstart(ks.cfg)+DNS

xml 复制代码
1、客户机可以通过服务端dhcp在获取IP地址,并且dhcpd服务器会告诉客户端tftp服务器IP地址。
2、pxe客户端会从tftp服务器上下载pxelinux.0操作系统和这个操作系统对应的配置文件(default)至本机,在本机上运行pxelinux.0这个操作系统,这个操作系统会加载自己的配置文件:default.
   default加载后会弹出一个安装系统选择界面,让用户去选择要安装哪个操作系统
   tftp的作用是实现安装文件UDP快速传输
3、启动第三个临时系统(vmlinuz/initrd.img),构造安装之前一个临时系统环境,在这里会重新获取IP地址,并且会读取ks.cfg这个配置文件
4、nfs/http/ftp用来导出红帽系统安装目录树
5、根据ks.cfg来自动完成操作系统的安装

1.配置dhcp|tftp|http|vsftp服务器

(1) dhcp配置

bash 复制代码
yum -y install dhcp
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
bash 复制代码
vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option domain-name-servers 192.168.0.252;
option domain-name "uplooking.com";


subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.10 192.168.0.200;
        option routers 192.168.0.254;
        next-server 192.168.0.252;      <----------   找到tftp服务器地址
        filename "pxelinux.0";
}
bash 复制代码
service dhcpd start
chkconfig dhcpd on

(2)vsftp、httpd配置

bash 复制代码
yum -y install vsftpd httpd
mkdir /var/ftp/pub/rhel6.10
service vsftpd start
chkconfig vsftpd on

挂载镜像

bash 复制代码
vim /etc/fstab
/var/ftp/pub/rhel6.3-dvd.iso    /var/ftp/pub/rhel6.3      iso9660     loop     0    0

httpd配置

bash 复制代码
yum -y install httpd 
service httpd start
chkconfig httpd on

(3)tftp服务器配置

bash 复制代码
yum -y install tftp-server

vim /etc/xinetd.d/tftp

修改 server_args       = -s /pxe/tftpboot
bash 复制代码
chkconfig tftp on
service xinetd restart
netstat -unlp |grep :69
udp        0      0 0.0.0.0:69                  0.0.0.0:*                   11007/xinetd  

2.新建并拷贝tftp所需发布的文件

bash 复制代码
mkdir -p /pxe/tftpboot
mkdir /pxe/tftpboot/pxelinux.cfg
mkdir /pxe/tftpboot/rhel6.3
yum -y install syslinux
bash 复制代码
cd   /var/ftp/pub/rhel6.3/isolinux/
cp vmlinuz initrd.img   /pxe/tftpboot/rhel6.3  <-------- 复制临时操作系统到tftp共享目录
cp isolinux.cfg    /pxe/tftpboot/pxelinux.cfg/default	<--------从光盘中复制pxe操作系统的配置文件及相关文件
cp boot.msg splash.jpg    /pxe/tftpboot/
cp /usr/share/syslinux/pxelinux.0   /pxe/tftpboot/		<------把PXE的操作系统存放至tftp共享目录
cp  /usr/share/syslinux/vesamenu.c32   /pxe/tftpboot

3.生成ks.cfg和pxelinux的配置文件(default)

bash 复制代码
yum -y install  system-config-kickstart	

#在图形界面下使用system-config-kickstart并保存为ks.cfg到/var/ftp/pub/ks/里

配置default

bash 复制代码
vim /var/lib/tftpboot/pxelinux.cfg/default

default local
prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to Red Hat Enterprise Linux 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 manual
  menu label ^Install or upgrade an existing system
  menu default
  kernel rhel6.4/vmlinuz
  append initrd=rhel6.4/initrd.img

label auto
  menu label ^Install or upgrade an existing system
  menu default
  kernel rhel6.4/vmlinuz
  append initrd=rhel6.4/initrd.img ks=ftp://192.168.0.252/pub/ks/ks.cfg

label local
  menu label Boot from ^local drive
  localboot 0xffff
相关推荐
JunLan~2 小时前
Rocky Linux 系统安装/部署 Docker
linux·docker·容器
方竞3 小时前
Linux空口抓包方法
linux·空口抓包
sun0077003 小时前
ubuntu dpkg 删除安装包
运维·服务器·ubuntu
海岛日记3 小时前
centos一键卸载docker脚本
linux·docker·centos
oi774 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器
AttackingLin4 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python
吃肉不能购5 小时前
Label-studio-ml-backend 和YOLOV8 YOLO11自动化标注,目标检测,实例分割,图像分类,关键点估计,视频跟踪
运维·yolo·自动化
学Linux的语莫5 小时前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible